diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal b/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal index dcb3197d4..42cbaf2e2 100644 --- a/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal +++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 1000 4 10000000000 2 3 bytecblock 0x 0x61 0x62 0x67 0x70 0x72 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json index 7dc619a18..3c1d3ae24 100644 --- a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json +++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc32.json @@ -80,7 +80,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgMTAwMCA0IDEwMDAwMDAwMDAwIDIgMwpieXRlY2Jsb2NrIDB4IDB4NjEgMHg2MiAweDY3IDB4NzAgMHg3MgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjIwCgkvLyB0aGlzLmdvdmVybm9yLnZhbHVlID0gdGhpcy50eG4uc2VuZGVyCglieXRlYyAzIC8vICAiZyIKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGRvQ3JlYXRlUG9vbFRva2VuKGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApkb0NyZWF0ZVBvb2xUb2tlbjoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ0RQVC0nICsgYUFzc2V0LnVuaXROYW1lICsgJy0nICsgYkFzc2V0LnVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ2RwdCcsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiBUT1RBTF9TVVBQTFksCgkvLyAgICAgICBjb25maWdBc3NldERlY2ltYWxzOiAzLAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyA2IC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE5hbWU6ICdEUFQtJyArIGFBc3NldC51bml0TmFtZSArICctJyArIGJBc3NldC51bml0TmFtZQoJcHVzaGJ5dGVzIDB4NDQ1MDU0MmQgLy8gIkRQVC0iCglmcmFtZV9kaWcgLTEgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKCXBvcAoJY29uY2F0CglwdXNoYnl0ZXMgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglwdXNoYnl0ZXMgMHg2NDcwNzQgLy8gImRwdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyOQoJLy8gY29uZmlnQXNzZXRUb3RhbDogVE9UQUxfU1VQUExZCglpbnRjIDQgLy8gMTAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMAoJLy8gY29uZmlnQXNzZXREZWNpbWFsczogMwoJaW50YyA2IC8vIDMKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWNpbWFscwoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMQoJLy8gY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyBkb0F4ZmVyKHJlY2VpdmVyOiBBZGRyZXNzLCBhc3NldDogQXNzZXRJRCwgYW1vdW50OiB1aW50NjQpOiB2b2lkCmRvQXhmZXI6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzcKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiBhbW91bnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDIgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglpbnRjIDIgLy8gMTAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9CdXJuKGlzc3VlZDogdWludDY0LCBzdXBwbHk6IHVpbnQ2NCwgYW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9CdXJuOgoJcHJvdG8gMyAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjY5CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtzdXBwbHksIGFtb3VudF0sIFtpc3N1ZWRdKTsKCWZyYW1lX2RpZyAtMiAvLyBzdXBwbHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGlzc3VlZDogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb1N3YXAoaW5BbW91bnQ6IHVpbnQ2NCwgaW5TdXBwbHk6IHVpbnQ2NCwgb3V0U3VwcGx5OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9Td2FwOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzMKCS8vIGZhY3RvciA9IFNDQUxFIC0gRkVFCglwdXNoaW50IDk5NQoJZnJhbWVfYnVyeSAwIC8vIGZhY3RvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjc0CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtpbkFtb3VudCwgZmFjdG9yLCBvdXRTdXBwbHldLCBbaW5TdXBwbHkgKiBTQ0FMRSArIGluQW1vdW50ICogZmFjdG9yXSk7CglmcmFtZV9kaWcgLTEgLy8gaW5BbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAtMyAvLyBvdXRTdXBwbHk6IHVpbnQ2NAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBpblN1cHBseTogdWludDY0CglpbnRjIDIgLy8gMTAwMAoJKgoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgkqCgkrCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfc2V0X2dvdmVybm9yOgoJLy8gZ292ZXJub3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglwdXNoaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJnIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmdvdmVybm9yLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OQoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IGdvdmVybm9yCglieXRlYyAzIC8vICAiZyIKCWZyYW1lX2RpZyAtMSAvLyBnb3Zlcm5vcjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYm9vdHN0cmFwKHBheSx1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHNlZWQpIGZvciBib290c3RyYXAgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJvb3RzdHJhcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb3RzdHJhcChzZWVkOiBQYXlUeG4sIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApib290c3RyYXA6Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODMKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmdvdmVybm9yLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludGMgNSAvLyAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJcHVzaGludCAzMDBfMDAwCgk+PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic2VlZCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PTMwMF8wMDAifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoYUFzc2V0IDwgYkFzc2V0KQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkwCgkvLyB0aGlzLmFzc2V0QS52YWx1ZSA9IGFBc3NldAoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGVjIDIgLy8gICJiIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTIKCS8vIHRoaXMucG9vbFRva2VuLnZhbHVlID0gdGhpcy5kb0NyZWF0ZVBvb2xUb2tlbihhQXNzZXQsIGJBc3NldCkKCWJ5dGVjIDQgLy8gICJwIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJY2FsbHN1YiBkb0NyZWF0ZVBvb2xUb2tlbgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTQKCS8vIHRoaXMuZG9PcHRJbihhQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTUKCS8vIHRoaXMuZG9PcHRJbihiQXNzZXQpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLnBvb2xUb2tlbi52YWx1ZTsKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGJYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDQgKGFYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQoYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBwb29sQXNzZXQ6IEFzc2V0SUQsIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogdm9pZAptaW50OgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB3ZWxsIGZvcm1lZCBtaW50CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAzCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBBIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGFYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50YyAwIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYUFzc2V0In0KCWFzc2VydAoKCS8vIHZhbGlkIGFzc2V0IEIgYXhmZXIKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMTUKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYlhmZXIsIHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGJBc3NldCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoieGZlckFzc2V0IiwiZXhwZWN0ZWQiOiJiQXNzZXQifQoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjMKCS8vIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCkgPT09IGFYZmVyLmFzc2V0QW1vdW50ICYmCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpID09PSBiWGZlci5hc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJZHVwCglieiAqc2tpcF9hbmQwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEyNgoJLy8gdGhpcy50b2tlbnNUb01pbnRJbnRpYWwoYVhmZXIuYXNzZXRBbW91bnQsIGJYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb01pbnRJbnRpYWwKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjgKCS8vIHRvTWludCA9IHRoaXMudG9rZW5zVG9NaW50KAoJLy8gICAgICAgICBUT1RBTF9TVVBQTFkgLSB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShwb29sQXNzZXQpLAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpIC0gYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGJBc3NldCkgLSBiWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgICAgYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGJYZmVyLmFzc2V0QW1vdW50CgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCS0KCWNhbGxzdWIgdG9rZW5zVG9NaW50CglmcmFtZV9idXJ5IDAgLy8gdG9NaW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTM2CgkvLyBhc3NlcnQodG9NaW50ID4gMCkKCWZyYW1lX2RpZyAwIC8vIHRvTWludDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzOAoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgcG9vbEFzc2V0LCB0b01pbnQpCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYnVybjoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHBvb2xYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlYyA0IC8vICAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NQoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NgoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludGMgMCAvLyAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3N3YXA6CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3dhcFhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcxCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTczCgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHN3YXBYZmVyLCB7CgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgeGZlckFzc2V0OiB7IGluY2x1ZGVkSW46IFthQXNzZXQsIGJBc3NldF0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCT09CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InN3YXBYZmVyIn0sImZpZWxkIjoieGZlckFzc2V0IiwiY29uZGl0aW9uIjoiaW5jbHVkZWRJbiIsImV4cGVjdGVkIjoiW2FBc3NldCwgYkFzc2V0XSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgwCgkvLyBvdXRJZCA9IHN3YXBYZmVyLnhmZXJBc3NldCA9PT0gYUFzc2V0ID8gYUFzc2V0IDogYkFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIG91dElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgyCgkvLyBpbklkID0gc3dhcFhmZXIueGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfYnVyeSAxIC8vIGluSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODQKCS8vIHRvU3dhcCA9IHRoaXMudG9rZW5zVG9Td2FwKAoJLy8gICAgICAgc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShpbklkKSAtIHN3YXBYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2Uob3V0SWQpCgkvLyAgICAgKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDEgLy8gaW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb1N3YXAKCWZyYW1lX2J1cnkgMiAvLyB0b1N3YXA6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTAKCS8vIGFzc2VydCh0b1N3YXAgPiAwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTkyCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBvdXRJZCwgdG9Td2FwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTQKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZGRjNGNiNGEgLy8gbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MjVlNmMzNzYgLy8gbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MTAwNDVjNzkgLy8gbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgwMjhlMzdjMSAvLyBtZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDYzMmFhZWQ4IC8vIG1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgMTAwMCA0IDEwMDAwMDAwMDAwIDIgMwpieXRlY2Jsb2NrIDB4IDB4NjEgMHg2MiAweDY3IDB4NzAgMHg3MgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjIwCgkvLyB0aGlzLmdvdmVybm9yLnZhbHVlID0gdGhpcy50eG4uc2VuZGVyCglieXRlYyAzIC8vICAiZyIKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGRvQ3JlYXRlUG9vbFRva2VuKGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApkb0NyZWF0ZVBvb2xUb2tlbjoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ0RQVC0nICsgYUFzc2V0LnVuaXROYW1lICsgJy0nICsgYkFzc2V0LnVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ2RwdCcsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiBUT1RBTF9TVVBQTFksCgkvLyAgICAgICBjb25maWdBc3NldERlY2ltYWxzOiAzLAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyA2IC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE5hbWU6ICdEUFQtJyArIGFBc3NldC51bml0TmFtZSArICctJyArIGJBc3NldC51bml0TmFtZQoJcHVzaGJ5dGVzIDB4NDQ1MDU0MmQgLy8gIkRQVC0iCglmcmFtZV9kaWcgLTEgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKCXBvcAoJY29uY2F0CglwdXNoYnl0ZXMgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglwdXNoYnl0ZXMgMHg2NDcwNzQgLy8gImRwdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyOQoJLy8gY29uZmlnQXNzZXRUb3RhbDogVE9UQUxfU1VQUExZCglpbnRjIDQgLy8gMTAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMAoJLy8gY29uZmlnQXNzZXREZWNpbWFsczogMwoJaW50YyA2IC8vIDMKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWNpbWFscwoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMQoJLy8gY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyBkb0F4ZmVyKHJlY2VpdmVyOiBBZGRyZXNzLCBhc3NldDogQXNzZXRJRCwgYW1vdW50OiB1aW50NjQpOiB2b2lkCmRvQXhmZXI6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzcKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiBhbW91bnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDIgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglpbnRjIDIgLy8gMTAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9CdXJuKGlzc3VlZDogdWludDY0LCBzdXBwbHk6IHVpbnQ2NCwgYW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9CdXJuOgoJcHJvdG8gMyAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjY5CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtzdXBwbHksIGFtb3VudF0sIFtpc3N1ZWRdKTsKCWZyYW1lX2RpZyAtMiAvLyBzdXBwbHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGlzc3VlZDogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb1N3YXAoaW5BbW91bnQ6IHVpbnQ2NCwgaW5TdXBwbHk6IHVpbnQ2NCwgb3V0U3VwcGx5OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9Td2FwOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzMKCS8vIGZhY3RvciA9IFNDQUxFIC0gRkVFCglwdXNoaW50IDk5NQoJZnJhbWVfYnVyeSAwIC8vIGZhY3RvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjc0CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtpbkFtb3VudCwgZmFjdG9yLCBvdXRTdXBwbHldLCBbaW5TdXBwbHkgKiBTQ0FMRSArIGluQW1vdW50ICogZmFjdG9yXSk7CglmcmFtZV9kaWcgLTEgLy8gaW5BbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAtMyAvLyBvdXRTdXBwbHk6IHVpbnQ2NAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBpblN1cHBseTogdWludDY0CglpbnRjIDIgLy8gMTAwMAoJKgoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgkqCgkrCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfc2V0X2dvdmVybm9yOgoJLy8gZ292ZXJub3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglwdXNoaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJnIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmdvdmVybm9yLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OQoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IGdvdmVybm9yCglieXRlYyAzIC8vICAiZyIKCWZyYW1lX2RpZyAtMSAvLyBnb3Zlcm5vcjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYm9vdHN0cmFwKHBheSx1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHNlZWQpIGZvciBib290c3RyYXAgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJvb3RzdHJhcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb3RzdHJhcChzZWVkOiBQYXlUeG4sIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApib290c3RyYXA6Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODMKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmdvdmVybm9yLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludGMgNSAvLyAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJcHVzaGludCAzMDBfMDAwCgk+PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic2VlZCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PTMwMF8wMDAifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoYUFzc2V0IDwgYkFzc2V0KQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkwCgkvLyB0aGlzLmFzc2V0QS52YWx1ZSA9IGFBc3NldAoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGVjIDIgLy8gICJiIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTIKCS8vIHRoaXMucG9vbFRva2VuLnZhbHVlID0gdGhpcy5kb0NyZWF0ZVBvb2xUb2tlbihhQXNzZXQsIGJBc3NldCkKCWJ5dGVjIDQgLy8gICJwIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJY2FsbHN1YiBkb0NyZWF0ZVBvb2xUb2tlbgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTQKCS8vIHRoaXMuZG9PcHRJbihhQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTUKCS8vIHRoaXMuZG9PcHRJbihiQXNzZXQpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLnBvb2xUb2tlbi52YWx1ZTsKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGJYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDQgKGFYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQoYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBwb29sQXNzZXQ6IEFzc2V0SUQsIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogdm9pZAptaW50OgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB3ZWxsIGZvcm1lZCBtaW50CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAzCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBBIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGFYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50YyAwIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYUFzc2V0In0KCWFzc2VydAoKCS8vIHZhbGlkIGFzc2V0IEIgYXhmZXIKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMTUKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYlhmZXIsIHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGJBc3NldCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoieGZlckFzc2V0IiwiZXhwZWN0ZWQiOiJiQXNzZXQifQoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjMKCS8vIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCkgPT09IGFYZmVyLmFzc2V0QW1vdW50ICYmCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpID09PSBiWGZlci5hc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJZHVwCglieiAqc2tpcF9hbmQwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEyNgoJLy8gdGhpcy50b2tlbnNUb01pbnRJbnRpYWwoYVhmZXIuYXNzZXRBbW91bnQsIGJYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb01pbnRJbnRpYWwKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjgKCS8vIHRvTWludCA9IHRoaXMudG9rZW5zVG9NaW50KAoJLy8gICAgICAgICBUT1RBTF9TVVBQTFkgLSB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShwb29sQXNzZXQpLAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpIC0gYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGJBc3NldCkgLSBiWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgICAgYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGJYZmVyLmFzc2V0QW1vdW50CgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCS0KCWNhbGxzdWIgdG9rZW5zVG9NaW50CglmcmFtZV9idXJ5IDAgLy8gdG9NaW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTM2CgkvLyBhc3NlcnQodG9NaW50ID4gMCkKCWZyYW1lX2RpZyAwIC8vIHRvTWludDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzOAoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgcG9vbEFzc2V0LCB0b01pbnQpCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYnVybjoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHBvb2xYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlYyA0IC8vICAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NQoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NgoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludGMgMCAvLyAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3N3YXA6CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3dhcFhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcxCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTczCgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHN3YXBYZmVyLCB7CgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgeGZlckFzc2V0OiB7IGluY2x1ZGVkSW46IFthQXNzZXQsIGJBc3NldF0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCT09CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InN3YXBYZmVyIn0sImZpZWxkIjoieGZlckFzc2V0IiwiY29uZGl0aW9uIjoiaW5jbHVkZWRJbiIsImV4cGVjdGVkIjoiW2FBc3NldCwgYkFzc2V0XSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgwCgkvLyBvdXRJZCA9IHN3YXBYZmVyLnhmZXJBc3NldCA9PT0gYUFzc2V0ID8gYUFzc2V0IDogYkFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIG91dElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgyCgkvLyBpbklkID0gc3dhcFhmZXIueGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfYnVyeSAxIC8vIGluSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODQKCS8vIHRvU3dhcCA9IHRoaXMudG9rZW5zVG9Td2FwKAoJLy8gICAgICAgc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShpbklkKSAtIHN3YXBYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2Uob3V0SWQpCgkvLyAgICAgKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDEgLy8gaW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb1N3YXAKCWZyYW1lX2J1cnkgMiAvLyB0b1N3YXA6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTAKCS8vIGFzc2VydCh0b1N3YXAgPiAwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTkyCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBvdXRJZCwgdG9Td2FwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTQKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZGRjNGNiNGEgLy8gbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MjVlNmMzNzYgLy8gbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MTAwNDVjNzkgLy8gbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgwMjhlMzdjMSAvLyBtZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDYzMmFhZWQ4IC8vIG1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json index fe47966ee..ed5416442 100644 --- a/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json +++ b/examples/amm/tealscript_artifacts/ConstantProductAMM.arc56_draft.json @@ -5006,7 +5006,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgMTAwMCA0IDEwMDAwMDAwMDAwIDIgMwpieXRlY2Jsb2NrIDB4IDB4NjEgMHg2MiAweDY3IDB4NzAgMHg3MgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjIwCgkvLyB0aGlzLmdvdmVybm9yLnZhbHVlID0gdGhpcy50eG4uc2VuZGVyCglieXRlYyAzIC8vICAiZyIKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGRvQ3JlYXRlUG9vbFRva2VuKGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApkb0NyZWF0ZVBvb2xUb2tlbjoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ0RQVC0nICsgYUFzc2V0LnVuaXROYW1lICsgJy0nICsgYkFzc2V0LnVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ2RwdCcsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiBUT1RBTF9TVVBQTFksCgkvLyAgICAgICBjb25maWdBc3NldERlY2ltYWxzOiAzLAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyA2IC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE5hbWU6ICdEUFQtJyArIGFBc3NldC51bml0TmFtZSArICctJyArIGJBc3NldC51bml0TmFtZQoJcHVzaGJ5dGVzIDB4NDQ1MDU0MmQgLy8gIkRQVC0iCglmcmFtZV9kaWcgLTEgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKCXBvcAoJY29uY2F0CglwdXNoYnl0ZXMgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglwdXNoYnl0ZXMgMHg2NDcwNzQgLy8gImRwdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyOQoJLy8gY29uZmlnQXNzZXRUb3RhbDogVE9UQUxfU1VQUExZCglpbnRjIDQgLy8gMTAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMAoJLy8gY29uZmlnQXNzZXREZWNpbWFsczogMwoJaW50YyA2IC8vIDMKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWNpbWFscwoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMQoJLy8gY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyBkb0F4ZmVyKHJlY2VpdmVyOiBBZGRyZXNzLCBhc3NldDogQXNzZXRJRCwgYW1vdW50OiB1aW50NjQpOiB2b2lkCmRvQXhmZXI6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzcKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiBhbW91bnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDIgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglpbnRjIDIgLy8gMTAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9CdXJuKGlzc3VlZDogdWludDY0LCBzdXBwbHk6IHVpbnQ2NCwgYW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9CdXJuOgoJcHJvdG8gMyAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjY5CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtzdXBwbHksIGFtb3VudF0sIFtpc3N1ZWRdKTsKCWZyYW1lX2RpZyAtMiAvLyBzdXBwbHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGlzc3VlZDogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb1N3YXAoaW5BbW91bnQ6IHVpbnQ2NCwgaW5TdXBwbHk6IHVpbnQ2NCwgb3V0U3VwcGx5OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9Td2FwOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzMKCS8vIGZhY3RvciA9IFNDQUxFIC0gRkVFCglwdXNoaW50IDk5NQoJZnJhbWVfYnVyeSAwIC8vIGZhY3RvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjc0CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtpbkFtb3VudCwgZmFjdG9yLCBvdXRTdXBwbHldLCBbaW5TdXBwbHkgKiBTQ0FMRSArIGluQW1vdW50ICogZmFjdG9yXSk7CglmcmFtZV9kaWcgLTEgLy8gaW5BbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAtMyAvLyBvdXRTdXBwbHk6IHVpbnQ2NAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBpblN1cHBseTogdWludDY0CglpbnRjIDIgLy8gMTAwMAoJKgoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgkqCgkrCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfc2V0X2dvdmVybm9yOgoJLy8gZ292ZXJub3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglwdXNoaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJnIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmdvdmVybm9yLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OQoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IGdvdmVybm9yCglieXRlYyAzIC8vICAiZyIKCWZyYW1lX2RpZyAtMSAvLyBnb3Zlcm5vcjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYm9vdHN0cmFwKHBheSx1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHNlZWQpIGZvciBib290c3RyYXAgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJvb3RzdHJhcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb3RzdHJhcChzZWVkOiBQYXlUeG4sIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApib290c3RyYXA6Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODMKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmdvdmVybm9yLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludGMgNSAvLyAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJcHVzaGludCAzMDBfMDAwCgk+PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic2VlZCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PTMwMF8wMDAifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoYUFzc2V0IDwgYkFzc2V0KQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkwCgkvLyB0aGlzLmFzc2V0QS52YWx1ZSA9IGFBc3NldAoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGVjIDIgLy8gICJiIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTIKCS8vIHRoaXMucG9vbFRva2VuLnZhbHVlID0gdGhpcy5kb0NyZWF0ZVBvb2xUb2tlbihhQXNzZXQsIGJBc3NldCkKCWJ5dGVjIDQgLy8gICJwIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJY2FsbHN1YiBkb0NyZWF0ZVBvb2xUb2tlbgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTQKCS8vIHRoaXMuZG9PcHRJbihhQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTUKCS8vIHRoaXMuZG9PcHRJbihiQXNzZXQpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLnBvb2xUb2tlbi52YWx1ZTsKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGJYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDQgKGFYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQoYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBwb29sQXNzZXQ6IEFzc2V0SUQsIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogdm9pZAptaW50OgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB3ZWxsIGZvcm1lZCBtaW50CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAzCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBBIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGFYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50YyAwIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYUFzc2V0In0KCWFzc2VydAoKCS8vIHZhbGlkIGFzc2V0IEIgYXhmZXIKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMTUKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYlhmZXIsIHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGJBc3NldCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoieGZlckFzc2V0IiwiZXhwZWN0ZWQiOiJiQXNzZXQifQoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjMKCS8vIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCkgPT09IGFYZmVyLmFzc2V0QW1vdW50ICYmCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpID09PSBiWGZlci5hc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJZHVwCglieiAqc2tpcF9hbmQwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEyNgoJLy8gdGhpcy50b2tlbnNUb01pbnRJbnRpYWwoYVhmZXIuYXNzZXRBbW91bnQsIGJYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb01pbnRJbnRpYWwKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjgKCS8vIHRvTWludCA9IHRoaXMudG9rZW5zVG9NaW50KAoJLy8gICAgICAgICBUT1RBTF9TVVBQTFkgLSB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShwb29sQXNzZXQpLAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpIC0gYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGJBc3NldCkgLSBiWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgICAgYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGJYZmVyLmFzc2V0QW1vdW50CgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCS0KCWNhbGxzdWIgdG9rZW5zVG9NaW50CglmcmFtZV9idXJ5IDAgLy8gdG9NaW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTM2CgkvLyBhc3NlcnQodG9NaW50ID4gMCkKCWZyYW1lX2RpZyAwIC8vIHRvTWludDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzOAoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgcG9vbEFzc2V0LCB0b01pbnQpCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYnVybjoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHBvb2xYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlYyA0IC8vICAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NQoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NgoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludGMgMCAvLyAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3N3YXA6CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3dhcFhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcxCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTczCgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHN3YXBYZmVyLCB7CgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgeGZlckFzc2V0OiB7IGluY2x1ZGVkSW46IFthQXNzZXQsIGJBc3NldF0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCT09CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InN3YXBYZmVyIn0sImZpZWxkIjoieGZlckFzc2V0IiwiY29uZGl0aW9uIjoiaW5jbHVkZWRJbiIsImV4cGVjdGVkIjoiW2FBc3NldCwgYkFzc2V0XSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgwCgkvLyBvdXRJZCA9IHN3YXBYZmVyLnhmZXJBc3NldCA9PT0gYUFzc2V0ID8gYUFzc2V0IDogYkFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIG91dElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgyCgkvLyBpbklkID0gc3dhcFhmZXIueGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfYnVyeSAxIC8vIGluSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODQKCS8vIHRvU3dhcCA9IHRoaXMudG9rZW5zVG9Td2FwKAoJLy8gICAgICAgc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShpbklkKSAtIHN3YXBYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2Uob3V0SWQpCgkvLyAgICAgKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDEgLy8gaW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb1N3YXAKCWZyYW1lX2J1cnkgMiAvLyB0b1N3YXA6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTAKCS8vIGFzc2VydCh0b1N3YXAgPiAwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTkyCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBvdXRJZCwgdG9Td2FwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTQKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZGRjNGNiNGEgLy8gbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MjVlNmMzNzYgLy8gbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MTAwNDVjNzkgLy8gbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgwMjhlMzdjMSAvLyBtZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDYzMmFhZWQ4IC8vIG1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgMTAwMCA0IDEwMDAwMDAwMDAwIDIgMwpieXRlY2Jsb2NrIDB4IDB4NjEgMHg2MiAweDY3IDB4NzAgMHg3MgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjIwCgkvLyB0aGlzLmdvdmVybm9yLnZhbHVlID0gdGhpcy50eG4uc2VuZGVyCglieXRlYyAzIC8vICAiZyIKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGRvQ3JlYXRlUG9vbFRva2VuKGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApkb0NyZWF0ZVBvb2xUb2tlbjoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyNgoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ0RQVC0nICsgYUFzc2V0LnVuaXROYW1lICsgJy0nICsgYkFzc2V0LnVuaXROYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ2RwdCcsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiBUT1RBTF9TVVBQTFksCgkvLyAgICAgICBjb25maWdBc3NldERlY2ltYWxzOiAzLAoJLy8gICAgICAgY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRSZXNlcnZlOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyA2IC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE5hbWU6ICdEUFQtJyArIGFBc3NldC51bml0TmFtZSArICctJyArIGJBc3NldC51bml0TmFtZQoJcHVzaGJ5dGVzIDB4NDQ1MDU0MmQgLy8gIkRQVC0iCglmcmFtZV9kaWcgLTEgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0VW5pdE5hbWUKCXBvcAoJY29uY2F0CglwdXNoYnl0ZXMgMHgyZCAvLyAiLSIKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldFVuaXROYW1lCglwb3AKCWNvbmNhdAoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICdkcHQnCglwdXNoYnl0ZXMgMHg2NDcwNzQgLy8gImRwdCIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRVbml0TmFtZQoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoyOQoJLy8gY29uZmlnQXNzZXRUb3RhbDogVE9UQUxfU1VQUExZCglpbnRjIDQgLy8gMTAwMDAwMDAwMDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMAoJLy8gY29uZmlnQXNzZXREZWNpbWFsczogMwoJaW50YyA2IC8vIDMKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWNpbWFscwoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozMQoJLy8gY29uZmlnQXNzZXRNYW5hZ2VyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldE1hbmFnZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyBkb0F4ZmVyKHJlY2VpdmVyOiBBZGRyZXNzLCBhc3NldDogQXNzZXRJRCwgYW1vdW50OiB1aW50NjQpOiB2b2lkCmRvQXhmZXI6Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzcKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiBhbW91bnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MzgKCS8vIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czozOQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo0MAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkb09wdEluKGFzc2V0OiBBc3NldElEKTogdm9pZApkb09wdEluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjQ1CgkvLyB0aGlzLmRvQXhmZXIodGhpcy5hcHAuYWRkcmVzcywgYXNzZXQsIDApCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJY2FsbHN1YiBkb0F4ZmVyCglyZXRzdWIKCi8vIHRva2Vuc1RvTWludEludGlhbChhQW1vdW50OiB1aW50NjQsIGJBbW91bnQ6IHVpbnQ2NCk6IHVpbnQ2NAp0b2tlbnNUb01pbnRJbnRpYWw6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NDkKCS8vIHJldHVybiBzcXJ0KGFBbW91bnQgKiBiQW1vdW50KTsKCWZyYW1lX2RpZyAtMSAvLyBhQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiQW1vdW50OiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9NaW50KGlzc3VlZDogdWludDY0LCBhU3VwcGx5OiB1aW50NjQsIGJTdXBwbHk6IHVpbnQ2NCwgYUFtb3VudDogdWludDY0LCBiQW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9NaW50OgoJcHJvdG8gNSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1MwoJLy8gYVJhdGlvID0gd2lkZVJhdGlvKFthQW1vdW50LCBTQ0FMRV0sIFthU3VwcGx5XSkKCWZyYW1lX2RpZyAtNCAvLyBhQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0yIC8vIGFTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBhUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NAoJLy8gYlJhdGlvID0gd2lkZVJhdGlvKFtiQW1vdW50LCBTQ0FMRV0sIFtiU3VwcGx5XSkKCWZyYW1lX2RpZyAtNSAvLyBiQW1vdW50OiB1aW50NjQKCWludGMgMiAvLyAxMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIGJTdXBwbHk6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBiUmF0aW86IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo1NgoJLy8gcmF0aW8gPSBhUmF0aW8gPCBiUmF0aW8gPyBhUmF0aW8gOiBiUmF0aW8KCWZyYW1lX2RpZyAwIC8vIGFSYXRpbzogdWludDY0CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoJPAoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgMCAvLyBhUmF0aW86IHVpbnQ2NAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgMSAvLyBiUmF0aW86IHVpbnQ2NAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyByYXRpbzogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjU4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtyYXRpbywgaXNzdWVkXSwgW1NDQUxFXSk7CglmcmFtZV9kaWcgMiAvLyByYXRpbzogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gaXNzdWVkOiB1aW50NjQKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDIgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvbXB1dGVSYXRpbygpOiB1aW50NjQKY29tcHV0ZVJhdGlvOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjYyCgkvLyByZXR1cm4gd2lkZVJhdGlvKAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRBLnZhbHVlKSwgU0NBTEVdLAoJLy8gICAgICAgW3RoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuYXNzZXRCLnZhbHVlKV0KCS8vICAgICApOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglpbnRjIDIgLy8gMTAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCXJldHN1YgoKLy8gdG9rZW5zVG9CdXJuKGlzc3VlZDogdWludDY0LCBzdXBwbHk6IHVpbnQ2NCwgYW1vdW50OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9CdXJuOgoJcHJvdG8gMyAxCgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjY5CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtzdXBwbHksIGFtb3VudF0sIFtpc3N1ZWRdKTsKCWZyYW1lX2RpZyAtMiAvLyBzdXBwbHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGlzc3VlZDogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJcmV0c3ViCgovLyB0b2tlbnNUb1N3YXAoaW5BbW91bnQ6IHVpbnQ2NCwgaW5TdXBwbHk6IHVpbnQ2NCwgb3V0U3VwcGx5OiB1aW50NjQpOiB1aW50NjQKdG9rZW5zVG9Td2FwOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6NzMKCS8vIGZhY3RvciA9IFNDQUxFIC0gRkVFCglwdXNoaW50IDk5NQoJZnJhbWVfYnVyeSAwIC8vIGZhY3RvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjc0CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtpbkFtb3VudCwgZmFjdG9yLCBvdXRTdXBwbHldLCBbaW5TdXBwbHkgKiBTQ0FMRSArIGluQW1vdW50ICogZmFjdG9yXSk7CglmcmFtZV9kaWcgLTEgLy8gaW5BbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gZmFjdG9yOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAtMyAvLyBvdXRTdXBwbHk6IHVpbnQ2NAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBpblN1cHBseTogdWludDY0CglpbnRjIDIgLy8gMTAwMAoJKgoJZnJhbWVfZGlnIC0xIC8vIGluQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcjogdWludDY0CgkqCgkrCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfc2V0X2dvdmVybm9yOgoJLy8gZ292ZXJub3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglwdXNoaW50IDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGdvdmVybm9yKSBmb3Igc2V0X2dvdmVybm9yIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIHNldF9nb3Zlcm5vcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgc2V0X2dvdmVybm9yCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRfZ292ZXJub3IoZ292ZXJub3I6IEFkZHJlc3MpOiB2b2lkCnNldF9nb3Zlcm5vcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OAoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuZ292ZXJub3IudmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJnIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmdvdmVybm9yLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo3OQoJLy8gdGhpcy5nb3Zlcm5vci52YWx1ZSA9IGdvdmVybm9yCglieXRlYyAzIC8vICAiZyIKCWZyYW1lX2RpZyAtMSAvLyBnb3Zlcm5vcjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYm9vdHN0cmFwKHBheSx1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc2VlZDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHNlZWQpIGZvciBib290c3RyYXAgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJvb3RzdHJhcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb3RzdHJhcChzZWVkOiBQYXlUeG4sIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogQXNzZXRJRApib290c3RyYXA6Cglwcm90byAzIDEKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODMKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmdvdmVybm9yLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiZyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5nb3Zlcm5vci52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6ODUKCS8vIGFzc2VydChnbG9iYWxzLmdyb3VwU2l6ZSA9PT0gMikKCWdsb2JhbCBHcm91cFNpemUKCWludGMgNSAvLyAyCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg3CgkvLyB2ZXJpZnlQYXlUeG4oc2VlZCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogMzAwXzAwMCB9IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNlZWQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzZWVkOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJcHVzaGludCAzMDBfMDAwCgk+PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic2VlZCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PTMwMF8wMDAifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoYUFzc2V0IDwgYkFzc2V0KQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjkwCgkvLyB0aGlzLmFzc2V0QS52YWx1ZSA9IGFBc3NldAoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czo5MQoJLy8gdGhpcy5hc3NldEIudmFsdWUgPSBiQXNzZXQKCWJ5dGVjIDIgLy8gICJiIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTIKCS8vIHRoaXMucG9vbFRva2VuLnZhbHVlID0gdGhpcy5kb0NyZWF0ZVBvb2xUb2tlbihhQXNzZXQsIGJBc3NldCkKCWJ5dGVjIDQgLy8gICJwIgoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJY2FsbHN1YiBkb0NyZWF0ZVBvb2xUb2tlbgoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTQKCS8vIHRoaXMuZG9PcHRJbihhQXNzZXQpCglmcmFtZV9kaWcgLTIgLy8gYUFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTUKCS8vIHRoaXMuZG9PcHRJbihiQXNzZXQpCglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgljYWxsc3ViIGRvT3B0SW4KCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLnBvb2xUb2tlbi52YWx1ZTsKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfbWludDoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGJYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGJYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyAyCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDQgKGFYZmVyKSBmb3IgbWludCBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgbWludChheGZlcixheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQoYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBwb29sQXNzZXQ6IEFzc2V0SUQsIGFBc3NldDogQXNzZXRJRCwgYkFzc2V0OiBBc3NldElEKTogdm9pZAptaW50OgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB3ZWxsIGZvcm1lZCBtaW50CgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTAzCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA0CgkvLyBhc3NlcnQocG9vbEFzc2V0ID09PSB0aGlzLnBvb2xUb2tlbi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBwb29sQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDQgLy8gICJwIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyB2YWxpZCBhc3NldCBBIGF4ZmVyCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTA3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKGFYZmVyLCB7CgkvLyAgICAgICBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIH0sCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhQXNzZXQsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50YyAwIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldEFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6ImFYZmVyIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSB4ZmVyQXNzZXQKCWZyYW1lX2RpZyAtMSAvLyBhWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYVhmZXIiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoiYUFzc2V0In0KCWFzc2VydAoKCS8vIHZhbGlkIGFzc2V0IEIgYXhmZXIKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMTUKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYlhmZXIsIHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGJBc3NldCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiYlhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtNSAvLyBiQXNzZXQ6IEFzc2V0SUQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJiWGZlciIsImZpZWxkIjoieGZlckFzc2V0IiwiZXhwZWN0ZWQiOiJiQXNzZXQifQoJYXNzZXJ0CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjMKCS8vIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCkgPT09IGFYZmVyLmFzc2V0QW1vdW50ICYmCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpID09PSBiWGZlci5hc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtNCAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoJZHVwCglieiAqc2tpcF9hbmQwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEyNgoJLy8gdGhpcy50b2tlbnNUb01pbnRJbnRpYWwoYVhmZXIuYXNzZXRBbW91bnQsIGJYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0yIC8vIGJYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb01pbnRJbnRpYWwKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxMjgKCS8vIHRvTWludCA9IHRoaXMudG9rZW5zVG9NaW50KAoJLy8gICAgICAgICBUT1RBTF9TVVBQTFkgLSB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShwb29sQXNzZXQpLAoJLy8gICAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShhQXNzZXQpIC0gYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGJBc3NldCkgLSBiWGZlci5hc3NldEFtb3VudCwKCS8vICAgICAgICAgYVhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICAgIGJYZmVyLmFzc2V0QW1vdW50CgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gYlhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gYVhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC01IC8vIGJBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBiWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYUFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCS0KCWNhbGxzdWIgdG9rZW5zVG9NaW50CglmcmFtZV9idXJ5IDAgLy8gdG9NaW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTM2CgkvLyBhc3NlcnQodG9NaW50ID4gMCkKCWZyYW1lX2RpZyAwIC8vIHRvTWludDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjEzOAoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgcG9vbEFzc2V0LCB0b01pbnQpCglmcmFtZV9kaWcgMCAvLyB0b01pbnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBkb0F4ZmVyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYnVybjoKCS8vIGJBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYUFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIHBvb2xYZmVyOiBheGZlcgoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKHBvb2xYZmVyKSBmb3IgYnVybiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYnVybihheGZlcix1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJ1cm4KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJ1cm4ocG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4sIHBvb2xBc3NldDogQXNzZXRJRCwgYUFzc2V0OiBBc3NldElELCBiQXNzZXQ6IEFzc2V0SUQpOiB2b2lkCmJ1cm46Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gd2VsbCBmb3JtZWQgYnVybgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NAoJLy8gYXNzZXJ0KHBvb2xBc3NldCA9PT0gdGhpcy5wb29sVG9rZW4udmFsdWUpCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFzc2V0OiBBc3NldElECglieXRlYyA0IC8vICAicCIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NQoJLy8gYXNzZXJ0KGFBc3NldCA9PT0gdGhpcy5hc3NldEEudmFsdWUpCglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0NgoJLy8gYXNzZXJ0KGJBc3NldCA9PT0gdGhpcy5hc3NldEIudmFsdWUpCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglieXRlYyAyIC8vICAiYiIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYXNzZXJ0CgoJLy8gdmFsaWQgcG9vbCBheGZlcgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE0OQoJLy8gdmVyaWZ5QXNzZXRUcmFuc2ZlclR4bihwb29sWGZlciwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogcG9vbEFzc2V0LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMudHhuLnNlbmRlciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWludGMgMCAvLyAwCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRBbW91bnQiLCJjb25kaXRpb24iOiJncmVhdGVyVGhhbiIsImV4cGVjdGVkIjoiPjAifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJwb29sWGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBvb2xYZmVyIiwiZmllbGQiOiJ4ZmVyQXNzZXQiLCJleHBlY3RlZCI6InBvb2xBc3NldCJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTU2CgkvLyBpc3N1ZWQgPSBUT1RBTF9TVVBQTFkgLSAodGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2UocG9vbEFzc2V0KSAtIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJaW50YyA0IC8vIDEwMDAwMDAwMDAwCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBc3NldDogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCS0KCS0KCWZyYW1lX2J1cnkgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNTgKCS8vIGFBbXQgPSB0aGlzLnRva2Vuc1RvQnVybihpc3N1ZWQsIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKGFBc3NldCksIHBvb2xYZmVyLmFzc2V0QW1vdW50KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMyAvLyBhQXNzZXQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBpc3N1ZWQ6IHVpbnQ2NAoJY2FsbHN1YiB0b2tlbnNUb0J1cm4KCWZyYW1lX2J1cnkgMSAvLyBhQW10OiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYwCgkvLyBiQW10ID0gdGhpcy50b2tlbnNUb0J1cm4oaXNzdWVkLCB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShiQXNzZXQpLCBwb29sWGZlci5hc3NldEFtb3VudCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sWGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYkFzc2V0OiBBc3NldElECglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDAgLy8gaXNzdWVkOiB1aW50NjQKCWNhbGxzdWIgdG9rZW5zVG9CdXJuCglmcmFtZV9idXJ5IDIgLy8gYkFtdDogdWludDY0CgoJLy8gZXhhbXBsZXMvYW1tL2FtbS5hbGdvLnRzOjE2MgoJLy8gdGhpcy5kb0F4ZmVyKHRoaXMudHhuLnNlbmRlciwgYUFzc2V0LCBhQW10KQoJZnJhbWVfZGlnIDEgLy8gYUFtdDogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gYUFzc2V0OiBBc3NldElECgl0eG4gU2VuZGVyCgljYWxsc3ViIGRvQXhmZXIKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTYzCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBiQXNzZXQsIGJBbXQpCglmcmFtZV9kaWcgMiAvLyBiQW10OiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBiQXNzZXQ6IEFzc2V0SUQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxNjUKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3N3YXA6CgkvLyBiQXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGFBc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3dhcFhmZXI6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3dhcFhmZXIpIGZvciBzd2FwIG11c3QgYmUgYSBheGZlciB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzd2FwKGF4ZmVyLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzd2FwCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzd2FwKHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuLCBhQXNzZXQ6IEFzc2V0SUQsIGJBc3NldDogQXNzZXRJRCk6IHZvaWQKc3dhcDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB3ZWxsIGZvcm1lZCBzd2FwCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcwCgkvLyBhc3NlcnQoYUFzc2V0ID09PSB0aGlzLmFzc2V0QS52YWx1ZSkKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTcxCgkvLyBhc3NlcnQoYkFzc2V0ID09PSB0aGlzLmFzc2V0Qi52YWx1ZSkKCWZyYW1lX2RpZyAtMyAvLyBiQXNzZXQ6IEFzc2V0SUQKCWJ5dGVjIDIgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTczCgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHN3YXBYZmVyLCB7CgkvLyAgICAgICBhc3NldEFtb3VudDogeyBncmVhdGVyVGhhbjogMCB9LAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgeGZlckFzc2V0OiB7IGluY2x1ZGVkSW46IFthQXNzZXQsIGJBc3NldF0gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IGFzc2V0QW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0QW1vdW50CglpbnRjIDAgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3dhcFhmZXIiLCJmaWVsZCI6ImFzc2V0UmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzd2FwWGZlciIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHhmZXJBc3NldAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWZyYW1lX2RpZyAtMiAvLyBhQXNzZXQ6IEFzc2V0SUQKCT09CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0zIC8vIGJBc3NldDogQXNzZXRJRAoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InN3YXBYZmVyIn0sImZpZWxkIjoieGZlckFzc2V0IiwiY29uZGl0aW9uIjoiaW5jbHVkZWRJbiIsImV4cGVjdGVkIjoiW2FBc3NldCwgYkFzc2V0XSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgwCgkvLyBvdXRJZCA9IHN3YXBYZmVyLnhmZXJBc3NldCA9PT0gYUFzc2V0ID8gYUFzc2V0IDogYkFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJPT0KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJZnJhbWVfZGlnIC0yIC8vIGFBc3NldDogQXNzZXRJRAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTMgLy8gYkFzc2V0OiBBc3NldElECgoqdGVybmFyeTFfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIG91dElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTgyCgkvLyBpbklkID0gc3dhcFhmZXIueGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gc3dhcFhmZXI6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFhmZXJBc3NldAoJZnJhbWVfYnVyeSAxIC8vIGluSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxODQKCS8vIHRvU3dhcCA9IHRoaXMudG9rZW5zVG9Td2FwKAoJLy8gICAgICAgc3dhcFhmZXIuYXNzZXRBbW91bnQsCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZShpbklkKSAtIHN3YXBYZmVyLmFzc2V0QW1vdW50LAoJLy8gICAgICAgdGhpcy5hcHAuYWRkcmVzcy5hc3NldEJhbGFuY2Uob3V0SWQpCgkvLyAgICAgKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIDEgLy8gaW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJLQoJZnJhbWVfZGlnIC0xIC8vIHN3YXBYZmVyOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJY2FsbHN1YiB0b2tlbnNUb1N3YXAKCWZyYW1lX2J1cnkgMiAvLyB0b1N3YXA6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTAKCS8vIGFzc2VydCh0b1N3YXAgPiAwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hbW0vYW1tLmFsZ28udHM6MTkyCgkvLyB0aGlzLmRvQXhmZXIodGhpcy50eG4uc2VuZGVyLCBvdXRJZCwgdG9Td2FwKQoJZnJhbWVfZGlnIDIgLy8gdG9Td2FwOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIG91dElkOiB1aW50NjQKCXR4biBTZW5kZXIKCWNhbGxzdWIgZG9BeGZlcgoKCS8vIGV4YW1wbGVzL2FtbS9hbW0uYWxnby50czoxOTQKCS8vIHRoaXMucmF0aW8udmFsdWUgPSB0aGlzLmNvbXB1dGVSYXRpbygpCglieXRlYyA1IC8vICAiciIKCWNhbGxzdWIgY29tcHV0ZVJhdGlvCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZGRjNGNiNGEgLy8gbWV0aG9kICJzZXRfZ292ZXJub3IoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MjVlNmMzNzYgLy8gbWV0aG9kICJib290c3RyYXAocGF5LHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MTAwNDVjNzkgLy8gbWV0aG9kICJtaW50KGF4ZmVyLGF4ZmVyLHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgwMjhlMzdjMSAvLyBtZXRob2QgImJ1cm4oYXhmZXIsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDYzMmFhZWQ4IC8vIG1ldGhvZCAic3dhcChheGZlcix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3NldF9nb3Zlcm5vciAqYWJpX3JvdXRlX2Jvb3RzdHJhcCAqYWJpX3JvdXRlX21pbnQgKmFiaV9yb3V0ZV9idXJuICphYmlfcm91dGVfc3dhcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/arc58/artifacts/AbstractedAccount.approval.teal b/examples/arc58/artifacts/AbstractedAccount.approval.teal index ca61d46a8..2c80b9925 100644 --- a/examples/arc58/artifacts/AbstractedAccount.approval.teal +++ b/examples/arc58/artifacts/AbstractedAccount.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 32 6 bytecblock 0x70 0x61 0x 0x63 0x6e 0x0000000000000000 0x0f885493 0x00 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/arc58/artifacts/AbstractedAccount.arc32.json b/examples/arc58/artifacts/AbstractedAccount.arc32.json index 698203310..309a6bb1b 100644 --- a/examples/arc58/artifacts/AbstractedAccount.arc32.json +++ b/examples/arc58/artifacts/AbstractedAccount.arc32.json @@ -98,7 +98,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIgNgpieXRlY2Jsb2NrIDB4NzAgMHg2MSAweCAweDYzIDB4NmUgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MGY4ODU0OTMgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAzIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCk6IHZvaWQKLy8KLy8gRW5zdXJlIHRoYXQgYnkgdGhlIGVuZCBvZiB0aGUgZ3JvdXAgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBoYXMgY29udHJvbCBvZiBpdHMgYWRkcmVzcwp2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQ6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NQoJLy8gcmVrZXllZEJhY2sgPSBmYWxzZQoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGZvciAobGV0IGkgPSB0aGlzLnR4bi5ncm91cEluZGV4OyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGg7IGkgKz0gMSkKCXR4biBHcm91cEluZGV4CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZ2xvYmFsIEdyb3VwU2l6ZQoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDgKCS8vIHR4biA9IHRoaXMudHhuR3JvdXBbaV0KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIHR4bjogdHhuCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTEKCS8vIHR4bi5zZW5kZXIgPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUgJiYgdHhuLnJla2V5VG8gPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MgoJLy8gcmVrZXllZEJhY2sgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTgKCS8vIHR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCAmJgoJLy8gICAgICAgICB0eG4uYXBwbGljYXRpb25JRCA9PT0gdGhpcy5hcHAgJiYKCS8vICAgICAgICAgdHhuLm51bUFwcEFyZ3MgPT09IDEgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uQXJnc1swXSA9PT0gbWV0aG9kKCdhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCcpCglmcmFtZV9kaWcgMiAvLyB0eG46IHR4bgoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNiAvLyAgbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gYWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW4pIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJvbGxlZEFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoY29udHJvbGxlZEFkZHJlc3MpIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MsIGFkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBDcmVhdGUgYW4gYWJzdHJhY3RlZCBhY2NvdW50IGFwcGxpY2F0aW9uLgovLyBUaGlzIGlzIG5vdCBwYXJ0IG9mIEFSQzU4IGFuZCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4KLy8KLy8gQHBhcmFtIGNvbnRyb2xsZWRBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBhYnN0cmFjdGVkIGFjY291bnQuIElmIHplcm9BZGRyZXNzLCB0aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBhY2NvdW50IHdpbGwgYmUgdXNlZAovLyBAcGFyYW0gYWRtaW4gVGhlIGFkbWluIGZvciB0aGlzIGFwcApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6ODcKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCT09Cgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Iltjb250cm9sbGVkQWRkcmVzcywgYWRtaW5dIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTEKCS8vIGFzc2VydChhZG1pbiAhPT0gY29udHJvbGxlZEFkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTMKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBhZG1pbgoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo5NAoJLy8gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSA9IGNvbnRyb2xsZWRBZGRyZXNzID09PSBBZGRyZXNzLnplcm9BZGRyZXNzID8gdGhpcy5hcHAuYWRkcmVzcyA6IGNvbnRyb2xsZWRBZGRyZXNzCglieXRlYyAzIC8vICAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTA0CgkvLyB0aGlzLmFkbWluLnZhbHVlID0gbmV3QWRtaW4KCWJ5dGVjIDEgLy8gICJhIgoJZnJhbWVfZGlnIC0xIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwbHVnaW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbihwbHVnaW46IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIHZpYSBwbHVnaW4uCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCBjYWxsaW5nIHRoZSBwbHVnaW4KLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3MgdGhhdCB0cmlnZ2VyZWQgdGhlIHBsdWdpbgovLyBAcGFyYW0gbmV3QWRtaW4gVGhlIG5ldyBhZG1pbgphcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTYKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHBsdWdpbi5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoicGx1Z2luLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTcKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSBwbHVnaW4uYWRkcmVzcywgJ1RoaXMgcGx1Z2luIGlzIG5vdCBpbiBjb250cm9sIG9mIHRoZSBhY2NvdW50JykKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNAoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglnZXRiaXQKCSYmCgoqc2tpcF9hbmQ0OgoJLy8gVGhpcyBwbHVnaW4gZG9lcyBub3QgaGF2ZSBhZG1pbiBwcml2aWxlZ2VzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEyNQoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlYyAxIC8vICAiYSIKCWZyYW1lX2RpZyAtMyAvLyBuZXdBZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNThfZ2V0QWRtaW4oKWFkZHJlc3MKKmFiaV9yb3V0ZV9hcmM1OF9nZXRBZG1pbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJLy8gZXhlY3V0ZSBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoJY2FsbHN1YiBhcmM1OF92ZXJpZnlBdXRoQWRkcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKTogdm9pZAovLwovLyBWZXJpZnkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBpcyByZWtleWVkIHRvIHRoaXMgYXBwCmFyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNDAKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSB0aGlzLmdldEF1dGhBZGRyKCkpCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglhY2N0X3BhcmFtc19nZXQgQWNjdEF1dGhBZGRyCglwb3AKCWNhbGxzdWIgZ2V0QXV0aEFkZHIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG86CgkvLyBmbGFzaDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGZsYXNoKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhZGRyKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG8oYWRkcjogQWRkcmVzcywgZmxhc2g6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIFJla2V5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgdG8gYW5vdGhlciBhZGRyZXNzLiBQcmltYXJpbHkgdXNlZnVsIGZvciByZWtleWluZyB0byBhbiBFT0EuCi8vCi8vIEBwYXJhbSBhZGRyIFRoZSBhZGRyZXNzIHRvIHJla2V5IHRvCi8vIEBwYXJhbSBmbGFzaCBXaGV0aGVyIG9yIG5vdCB0aGlzIHNob3VsZCBiZSBhIGZsYXNoIHJla2V5LiBJZiB0cnVlLCB0aGUgcmVrZXkgYmFjayB0byB0aGUgYXBwIGFkZHJlc3MgbXVzdCBkb25lIGluIHRoZSBzYW1lIHR4biBncm91cCBhcyB0aGlzIGNhbGwKYXJjNThfcmVrZXlUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUwCgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUzCgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglwdXNoYnl0ZXMgMHg3MjY1NmI2NTc5Njk2ZTY3MjA2MTYyNzM3NDcyNjE2Mzc0NjU2NDIwNjE2MzYzNmY3NTZlNzQgLy8gInJla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIGZsYXNoCglmcmFtZV9kaWcgLTIgLy8gZmxhc2g6IGJvb2xlYW4KCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE1OQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCippZjJfZW5kOgoJcmV0c3ViCgovLyBwbHVnaW5DYWxsQWxsb3dlZChhcHA6IEFwcElELCBjYWxsZXI6IEFkZHJlc3MpOiBib29sZWFuCnBsdWdpbkNhbGxBbGxvd2VkOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2MwoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBjYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBjYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTY1CgkvLyByZXR1cm4gKAoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkuZXhpc3RzICYmCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5sYXN0VmFsaWRSb3VuZCA+PSBnbG9iYWxzLnJvdW5kICYmCgkvLyAgICAgICBnbG9iYWxzLnJvdW5kIC0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdENhbGxlZCA+PSB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5jb29sZG93bgoJLy8gICAgICk7CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNQoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxNiA4CglidG9pCgktCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCT49CgkmJgoKKnNraXBfYW5kNjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbjoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4ocGx1Z2luOiBBcHBJRCk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYW4gYXBwcm92ZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCB0byByZWtleSB0bwphcmM1OF9yZWtleVRvUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsQWxsb3dlZCA9IHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoJZnJhbWVfYnVyeSAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODAKCS8vICFnbG9iYWxBbGxvd2VkCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODEKCS8vIGFzc2VydCh0aGlzLnBsdWdpbkNhbGxBbGxvd2VkKHBsdWdpbiwgdGhpcy50eG4uc2VuZGVyKSwgJ1RoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4nKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWNhbGxzdWIgcGx1Z2luQ2FsbEFsbG93ZWQKCgkvLyBUaGlzIHNlbmRlciBpcyBub3QgYWxsb3dlZCB0byB0cmlnZ2VyIHRoaXMgcGx1Z2luCglhc3NlcnQKCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODMKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MsCgkvLyAgICAgICBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODQKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZWMgMyAvLyAgImMiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NQoJLy8gcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCXB1c2hieXRlcyAweDcyNjU2YjY1Nzk2OTZlNjcyMDc0NmYyMDcwNmM3NTY3Njk2ZTIwNjE3MDcwIC8vICJyZWtleWluZyB0byBwbHVnaW4gYXBwIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTkwCgkvLyB0aGlzLnBsdWdpbnMoewoJLy8gICAgICAgYXBwbGljYXRpb246IHBsdWdpbiwKCS8vICAgICAgIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgIH0pLnZhbHVlLmxhc3RDYWxsZWQgPSBnbG9iYWxzLnJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTNfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTNfZW5kCgoqdGVybmFyeTNfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTNfZW5kOgoJY29uY2F0Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyh7IGFwcGxpY2F0aW9uOiBwbHVnaW4sIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLCB9KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxNgoJZ2xvYmFsIFJvdW5kCglpdG9iCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTVfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTVfZW5kCgoqdGVybmFyeTVfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTVfZW5kOgoJY29uY2F0Cgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxOTUKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZWtleVRvTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFRlbXBvcmFyaWx5IHJla2V5IHRvIGEgbmFtZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdG8gcmVrZXkgdG8KYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMDQKCS8vIHRoaXMuYXJjNThfcmVrZXlUb1BsdWdpbih0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZS5hcHBsaWNhdGlvbikKCWludGMgMSAvLyAwCglwdXNoaW50IDgKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBhcmM1OF9yZWtleVRvUGx1Z2luCglyZXRzdWIKCi8vIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbjoKCS8vIGFkbWluUHJpdmlsZWdlczogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluUHJpdmlsZWdlcykgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGRQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9hZGRQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYW4gYXBwIHRvIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIGFkZAovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyBvZiB0aGF0J3MgYWxsb3dlZCB0byBjYWxsIHRoZSBhcHAKLy8gb3IgdGhlIGdsb2JhbCB6ZXJvIGFkZHJlc3MgZm9yIGFsbCBhZGRyZXNzZXMKLy8gQHBhcmFtIGxhc3RWYWxpZFJvdW5kIFRoZSByb3VuZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGV4cGlyZXMKLy8gQHBhcmFtIGNvb2xkb3duICBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0aGF0IG11c3QgcGFzcyBiZWZvcmUgdGhlIHBsdWdpbiBjYW4gYmUgY2FsbGVkIGFnYWluCi8vIEBwYXJhbSBhZG1pblByaXZpbGVnZXMgV2hldGhlciB0aGUgcGx1Z2luIGhhcyBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIGFkbWluIGFjY291bnQKYXJjNThfYWRkUGx1Z2luOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIyNAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC00IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC01IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVQbHVnaW46CgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9yZW1vdmVQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3JlbW92ZVBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzKTogdm9pZAovLwovLyBSZW1vdmUgYW4gYXBwIGZyb20gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gcmVtb3ZlCmFyYzU4X3JlbW92ZVBsdWdpbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDAKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQyCgkvLyBrZXk6IFBsdWdpbnNLZXkgPSB7IGFwcGxpY2F0aW9uOiBhcHAsIGFsbG93ZWRDYWxsZXI6IGFsbG93ZWRDYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI0MwoJLy8gdGhpcy5wbHVnaW5zKGtleSkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjYKCS8vIGFzc2VydCghdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkuZXhpc3RzKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjgKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTIgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY5CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZSA9IGtleQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTQgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC01IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC02IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4oc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFJlbW92ZSBhIG5hbWVkIHBsdWdpbgovLwovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NgoJLy8gYXBwID0gdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4OAoJLy8gdGhpcy5wbHVnaW5zKGFwcCkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWFzc2VydAoJY29uY2F0Cglib3hfZGVsCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI0Yzc3ZDcxIC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkMjRiNzU1NiAvLyBtZXRob2QgImFyYzU4X2NoYW5nZUFkbWluKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDVmYTQ0OWM2IC8vIG1ldGhvZCAiYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNiYzQ0ZTQgLy8gbWV0aG9kICJhcmM1OF9nZXRBZG1pbigpYWRkcmVzcyIKCWJ5dGVjIDYgLy8gIG1ldGhvZCAiYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQiCglwdXNoYnl0ZXMgMHhjOTVhNWQzZCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHg3Yzc2NmRkYyAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1NmYyOGI1OCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGQxMmRjYjYxIC8vIG1ldGhvZCAiYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQzNzIzNTUgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhhNzJhNzUwIC8vIG1ldGhvZCAiYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTM1MGI5ZDQgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNThfY2hhbmdlQWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluICphYmlfcm91dGVfYXJjNThfdmVyaWZ5QXV0aEFkZHIgKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvICphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3JlbW92ZVBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZE5hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIgNgpieXRlY2Jsb2NrIDB4NzAgMHg2MSAweCAweDYzIDB4NmUgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MGY4ODU0OTMgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAzIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCk6IHZvaWQKLy8KLy8gRW5zdXJlIHRoYXQgYnkgdGhlIGVuZCBvZiB0aGUgZ3JvdXAgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBoYXMgY29udHJvbCBvZiBpdHMgYWRkcmVzcwp2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQ6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NQoJLy8gcmVrZXllZEJhY2sgPSBmYWxzZQoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGZvciAobGV0IGkgPSB0aGlzLnR4bi5ncm91cEluZGV4OyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGg7IGkgKz0gMSkKCXR4biBHcm91cEluZGV4CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZ2xvYmFsIEdyb3VwU2l6ZQoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDgKCS8vIHR4biA9IHRoaXMudHhuR3JvdXBbaV0KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIHR4bjogdHhuCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTEKCS8vIHR4bi5zZW5kZXIgPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUgJiYgdHhuLnJla2V5VG8gPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MgoJLy8gcmVrZXllZEJhY2sgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTgKCS8vIHR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCAmJgoJLy8gICAgICAgICB0eG4uYXBwbGljYXRpb25JRCA9PT0gdGhpcy5hcHAgJiYKCS8vICAgICAgICAgdHhuLm51bUFwcEFyZ3MgPT09IDEgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uQXJnc1swXSA9PT0gbWV0aG9kKCdhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCcpCglmcmFtZV9kaWcgMiAvLyB0eG46IHR4bgoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNiAvLyAgbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gYWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW4pIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJvbGxlZEFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoY29udHJvbGxlZEFkZHJlc3MpIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MsIGFkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBDcmVhdGUgYW4gYWJzdHJhY3RlZCBhY2NvdW50IGFwcGxpY2F0aW9uLgovLyBUaGlzIGlzIG5vdCBwYXJ0IG9mIEFSQzU4IGFuZCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4KLy8KLy8gQHBhcmFtIGNvbnRyb2xsZWRBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBhYnN0cmFjdGVkIGFjY291bnQuIElmIHplcm9BZGRyZXNzLCB0aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBhY2NvdW50IHdpbGwgYmUgdXNlZAovLyBAcGFyYW0gYWRtaW4gVGhlIGFkbWluIGZvciB0aGlzIGFwcApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6ODcKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCT09Cgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Iltjb250cm9sbGVkQWRkcmVzcywgYWRtaW5dIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTEKCS8vIGFzc2VydChhZG1pbiAhPT0gY29udHJvbGxlZEFkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTMKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBhZG1pbgoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo5NAoJLy8gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSA9IGNvbnRyb2xsZWRBZGRyZXNzID09PSBBZGRyZXNzLnplcm9BZGRyZXNzID8gdGhpcy5hcHAuYWRkcmVzcyA6IGNvbnRyb2xsZWRBZGRyZXNzCglieXRlYyAzIC8vICAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTA0CgkvLyB0aGlzLmFkbWluLnZhbHVlID0gbmV3QWRtaW4KCWJ5dGVjIDEgLy8gICJhIgoJZnJhbWVfZGlnIC0xIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwbHVnaW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbihwbHVnaW46IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIHZpYSBwbHVnaW4uCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCBjYWxsaW5nIHRoZSBwbHVnaW4KLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3MgdGhhdCB0cmlnZ2VyZWQgdGhlIHBsdWdpbgovLyBAcGFyYW0gbmV3QWRtaW4gVGhlIG5ldyBhZG1pbgphcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTYKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHBsdWdpbi5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoicGx1Z2luLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTcKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSBwbHVnaW4uYWRkcmVzcywgJ1RoaXMgcGx1Z2luIGlzIG5vdCBpbiBjb250cm9sIG9mIHRoZSBhY2NvdW50JykKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNAoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglnZXRiaXQKCSYmCgoqc2tpcF9hbmQ0OgoJLy8gVGhpcyBwbHVnaW4gZG9lcyBub3QgaGF2ZSBhZG1pbiBwcml2aWxlZ2VzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEyNQoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlYyAxIC8vICAiYSIKCWZyYW1lX2RpZyAtMyAvLyBuZXdBZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNThfZ2V0QWRtaW4oKWFkZHJlc3MKKmFiaV9yb3V0ZV9hcmM1OF9nZXRBZG1pbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJLy8gZXhlY3V0ZSBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoJY2FsbHN1YiBhcmM1OF92ZXJpZnlBdXRoQWRkcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKTogdm9pZAovLwovLyBWZXJpZnkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBpcyByZWtleWVkIHRvIHRoaXMgYXBwCmFyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNDAKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSB0aGlzLmdldEF1dGhBZGRyKCkpCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglhY2N0X3BhcmFtc19nZXQgQWNjdEF1dGhBZGRyCglwb3AKCWNhbGxzdWIgZ2V0QXV0aEFkZHIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG86CgkvLyBmbGFzaDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGZsYXNoKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhZGRyKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG8oYWRkcjogQWRkcmVzcywgZmxhc2g6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIFJla2V5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgdG8gYW5vdGhlciBhZGRyZXNzLiBQcmltYXJpbHkgdXNlZnVsIGZvciByZWtleWluZyB0byBhbiBFT0EuCi8vCi8vIEBwYXJhbSBhZGRyIFRoZSBhZGRyZXNzIHRvIHJla2V5IHRvCi8vIEBwYXJhbSBmbGFzaCBXaGV0aGVyIG9yIG5vdCB0aGlzIHNob3VsZCBiZSBhIGZsYXNoIHJla2V5LiBJZiB0cnVlLCB0aGUgcmVrZXkgYmFjayB0byB0aGUgYXBwIGFkZHJlc3MgbXVzdCBkb25lIGluIHRoZSBzYW1lIHR4biBncm91cCBhcyB0aGlzIGNhbGwKYXJjNThfcmVrZXlUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUwCgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUzCgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglwdXNoYnl0ZXMgMHg3MjY1NmI2NTc5Njk2ZTY3MjA2MTYyNzM3NDcyNjE2Mzc0NjU2NDIwNjE2MzYzNmY3NTZlNzQgLy8gInJla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIGZsYXNoCglmcmFtZV9kaWcgLTIgLy8gZmxhc2g6IGJvb2xlYW4KCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE1OQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCippZjJfZW5kOgoJcmV0c3ViCgovLyBwbHVnaW5DYWxsQWxsb3dlZChhcHA6IEFwcElELCBjYWxsZXI6IEFkZHJlc3MpOiBib29sZWFuCnBsdWdpbkNhbGxBbGxvd2VkOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2MwoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBjYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBjYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTY1CgkvLyByZXR1cm4gKAoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkuZXhpc3RzICYmCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5sYXN0VmFsaWRSb3VuZCA+PSBnbG9iYWxzLnJvdW5kICYmCgkvLyAgICAgICBnbG9iYWxzLnJvdW5kIC0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdENhbGxlZCA+PSB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5jb29sZG93bgoJLy8gICAgICk7CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNQoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxNiA4CglidG9pCgktCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCT49CgkmJgoKKnNraXBfYW5kNjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbjoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4ocGx1Z2luOiBBcHBJRCk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYW4gYXBwcm92ZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCB0byByZWtleSB0bwphcmM1OF9yZWtleVRvUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsQWxsb3dlZCA9IHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoJZnJhbWVfYnVyeSAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODAKCS8vICFnbG9iYWxBbGxvd2VkCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODEKCS8vIGFzc2VydCh0aGlzLnBsdWdpbkNhbGxBbGxvd2VkKHBsdWdpbiwgdGhpcy50eG4uc2VuZGVyKSwgJ1RoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4nKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWNhbGxzdWIgcGx1Z2luQ2FsbEFsbG93ZWQKCgkvLyBUaGlzIHNlbmRlciBpcyBub3QgYWxsb3dlZCB0byB0cmlnZ2VyIHRoaXMgcGx1Z2luCglhc3NlcnQKCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODMKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MsCgkvLyAgICAgICBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODQKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZWMgMyAvLyAgImMiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NQoJLy8gcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCXB1c2hieXRlcyAweDcyNjU2YjY1Nzk2OTZlNjcyMDc0NmYyMDcwNmM3NTY3Njk2ZTIwNjE3MDcwIC8vICJyZWtleWluZyB0byBwbHVnaW4gYXBwIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTkwCgkvLyB0aGlzLnBsdWdpbnMoewoJLy8gICAgICAgYXBwbGljYXRpb246IHBsdWdpbiwKCS8vICAgICAgIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgIH0pLnZhbHVlLmxhc3RDYWxsZWQgPSBnbG9iYWxzLnJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTNfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTNfZW5kCgoqdGVybmFyeTNfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTNfZW5kOgoJY29uY2F0Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyh7IGFwcGxpY2F0aW9uOiBwbHVnaW4sIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLCB9KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxNgoJZ2xvYmFsIFJvdW5kCglpdG9iCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTVfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTVfZW5kCgoqdGVybmFyeTVfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTVfZW5kOgoJY29uY2F0Cgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxOTUKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZWtleVRvTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFRlbXBvcmFyaWx5IHJla2V5IHRvIGEgbmFtZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdG8gcmVrZXkgdG8KYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMDQKCS8vIHRoaXMuYXJjNThfcmVrZXlUb1BsdWdpbih0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZS5hcHBsaWNhdGlvbikKCWludGMgMSAvLyAwCglwdXNoaW50IDgKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBhcmM1OF9yZWtleVRvUGx1Z2luCglyZXRzdWIKCi8vIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbjoKCS8vIGFkbWluUHJpdmlsZWdlczogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluUHJpdmlsZWdlcykgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGRQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9hZGRQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYW4gYXBwIHRvIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIGFkZAovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyBvZiB0aGF0J3MgYWxsb3dlZCB0byBjYWxsIHRoZSBhcHAKLy8gb3IgdGhlIGdsb2JhbCB6ZXJvIGFkZHJlc3MgZm9yIGFsbCBhZGRyZXNzZXMKLy8gQHBhcmFtIGxhc3RWYWxpZFJvdW5kIFRoZSByb3VuZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGV4cGlyZXMKLy8gQHBhcmFtIGNvb2xkb3duICBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0aGF0IG11c3QgcGFzcyBiZWZvcmUgdGhlIHBsdWdpbiBjYW4gYmUgY2FsbGVkIGFnYWluCi8vIEBwYXJhbSBhZG1pblByaXZpbGVnZXMgV2hldGhlciB0aGUgcGx1Z2luIGhhcyBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIGFkbWluIGFjY291bnQKYXJjNThfYWRkUGx1Z2luOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIyNAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC00IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC01IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVQbHVnaW46CgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9yZW1vdmVQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3JlbW92ZVBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzKTogdm9pZAovLwovLyBSZW1vdmUgYW4gYXBwIGZyb20gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gcmVtb3ZlCmFyYzU4X3JlbW92ZVBsdWdpbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDAKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQyCgkvLyBrZXk6IFBsdWdpbnNLZXkgPSB7IGFwcGxpY2F0aW9uOiBhcHAsIGFsbG93ZWRDYWxsZXI6IGFsbG93ZWRDYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI0MwoJLy8gdGhpcy5wbHVnaW5zKGtleSkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjYKCS8vIGFzc2VydCghdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkuZXhpc3RzKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjgKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTIgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY5CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZSA9IGtleQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTQgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC01IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC02IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4oc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFJlbW92ZSBhIG5hbWVkIHBsdWdpbgovLwovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NgoJLy8gYXBwID0gdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4OAoJLy8gdGhpcy5wbHVnaW5zKGFwcCkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWFzc2VydAoJY29uY2F0Cglib3hfZGVsCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI0Yzc3ZDcxIC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkMjRiNzU1NiAvLyBtZXRob2QgImFyYzU4X2NoYW5nZUFkbWluKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDVmYTQ0OWM2IC8vIG1ldGhvZCAiYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNiYzQ0ZTQgLy8gbWV0aG9kICJhcmM1OF9nZXRBZG1pbigpYWRkcmVzcyIKCWJ5dGVjIDYgLy8gIG1ldGhvZCAiYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQiCglwdXNoYnl0ZXMgMHhjOTVhNWQzZCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHg3Yzc2NmRkYyAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1NmYyOGI1OCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGQxMmRjYjYxIC8vIG1ldGhvZCAiYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQzNzIzNTUgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhhNzJhNzUwIC8vIG1ldGhvZCAiYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTM1MGI5ZDQgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNThfY2hhbmdlQWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluICphYmlfcm91dGVfYXJjNThfdmVyaWZ5QXV0aEFkZHIgKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvICphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3JlbW92ZVBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZE5hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json b/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json index 660e3b9eb..8a847f4a9 100644 --- a/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json +++ b/examples/arc58/artifacts/AbstractedAccount.arc56_draft.json @@ -5168,7 +5168,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIgNgpieXRlY2Jsb2NrIDB4NzAgMHg2MSAweCAweDYzIDB4NmUgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MGY4ODU0OTMgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAzIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCk6IHZvaWQKLy8KLy8gRW5zdXJlIHRoYXQgYnkgdGhlIGVuZCBvZiB0aGUgZ3JvdXAgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBoYXMgY29udHJvbCBvZiBpdHMgYWRkcmVzcwp2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQ6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NQoJLy8gcmVrZXllZEJhY2sgPSBmYWxzZQoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGZvciAobGV0IGkgPSB0aGlzLnR4bi5ncm91cEluZGV4OyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGg7IGkgKz0gMSkKCXR4biBHcm91cEluZGV4CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZ2xvYmFsIEdyb3VwU2l6ZQoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDgKCS8vIHR4biA9IHRoaXMudHhuR3JvdXBbaV0KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIHR4bjogdHhuCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTEKCS8vIHR4bi5zZW5kZXIgPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUgJiYgdHhuLnJla2V5VG8gPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MgoJLy8gcmVrZXllZEJhY2sgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTgKCS8vIHR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCAmJgoJLy8gICAgICAgICB0eG4uYXBwbGljYXRpb25JRCA9PT0gdGhpcy5hcHAgJiYKCS8vICAgICAgICAgdHhuLm51bUFwcEFyZ3MgPT09IDEgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uQXJnc1swXSA9PT0gbWV0aG9kKCdhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCcpCglmcmFtZV9kaWcgMiAvLyB0eG46IHR4bgoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNiAvLyAgbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gYWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW4pIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJvbGxlZEFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoY29udHJvbGxlZEFkZHJlc3MpIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MsIGFkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBDcmVhdGUgYW4gYWJzdHJhY3RlZCBhY2NvdW50IGFwcGxpY2F0aW9uLgovLyBUaGlzIGlzIG5vdCBwYXJ0IG9mIEFSQzU4IGFuZCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4KLy8KLy8gQHBhcmFtIGNvbnRyb2xsZWRBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBhYnN0cmFjdGVkIGFjY291bnQuIElmIHplcm9BZGRyZXNzLCB0aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBhY2NvdW50IHdpbGwgYmUgdXNlZAovLyBAcGFyYW0gYWRtaW4gVGhlIGFkbWluIGZvciB0aGlzIGFwcApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6ODcKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCT09Cgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Iltjb250cm9sbGVkQWRkcmVzcywgYWRtaW5dIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTEKCS8vIGFzc2VydChhZG1pbiAhPT0gY29udHJvbGxlZEFkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTMKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBhZG1pbgoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo5NAoJLy8gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSA9IGNvbnRyb2xsZWRBZGRyZXNzID09PSBBZGRyZXNzLnplcm9BZGRyZXNzID8gdGhpcy5hcHAuYWRkcmVzcyA6IGNvbnRyb2xsZWRBZGRyZXNzCglieXRlYyAzIC8vICAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTA0CgkvLyB0aGlzLmFkbWluLnZhbHVlID0gbmV3QWRtaW4KCWJ5dGVjIDEgLy8gICJhIgoJZnJhbWVfZGlnIC0xIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwbHVnaW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbihwbHVnaW46IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIHZpYSBwbHVnaW4uCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCBjYWxsaW5nIHRoZSBwbHVnaW4KLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3MgdGhhdCB0cmlnZ2VyZWQgdGhlIHBsdWdpbgovLyBAcGFyYW0gbmV3QWRtaW4gVGhlIG5ldyBhZG1pbgphcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTYKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHBsdWdpbi5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoicGx1Z2luLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTcKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSBwbHVnaW4uYWRkcmVzcywgJ1RoaXMgcGx1Z2luIGlzIG5vdCBpbiBjb250cm9sIG9mIHRoZSBhY2NvdW50JykKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNAoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglnZXRiaXQKCSYmCgoqc2tpcF9hbmQ0OgoJLy8gVGhpcyBwbHVnaW4gZG9lcyBub3QgaGF2ZSBhZG1pbiBwcml2aWxlZ2VzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEyNQoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlYyAxIC8vICAiYSIKCWZyYW1lX2RpZyAtMyAvLyBuZXdBZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNThfZ2V0QWRtaW4oKWFkZHJlc3MKKmFiaV9yb3V0ZV9hcmM1OF9nZXRBZG1pbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJLy8gZXhlY3V0ZSBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoJY2FsbHN1YiBhcmM1OF92ZXJpZnlBdXRoQWRkcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKTogdm9pZAovLwovLyBWZXJpZnkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBpcyByZWtleWVkIHRvIHRoaXMgYXBwCmFyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNDAKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSB0aGlzLmdldEF1dGhBZGRyKCkpCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglhY2N0X3BhcmFtc19nZXQgQWNjdEF1dGhBZGRyCglwb3AKCWNhbGxzdWIgZ2V0QXV0aEFkZHIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG86CgkvLyBmbGFzaDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGZsYXNoKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhZGRyKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG8oYWRkcjogQWRkcmVzcywgZmxhc2g6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIFJla2V5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgdG8gYW5vdGhlciBhZGRyZXNzLiBQcmltYXJpbHkgdXNlZnVsIGZvciByZWtleWluZyB0byBhbiBFT0EuCi8vCi8vIEBwYXJhbSBhZGRyIFRoZSBhZGRyZXNzIHRvIHJla2V5IHRvCi8vIEBwYXJhbSBmbGFzaCBXaGV0aGVyIG9yIG5vdCB0aGlzIHNob3VsZCBiZSBhIGZsYXNoIHJla2V5LiBJZiB0cnVlLCB0aGUgcmVrZXkgYmFjayB0byB0aGUgYXBwIGFkZHJlc3MgbXVzdCBkb25lIGluIHRoZSBzYW1lIHR4biBncm91cCBhcyB0aGlzIGNhbGwKYXJjNThfcmVrZXlUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUwCgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUzCgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglwdXNoYnl0ZXMgMHg3MjY1NmI2NTc5Njk2ZTY3MjA2MTYyNzM3NDcyNjE2Mzc0NjU2NDIwNjE2MzYzNmY3NTZlNzQgLy8gInJla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIGZsYXNoCglmcmFtZV9kaWcgLTIgLy8gZmxhc2g6IGJvb2xlYW4KCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE1OQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCippZjJfZW5kOgoJcmV0c3ViCgovLyBwbHVnaW5DYWxsQWxsb3dlZChhcHA6IEFwcElELCBjYWxsZXI6IEFkZHJlc3MpOiBib29sZWFuCnBsdWdpbkNhbGxBbGxvd2VkOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2MwoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBjYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBjYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTY1CgkvLyByZXR1cm4gKAoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkuZXhpc3RzICYmCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5sYXN0VmFsaWRSb3VuZCA+PSBnbG9iYWxzLnJvdW5kICYmCgkvLyAgICAgICBnbG9iYWxzLnJvdW5kIC0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdENhbGxlZCA+PSB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5jb29sZG93bgoJLy8gICAgICk7CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNQoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxNiA4CglidG9pCgktCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCT49CgkmJgoKKnNraXBfYW5kNjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbjoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4ocGx1Z2luOiBBcHBJRCk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYW4gYXBwcm92ZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCB0byByZWtleSB0bwphcmM1OF9yZWtleVRvUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsQWxsb3dlZCA9IHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoJZnJhbWVfYnVyeSAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODAKCS8vICFnbG9iYWxBbGxvd2VkCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODEKCS8vIGFzc2VydCh0aGlzLnBsdWdpbkNhbGxBbGxvd2VkKHBsdWdpbiwgdGhpcy50eG4uc2VuZGVyKSwgJ1RoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4nKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWNhbGxzdWIgcGx1Z2luQ2FsbEFsbG93ZWQKCgkvLyBUaGlzIHNlbmRlciBpcyBub3QgYWxsb3dlZCB0byB0cmlnZ2VyIHRoaXMgcGx1Z2luCglhc3NlcnQKCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODMKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MsCgkvLyAgICAgICBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODQKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZWMgMyAvLyAgImMiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NQoJLy8gcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCXB1c2hieXRlcyAweDcyNjU2YjY1Nzk2OTZlNjcyMDc0NmYyMDcwNmM3NTY3Njk2ZTIwNjE3MDcwIC8vICJyZWtleWluZyB0byBwbHVnaW4gYXBwIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTkwCgkvLyB0aGlzLnBsdWdpbnMoewoJLy8gICAgICAgYXBwbGljYXRpb246IHBsdWdpbiwKCS8vICAgICAgIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgIH0pLnZhbHVlLmxhc3RDYWxsZWQgPSBnbG9iYWxzLnJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTNfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTNfZW5kCgoqdGVybmFyeTNfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTNfZW5kOgoJY29uY2F0Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyh7IGFwcGxpY2F0aW9uOiBwbHVnaW4sIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLCB9KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxNgoJZ2xvYmFsIFJvdW5kCglpdG9iCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTVfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTVfZW5kCgoqdGVybmFyeTVfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTVfZW5kOgoJY29uY2F0Cgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxOTUKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZWtleVRvTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFRlbXBvcmFyaWx5IHJla2V5IHRvIGEgbmFtZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdG8gcmVrZXkgdG8KYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMDQKCS8vIHRoaXMuYXJjNThfcmVrZXlUb1BsdWdpbih0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZS5hcHBsaWNhdGlvbikKCWludGMgMSAvLyAwCglwdXNoaW50IDgKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBhcmM1OF9yZWtleVRvUGx1Z2luCglyZXRzdWIKCi8vIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbjoKCS8vIGFkbWluUHJpdmlsZWdlczogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluUHJpdmlsZWdlcykgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGRQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9hZGRQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYW4gYXBwIHRvIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIGFkZAovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyBvZiB0aGF0J3MgYWxsb3dlZCB0byBjYWxsIHRoZSBhcHAKLy8gb3IgdGhlIGdsb2JhbCB6ZXJvIGFkZHJlc3MgZm9yIGFsbCBhZGRyZXNzZXMKLy8gQHBhcmFtIGxhc3RWYWxpZFJvdW5kIFRoZSByb3VuZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGV4cGlyZXMKLy8gQHBhcmFtIGNvb2xkb3duICBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0aGF0IG11c3QgcGFzcyBiZWZvcmUgdGhlIHBsdWdpbiBjYW4gYmUgY2FsbGVkIGFnYWluCi8vIEBwYXJhbSBhZG1pblByaXZpbGVnZXMgV2hldGhlciB0aGUgcGx1Z2luIGhhcyBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIGFkbWluIGFjY291bnQKYXJjNThfYWRkUGx1Z2luOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIyNAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC00IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC01IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVQbHVnaW46CgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9yZW1vdmVQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3JlbW92ZVBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzKTogdm9pZAovLwovLyBSZW1vdmUgYW4gYXBwIGZyb20gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gcmVtb3ZlCmFyYzU4X3JlbW92ZVBsdWdpbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDAKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQyCgkvLyBrZXk6IFBsdWdpbnNLZXkgPSB7IGFwcGxpY2F0aW9uOiBhcHAsIGFsbG93ZWRDYWxsZXI6IGFsbG93ZWRDYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI0MwoJLy8gdGhpcy5wbHVnaW5zKGtleSkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjYKCS8vIGFzc2VydCghdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkuZXhpc3RzKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjgKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTIgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY5CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZSA9IGtleQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTQgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC01IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC02IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4oc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFJlbW92ZSBhIG5hbWVkIHBsdWdpbgovLwovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NgoJLy8gYXBwID0gdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4OAoJLy8gdGhpcy5wbHVnaW5zKGFwcCkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWFzc2VydAoJY29uY2F0Cglib3hfZGVsCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI0Yzc3ZDcxIC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkMjRiNzU1NiAvLyBtZXRob2QgImFyYzU4X2NoYW5nZUFkbWluKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDVmYTQ0OWM2IC8vIG1ldGhvZCAiYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNiYzQ0ZTQgLy8gbWV0aG9kICJhcmM1OF9nZXRBZG1pbigpYWRkcmVzcyIKCWJ5dGVjIDYgLy8gIG1ldGhvZCAiYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQiCglwdXNoYnl0ZXMgMHhjOTVhNWQzZCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHg3Yzc2NmRkYyAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1NmYyOGI1OCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGQxMmRjYjYxIC8vIG1ldGhvZCAiYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQzNzIzNTUgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhhNzJhNzUwIC8vIG1ldGhvZCAiYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTM1MGI5ZDQgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNThfY2hhbmdlQWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluICphYmlfcm91dGVfYXJjNThfdmVyaWZ5QXV0aEFkZHIgKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvICphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3JlbW92ZVBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZE5hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIgNgpieXRlY2Jsb2NrIDB4NzAgMHg2MSAweCAweDYzIDB4NmUgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MGY4ODU0OTMgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAzIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCk6IHZvaWQKLy8KLy8gRW5zdXJlIHRoYXQgYnkgdGhlIGVuZCBvZiB0aGUgZ3JvdXAgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBoYXMgY29udHJvbCBvZiBpdHMgYWRkcmVzcwp2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQ6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo0NQoJLy8gcmVrZXllZEJhY2sgPSBmYWxzZQoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyByZWtleWVkQmFjazogYm9vbAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDcKCS8vIGZvciAobGV0IGkgPSB0aGlzLnR4bi5ncm91cEluZGV4OyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGg7IGkgKz0gMSkKCXR4biBHcm91cEluZGV4CglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpIDwgdGhpcy50eG5Hcm91cC5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZ2xvYmFsIEdyb3VwU2l6ZQoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NDgKCS8vIHR4biA9IHRoaXMudHhuR3JvdXBbaV0KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIHR4bjogdHhuCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTEKCS8vIHR4bi5zZW5kZXIgPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUgJiYgdHhuLnJla2V5VG8gPT09IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBSZWtleVRvCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo1MgoJLy8gcmVrZXllZEJhY2sgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIHJla2V5ZWRCYWNrOiBib29sCgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NTgKCS8vIHR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCAmJgoJLy8gICAgICAgICB0eG4uYXBwbGljYXRpb25JRCA9PT0gdGhpcy5hcHAgJiYKCS8vICAgICAgICAgdHhuLm51bUFwcEFyZ3MgPT09IDEgJiYKCS8vICAgICAgICAgdHhuLmFwcGxpY2F0aW9uQXJnc1swXSA9PT0gbWV0aG9kKCdhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCcpCglmcmFtZV9kaWcgMiAvLyB0eG46IHR4bgoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAgYXBwbAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIEFwcGxpY2F0aW9uSUQKCXR4bmEgQXBwbGljYXRpb25zIDAKCT09CgkmJgoKKnNraXBfYW5kMToKCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIDIgLy8gdHhuOiB0eG4KCWd0eG5zIE51bUFwcEFyZ3MKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDI6CglkdXAKCWJ6ICpza2lwX2FuZDMKCWZyYW1lX2RpZyAyIC8vIHR4bjogdHhuCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNiAvLyAgbWV0aG9kICJhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjYzCgkvLyByZWtleWVkQmFjayA9IHRydWUKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWIgKmZvcl8wX2VuZAoKKmlmMV9lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjQ3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo2OAoJLy8gYXNzZXJ0KHJla2V5ZWRCYWNrKQoJZnJhbWVfZGlnIDAgLy8gcmVrZXllZEJhY2s6IGJvb2wKCWFzc2VydAoJcmV0c3ViCgovLyBnZXRBdXRoQWRkcigpOiBBZGRyZXNzCi8vCi8vIFdoYXQgdGhlIHZhbHVlIG9mIHRoaXMuYWRkcmVzcy52YWx1ZS5hdXRoQWRkciBzaG91bGQgYmUgd2hlbiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzCi8vIGlzIGFibGUgdG8gYmUgY29udHJvbGxlZCBieSB0aGlzIGFwcC4gSXQgd2lsbCBlaXRoZXIgYmUgdGhpcy5hcHAuYWRkcmVzcyBvciB6ZXJvQWRkcmVzcwpnZXRBdXRoQWRkcjoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6NzYKCS8vIHJldHVybiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlID09PSB0aGlzLmFwcC5hZGRyZXNzID8gQWRkcmVzcy56ZXJvQWRkcmVzcyA6IHRoaXMuYXBwLmFkZHJlc3M7CglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZ2xvYmFsIFplcm9BZGRyZXNzCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gYWRtaW46IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRtaW4pIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJvbGxlZEFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoY29udHJvbGxlZEFkZHJlc3MpIGZvciBjcmVhdGVBcHBsaWNhdGlvbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbihhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MsIGFkbWluOiBBZGRyZXNzKTogdm9pZAovLwovLyBDcmVhdGUgYW4gYWJzdHJhY3RlZCBhY2NvdW50IGFwcGxpY2F0aW9uLgovLyBUaGlzIGlzIG5vdCBwYXJ0IG9mIEFSQzU4IGFuZCBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4KLy8KLy8gQHBhcmFtIGNvbnRyb2xsZWRBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBhYnN0cmFjdGVkIGFjY291bnQuIElmIHplcm9BZGRyZXNzLCB0aGVuIHRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCBhY2NvdW50IHdpbGwgYmUgdXNlZAovLyBAcGFyYW0gYWRtaW4gVGhlIGFkbWluIGZvciB0aGlzIGFwcApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6ODcKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbY29udHJvbGxlZEFkZHJlc3MsIGFkbWluXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCT09Cgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCT09Cgl8fAoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Iltjb250cm9sbGVkQWRkcmVzcywgYWRtaW5dIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTEKCS8vIGFzc2VydChhZG1pbiAhPT0gY29udHJvbGxlZEFkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6OTMKCS8vIHRoaXMuYWRtaW4udmFsdWUgPSBhZG1pbgoJYnl0ZWMgMSAvLyAgImEiCglmcmFtZV9kaWcgLTIgLy8gYWRtaW46IEFkZHJlc3MKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czo5NAoJLy8gdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSA9IGNvbnRyb2xsZWRBZGRyZXNzID09PSBBZGRyZXNzLnplcm9BZGRyZXNzID8gdGhpcy5hcHAuYWRkcmVzcyA6IGNvbnRyb2xsZWRBZGRyZXNzCglieXRlYyAzIC8vICAiYyIKCWZyYW1lX2RpZyAtMSAvLyBjb250cm9sbGVkQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJYnogKnRlcm5hcnkxX2ZhbHNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglmcmFtZV9kaWcgLTEgLy8gY29udHJvbGxlZEFkZHJlc3M6IEFkZHJlc3MKCip0ZXJuYXJ5MV9lbmQ6CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9jaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfY2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNThfY2hhbmdlQWRtaW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X2NoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9jaGFuZ2VBZG1pbihuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIGZvciB0aGlzIGFwcC4gU29tZSBpbXBsZW1lbnRhdGlvbnMgTUFZIG5vdCBzdXBwb3J0IHRoaXMuCi8vCi8vIEBwYXJhbSBuZXdBZG1pbiBUaGUgbmV3IGFkbWluCmFyYzU4X2NoYW5nZUFkbWluOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMDMKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTA0CgkvLyB0aGlzLmFkbWluLnZhbHVlID0gbmV3QWRtaW4KCWJ5dGVjIDEgLy8gICJhIgoJZnJhbWVfZGlnIC0xIC8vIG5ld0FkbWluOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbih1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCS8vIG5ld0FkbWluOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG5ld0FkbWluKSBmb3IgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFsbG93ZWRDYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYWxsb3dlZENhbGxlcikgZm9yIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwbHVnaW46IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFyYzU4X3BsdWdpbkNoYW5nZUFkbWluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbihwbHVnaW46IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzLCBuZXdBZG1pbjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQXR0ZW1wdCB0byBjaGFuZ2UgdGhlIGFkbWluIHZpYSBwbHVnaW4uCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCBjYWxsaW5nIHRoZSBwbHVnaW4KLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3MgdGhhdCB0cmlnZ2VyZWQgdGhlIHBsdWdpbgovLyBAcGFyYW0gbmV3QWRtaW4gVGhlIG5ldyBhZG1pbgphcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbjoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTYKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHBsdWdpbi5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoicGx1Z2luLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTcKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSBwbHVnaW4uYWRkcmVzcywgJ1RoaXMgcGx1Z2luIGlzIG5vdCBpbiBjb250cm9sIG9mIHRoZSBhY2NvdW50JykKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWFjY3RfcGFyYW1zX2dldCBBY2N0QXV0aEFkZHIKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCgkvLyBUaGlzIHBsdWdpbiBpcyBub3QgaW4gY29udHJvbCBvZiB0aGUgYWNjb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMTkKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IHBsdWdpbiwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTIwCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS5leGlzdHMgJiYgdGhpcy5wbHVnaW5zKGtleSkudmFsdWUuYWRtaW5Qcml2aWxlZ2VzLAoJLy8gICAgICAgJ1RoaXMgcGx1Z2luIGRvZXMgbm90IGhhdmUgYWRtaW4gcHJpdmlsZWdlcycKCS8vICAgICApCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNAoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglnZXRiaXQKCSYmCgoqc2tpcF9hbmQ0OgoJLy8gVGhpcyBwbHVnaW4gZG9lcyBub3QgaGF2ZSBhZG1pbiBwcml2aWxlZ2VzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjEyNQoJLy8gdGhpcy5hZG1pbi52YWx1ZSA9IG5ld0FkbWluCglieXRlYyAxIC8vICAiYSIKCWZyYW1lX2RpZyAtMyAvLyBuZXdBZG1pbjogQWRkcmVzcwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNThfZ2V0QWRtaW4oKWFkZHJlc3MKKmFiaV9yb3V0ZV9hcmM1OF9nZXRBZG1pbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFyYzU4X2dldEFkbWluKClhZGRyZXNzCgljYWxsc3ViIGFyYzU4X2dldEFkbWluCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfZ2V0QWRtaW4oKTogQWRkcmVzcwovLwovLyBHZXQgdGhlIGFkbWluIG9mIHRoaXMgYXBwLiBUaGlzIG1ldGhvZCBTSE9VTEQgYWx3YXlzIGJlIHVzZWQgcmF0aGVyIHRoYW4gcmVhZGluZyBkaXJlY3RseSBmcm9tIHN0YXRlCi8vIGJlY2F1c2UgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBtYXkgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBkZXRlcm1pbmluZyB0aGUgYWRtaW4uCmFyYzU4X2dldEFkbWluOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxMzMKCS8vIHJldHVybiB0aGlzLmFkbWluLnZhbHVlOwoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJLy8gZXhlY3V0ZSBhcmM1OF92ZXJpZnlBdXRoQWRkcigpdm9pZAoJY2FsbHN1YiBhcmM1OF92ZXJpZnlBdXRoQWRkcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJjNThfdmVyaWZ5QXV0aEFkZHIoKTogdm9pZAovLwovLyBWZXJpZnkgdGhlIGFic3RyYWN0ZWQgYWNjb3VudCBpcyByZWtleWVkIHRvIHRoaXMgYXBwCmFyYzU4X3ZlcmlmeUF1dGhBZGRyOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNDAKCS8vIGFzc2VydCh0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLmF1dGhBZGRyID09PSB0aGlzLmdldEF1dGhBZGRyKCkpCglieXRlYyAzIC8vICAiYyIKCWFwcF9nbG9iYWxfZ2V0CglhY2N0X3BhcmFtc19nZXQgQWNjdEF1dGhBZGRyCglwb3AKCWNhbGxzdWIgZ2V0QXV0aEFkZHIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXJjNThfcmVrZXlUbyhhZGRyZXNzLGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG86CgkvLyBmbGFzaDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGZsYXNoKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhZGRyKSBmb3IgYXJjNThfcmVrZXlUbyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvKGFkZHJlc3MsYm9vbCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG8oYWRkcjogQWRkcmVzcywgZmxhc2g6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIFJla2V5IHRoZSBhYnN0cmFjdGVkIGFjY291bnQgdG8gYW5vdGhlciBhZGRyZXNzLiBQcmltYXJpbHkgdXNlZnVsIGZvciByZWtleWluZyB0byBhbiBFT0EuCi8vCi8vIEBwYXJhbSBhZGRyIFRoZSBhZGRyZXNzIHRvIHJla2V5IHRvCi8vIEBwYXJhbSBmbGFzaCBXaGV0aGVyIG9yIG5vdCB0aGlzIHNob3VsZCBiZSBhIGZsYXNoIHJla2V5LiBJZiB0cnVlLCB0aGUgcmVrZXkgYmFjayB0byB0aGUgYXBwIGFkZHJlc3MgbXVzdCBkb25lIGluIHRoZSBzYW1lIHR4biBncm91cCBhcyB0aGlzIGNhbGwKYXJjNThfcmVrZXlUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUwCgkvLyB2ZXJpZnlBcHBDYWxsVHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiBhZGRyLAoJLy8gICAgICAgcmVrZXlUbzogYWRkciwKCS8vICAgICAgIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTUzCgkvLyBzZW5kZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgU2VuZGVyCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTQKCS8vIHJlY2VpdmVyOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTU1CgkvLyByZWtleVRvOiBhZGRyCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWtleVRvCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTYKCS8vIG5vdGU6ICdyZWtleWluZyBhYnN0cmFjdGVkIGFjY291bnQnCglwdXNoYnl0ZXMgMHg3MjY1NmI2NTc5Njk2ZTY3MjA2MTYyNzM3NDcyNjE2Mzc0NjU2NDIwNjE2MzYzNmY3NTZlNzQgLy8gInJla2V5aW5nIGFic3RyYWN0ZWQgYWNjb3VudCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxNTkKCS8vIGZsYXNoCglmcmFtZV9kaWcgLTIgLy8gZmxhc2g6IGJvb2xlYW4KCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE1OQoJLy8gdGhpcy52ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQoKQoJY2FsbHN1YiB2ZXJpZnlSZWtleVRvQWJzdHJhY3RlZEFjY291bnQKCippZjJfZW5kOgoJcmV0c3ViCgovLyBwbHVnaW5DYWxsQWxsb3dlZChhcHA6IEFwcElELCBjYWxsZXI6IEFkZHJlc3MpOiBib29sZWFuCnBsdWdpbkNhbGxBbGxvd2VkOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE2MwoJLy8ga2V5OiBQbHVnaW5zS2V5ID0geyBhcHBsaWNhdGlvbjogYXBwLCBhbGxvd2VkQ2FsbGVyOiBjYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBjYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTY1CgkvLyByZXR1cm4gKAoJLy8gICAgICAgdGhpcy5wbHVnaW5zKGtleSkuZXhpc3RzICYmCgkvLyAgICAgICB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5sYXN0VmFsaWRSb3VuZCA+PSBnbG9iYWxzLnJvdW5kICYmCgkvLyAgICAgICBnbG9iYWxzLnJvdW5kIC0gdGhpcy5wbHVnaW5zKGtleSkudmFsdWUubGFzdENhbGxlZCA+PSB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZS5jb29sZG93bgoJLy8gICAgICk7CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWR1cAoJYnogKnNraXBfYW5kNQoJYnl0ZWMgMCAvLyAgInAiCglmcmFtZV9kaWcgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wbHVnaW5zKGtleSkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglnbG9iYWwgUm91bmQKCT49CgkmJgoKKnNraXBfYW5kNToKCWR1cAoJYnogKnNraXBfYW5kNgoJZ2xvYmFsIFJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxNiA4CglidG9pCgktCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCT49CgkmJgoKKnNraXBfYW5kNjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbjoKCS8vIHBsdWdpbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZWtleVRvUGx1Z2luKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGFyYzU4X3Jla2V5VG9QbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9QbHVnaW4ocGx1Z2luOiBBcHBJRCk6IHZvaWQKLy8KLy8gVGVtcG9yYXJpbHkgcmVrZXkgdG8gYW4gYXBwcm92ZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBwbHVnaW4gVGhlIGFwcCB0byByZWtleSB0bwphcmM1OF9yZWtleVRvUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsQWxsb3dlZCA9IHRoaXMucGx1Z2luQ2FsbEFsbG93ZWQocGx1Z2luLCBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gcGx1Z2luOiBBcHBJRAoJY2FsbHN1YiBwbHVnaW5DYWxsQWxsb3dlZAoJZnJhbWVfYnVyeSAwIC8vIGdsb2JhbEFsbG93ZWQ6IGJvb2wKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODAKCS8vICFnbG9iYWxBbGxvd2VkCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODEKCS8vIGFzc2VydCh0aGlzLnBsdWdpbkNhbGxBbGxvd2VkKHBsdWdpbiwgdGhpcy50eG4uc2VuZGVyKSwgJ1RoaXMgc2VuZGVyIGlzIG5vdCBhbGxvd2VkIHRvIHRyaWdnZXIgdGhpcyBwbHVnaW4nKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBsdWdpbjogQXBwSUQKCWNhbGxzdWIgcGx1Z2luQ2FsbEFsbG93ZWQKCgkvLyBUaGlzIHNlbmRlciBpcyBub3QgYWxsb3dlZCB0byB0cmlnZ2VyIHRoaXMgcGx1Z2luCglhc3NlcnQKCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODMKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZSwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmNvbnRyb2xsZWRBZGRyZXNzLnZhbHVlLAoJLy8gICAgICAgcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MsCgkvLyAgICAgICBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxODQKCS8vIHNlbmRlcjogdGhpcy5jb250cm9sbGVkQWRkcmVzcy52YWx1ZQoJYnl0ZWMgMyAvLyAgImMiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NQoJLy8gcmVjZWl2ZXI6IHRoaXMuY29udHJvbGxlZEFkZHJlc3MudmFsdWUKCWJ5dGVjIDMgLy8gICJjIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjE4NgoJLy8gcmVrZXlUbzogcGx1Z2luLmFkZHJlc3MKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVrZXlUbwoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTg3CgkvLyBub3RlOiAncmVrZXlpbmcgdG8gcGx1Z2luIGFwcCcKCXB1c2hieXRlcyAweDcyNjU2YjY1Nzk2OTZlNjcyMDc0NmYyMDcwNmM3NTY3Njk2ZTIwNjE3MDcwIC8vICJyZWtleWluZyB0byBwbHVnaW4gYXBwIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MTkwCgkvLyB0aGlzLnBsdWdpbnMoewoJLy8gICAgICAgYXBwbGljYXRpb246IHBsdWdpbiwKCS8vICAgICAgIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgIH0pLnZhbHVlLmxhc3RDYWxsZWQgPSBnbG9iYWxzLnJvdW5kCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTNfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTNfZW5kCgoqdGVybmFyeTNfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTNfZW5kOgoJY29uY2F0Cgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGx1Z2lucyh7IGFwcGxpY2F0aW9uOiBwbHVnaW4sIGFsbG93ZWRDYWxsZXI6IGdsb2JhbEFsbG93ZWQgPyBBZGRyZXNzLnplcm9BZGRyZXNzIDogdGhpcy50eG4uc2VuZGVyLCB9KS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxNgoJZ2xvYmFsIFJvdW5kCglpdG9iCglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAtMSAvLyBwbHVnaW46IEFwcElECglpdG9iCglmcmFtZV9kaWcgMCAvLyBnbG9iYWxBbGxvd2VkOiBib29sCglieiAqdGVybmFyeTVfZmFsc2UKCWdsb2JhbCBaZXJvQWRkcmVzcwoJYiAqdGVybmFyeTVfZW5kCgoqdGVybmFyeTVfZmFsc2U6Cgl0eG4gU2VuZGVyCgoqdGVybmFyeTVfZW5kOgoJY29uY2F0Cgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoxOTUKCS8vIHRoaXMudmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50KCkKCWNhbGxzdWIgdmVyaWZ5UmVrZXlUb0Fic3RyYWN0ZWRBY2NvdW50CglyZXRzdWIKCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZWtleVRvTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFRlbXBvcmFyaWx5IHJla2V5IHRvIGEgbmFtZWQgcGx1Z2luIGFwcCBhZGRyZXNzCi8vCi8vIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdG8gcmVrZXkgdG8KYXJjNThfcmVrZXlUb05hbWVkUGx1Z2luOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMDQKCS8vIHRoaXMuYXJjNThfcmVrZXlUb1BsdWdpbih0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZS5hcHBsaWNhdGlvbikKCWludGMgMSAvLyAwCglwdXNoaW50IDgKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBhcmM1OF9yZWtleVRvUGx1Z2luCglyZXRzdWIKCi8vIGFyYzU4X2FkZFBsdWdpbih1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbjoKCS8vIGFkbWluUHJpdmlsZWdlczogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkbWluUHJpdmlsZWdlcykgZm9yIGFyYzU4X2FkZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGRQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGRQbHVnaW4odWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9hZGRQbHVnaW4oYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYW4gYXBwIHRvIHRoZSBsaXN0IG9mIGFwcHJvdmVkIHBsdWdpbnMKLy8KLy8gQHBhcmFtIGFwcCBUaGUgYXBwIHRvIGFkZAovLyBAcGFyYW0gYWxsb3dlZENhbGxlciBUaGUgYWRkcmVzcyBvZiB0aGF0J3MgYWxsb3dlZCB0byBjYWxsIHRoZSBhcHAKLy8gb3IgdGhlIGdsb2JhbCB6ZXJvIGFkZHJlc3MgZm9yIGFsbCBhZGRyZXNzZXMKLy8gQHBhcmFtIGxhc3RWYWxpZFJvdW5kIFRoZSByb3VuZCB3aGVuIHRoZSBwZXJtaXNzaW9uIGV4cGlyZXMKLy8gQHBhcmFtIGNvb2xkb3duICBUaGUgbnVtYmVyIG9mIHJvdW5kcyB0aGF0IG11c3QgcGFzcyBiZWZvcmUgdGhlIHBsdWdpbiBjYW4gYmUgY2FsbGVkIGFnYWluCi8vIEBwYXJhbSBhZG1pblByaXZpbGVnZXMgV2hldGhlciB0aGUgcGx1Z2luIGhhcyBwZXJtaXNzaW9ucyB0byBjaGFuZ2UgdGhlIGFkbWluIGFjY291bnQKYXJjNThfYWRkUGx1Z2luOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjIyNAoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyMjUKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTEgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0yIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjI2CgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC00IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC01IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlUGx1Z2luKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVQbHVnaW46CgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9yZW1vdmVQbHVnaW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGFwcDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBhcmM1OF9yZW1vdmVQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X3JlbW92ZVBsdWdpbihhcHA6IEFwcElELCBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzKTogdm9pZAovLwovLyBSZW1vdmUgYW4gYXBwIGZyb20gdGhlIGxpc3Qgb2YgYXBwcm92ZWQgcGx1Z2lucwovLwovLyBAcGFyYW0gYXBwIFRoZSBhcHAgdG8gcmVtb3ZlCmFyYzU4X3JlbW92ZVBsdWdpbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAyIC8vIDB4CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNDAKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgeyBzZW5kZXI6IHRoaXMuYWRtaW4udmFsdWUgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFkbWluLnZhbHVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjQyCgkvLyBrZXk6IFBsdWdpbnNLZXkgPSB7IGFwcGxpY2F0aW9uOiBhcHAsIGFsbG93ZWRDYWxsZXI6IGFsbG93ZWRDYWxsZXIgfQoJZnJhbWVfZGlnIC0xIC8vIGFwcDogQXBwSUQKCWl0b2IKCWZyYW1lX2RpZyAtMiAvLyBhbGxvd2VkQ2FsbGVyOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IFBsdWdpbnNLZXkKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI0MwoJLy8gdGhpcy5wbHVnaW5zKGtleSkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8ga2V5OiBQbHVnaW5zS2V5Cgljb25jYXQKCWJveF9kZWwKCXJldHN1YgoKLy8gYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNThfYWRkTmFtZWRQbHVnaW46CgkvLyBhZG1pblByaXZpbGVnZXM6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhZG1pblByaXZpbGVnZXMpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gY29vbGRvd246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIGxhc3RWYWxpZFJvdW5kOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbGxvd2VkQ2FsbGVyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAyIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKGFsbG93ZWRDYWxsZXIpIGZvciBhcmM1OF9hZGROYW1lZFBsdWdpbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXBwOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBhcmM1OF9hZGROYW1lZFBsdWdpbihzdHJpbmcsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQKCWNhbGxzdWIgYXJjNThfYWRkTmFtZWRQbHVnaW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFyYzU4X2FkZE5hbWVkUGx1Z2luKG5hbWU6IHN0cmluZywgYXBwOiBBcHBJRCwgYWxsb3dlZENhbGxlcjogQWRkcmVzcywgbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NCwgY29vbGRvd246IHVpbnQ2NCwgYWRtaW5Qcml2aWxlZ2VzOiBib29sZWFuKTogdm9pZAovLwovLyBBZGQgYSBuYW1lZCBwbHVnaW4KLy8KLy8gQHBhcmFtIGFwcCBUaGUgcGx1Z2luIGFwcAovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKLy8gQHBhcmFtIGFsbG93ZWRDYWxsZXIgVGhlIGFkZHJlc3Mgb2YgdGhhdCdzIGFsbG93ZWQgdG8gY2FsbCB0aGUgYXBwCi8vIG9yIHRoZSBnbG9iYWwgemVybyBhZGRyZXNzIGZvciBhbGwgYWRkcmVzc2VzCi8vIEBwYXJhbSBsYXN0VmFsaWRSb3VuZCBUaGUgcm91bmQgd2hlbiB0aGUgcGVybWlzc2lvbiBleHBpcmVzCi8vIEBwYXJhbSBjb29sZG93biAgVGhlIG51bWJlciBvZiByb3VuZHMgdGhhdCBtdXN0IHBhc3MgYmVmb3JlIHRoZSBwbHVnaW4gY2FuIGJlIGNhbGxlZCBhZ2FpbgovLyBAcGFyYW0gYWRtaW5Qcml2aWxlZ2VzIFdoZXRoZXIgdGhlIHBsdWdpbiBoYXMgcGVybWlzc2lvbnMgdG8gY2hhbmdlIHRoZSBhZG1pbiBhY2NvdW50CmFyYzU4X2FkZE5hbWVkUGx1Z2luOgoJcHJvdG8gNiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDIgLy8gMHgKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI2NQoJLy8gdmVyaWZ5VHhuKHRoaXMudHhuLCB7IHNlbmRlcjogdGhpcy5hZG1pbi52YWx1ZSB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6InRoaXMuYWRtaW4udmFsdWUifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjYKCS8vIGFzc2VydCghdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkuZXhpc3RzKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYXJjNTgvYXJjNTguYWxnby50czoyNjgKCS8vIGtleTogUGx1Z2luc0tleSA9IHsgYXBwbGljYXRpb246IGFwcCwgYWxsb3dlZENhbGxlcjogYWxsb3dlZENhbGxlciB9CglmcmFtZV9kaWcgLTIgLy8gYXBwOiBBcHBJRAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIGFsbG93ZWRDYWxsZXI6IEFkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGtleTogUGx1Z2luc0tleQoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjY5CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS52YWx1ZSA9IGtleQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJYm94X3B1dAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6MjcwCgkvLyB0aGlzLnBsdWdpbnMoa2V5KS52YWx1ZSA9IHsKCS8vICAgICAgIGxhc3RWYWxpZFJvdW5kOiBsYXN0VmFsaWRSb3VuZCwKCS8vICAgICAgIGNvb2xkb3duOiBjb29sZG93biwKCS8vICAgICAgIGxhc3RDYWxsZWQ6IDAsCgkvLyAgICAgICBhZG1pblByaXZpbGVnZXM6IGFkbWluUHJpdmlsZWdlcywKCS8vICAgICB9CglieXRlYyAwIC8vICAicCIKCWZyYW1lX2RpZyAwIC8vIGtleTogUGx1Z2luc0tleQoJY29uY2F0CglmcmFtZV9kaWcgLTQgLy8gbGFzdFZhbGlkUm91bmQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC01IC8vIGNvb2xkb3duOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNyAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIC02IC8vIGFkbWluUHJpdmlsZWdlczogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4oc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9hcmM1OF9yZW1vdmVOYW1lZFBsdWdpbjoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luKHN0cmluZyl2b2lkCgljYWxsc3ViIGFyYzU4X3JlbW92ZU5hbWVkUGx1Z2luCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihuYW1lOiBzdHJpbmcpOiB2b2lkCi8vCi8vIFJlbW92ZSBhIG5hbWVkIHBsdWdpbgovLwovLyBAcGFyYW0gbmFtZSBUaGUgcGx1Z2luIG5hbWUKYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW46Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg0CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFkbWluLnZhbHVlIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG4iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy5hZG1pbi52YWx1ZSJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4NgoJLy8gYXBwID0gdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWJ5dGVjIDQgLy8gICJuIgoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoKCS8vIGV4YW1wbGVzL2FyYzU4L2FyYzU4LmFsZ28udHM6Mjg3CgkvLyB0aGlzLm5hbWVkUGx1Z2lucyhuYW1lKS5kZWxldGUoKQoJYnl0ZWMgNCAvLyAgIm4iCglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCgljb25jYXQKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM1OC9hcmM1OC5hbGdvLnRzOjI4OAoJLy8gdGhpcy5wbHVnaW5zKGFwcCkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJwIgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL2FwcAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5uYW1lZFBsdWdpbnMobmFtZSkudmFsdWUKCWFzc2VydAoJY29uY2F0Cglib3hfZGVsCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI0Yzc3ZDcxIC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oYWRkcmVzcyxhZGRyZXNzKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkMjRiNzU1NiAvLyBtZXRob2QgImFyYzU4X2NoYW5nZUFkbWluKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDVmYTQ0OWM2IC8vIG1ldGhvZCAiYXJjNThfcGx1Z2luQ2hhbmdlQWRtaW4odWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNiYzQ0ZTQgLy8gbWV0aG9kICJhcmM1OF9nZXRBZG1pbigpYWRkcmVzcyIKCWJ5dGVjIDYgLy8gIG1ldGhvZCAiYXJjNThfdmVyaWZ5QXV0aEFkZHIoKXZvaWQiCglwdXNoYnl0ZXMgMHhjOTVhNWQzZCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG8oYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHg3Yzc2NmRkYyAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9QbHVnaW4odWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1NmYyOGI1OCAvLyBtZXRob2QgImFyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGQxMmRjYjYxIC8vIG1ldGhvZCAiYXJjNThfYWRkUGx1Z2luKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQzNzIzNTUgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVQbHVnaW4odWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhhNzJhNzUwIC8vIG1ldGhvZCAiYXJjNThfYWRkTmFtZWRQbHVnaW4oc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTM1MGI5ZDQgLy8gbWV0aG9kICJhcmM1OF9yZW1vdmVOYW1lZFBsdWdpbihzdHJpbmcpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNThfY2hhbmdlQWRtaW4gKmFiaV9yb3V0ZV9hcmM1OF9wbHVnaW5DaGFuZ2VBZG1pbiAqYWJpX3JvdXRlX2FyYzU4X2dldEFkbWluICphYmlfcm91dGVfYXJjNThfdmVyaWZ5QXV0aEFkZHIgKmFiaV9yb3V0ZV9hcmM1OF9yZWtleVRvICphYmlfcm91dGVfYXJjNThfcmVrZXlUb1BsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3Jla2V5VG9OYW1lZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZFBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X3JlbW92ZVBsdWdpbiAqYWJpX3JvdXRlX2FyYzU4X2FkZE5hbWVkUGx1Z2luICphYmlfcm91dGVfYXJjNThfcmVtb3ZlTmFtZWRQbHVnaW4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/arc72/artifacts/ARC72.approval.teal b/examples/arc72/artifacts/ARC72.approval.teal index c2577fdc1..8be656610 100644 --- a/examples/arc72/artifacts/ARC72.approval.teal +++ b/examples/arc72/artifacts/ARC72.approval.teal @@ -2,7 +2,7 @@ intcblock 32 1 256 0 288 bytecblock 0x 0x151f7c75 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0x696e646578 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/arc72/artifacts/ARC72.arc32.json b/examples/arc72/artifacts/ARC72.arc32.json index fd2f403c2..e36dfce6f 100644 --- a/examples/arc72/artifacts/ARC72.arc32.json +++ b/examples/arc72/artifacts/ARC72.arc32.json @@ -79,7 +79,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NiAwIDI4OApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4Njk2ZTY0NjU3OAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzCiphYmlfcm91dGVfYXJjNzJfb3duZXJPZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfb3duZXJPZiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoJY2FsbHN1YiBhcmM3Ml9vd25lck9mCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfb3duZXJPZih0b2tlbklkOiB1aW50MjU2KTogQWRkcmVzcwovLwovLwovLyBSZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IG93bmVyIG9mIHRoZSBORlQgd2l0aCB0aGUgZ2l2ZW4gdG9rZW5JZAovLwovLyBAcGFyYW0gdG9rZW5JZCBUaGUgSUQgb2YgdGhlIE5GVAovLyBAcmV0dXJucyBUaGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUCmFyYzcyX293bmVyT2Y6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjI1CgkvLyByZXR1cm4gdGhpcy50b2tlbkJveCh0b2tlbklkKS52YWx1ZS5vd25lcjsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDMgLy8gMAoJaW50YyAwIC8vIDMyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml90b2tlblVSSSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoJY2FsbHN1YiBhcmM3Ml90b2tlblVSSQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuVVJJKHRva2VuSWQ6IHVpbnQyNTYpOiBCeXRlczI1NgovLwovLwovLyBSZXR1cm5zIGEgVVJJIHBvaW50aW5nIHRvIHRoZSBORlQgbWV0YWRhdGEKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVVJJIHRvIHRva2VuIG1ldGFkYXRhCmFyYzcyX3Rva2VuVVJJOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czozNwoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUudXJpOwoJZnJhbWVfZGlnIC0xIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMCAvLyAgaGVhZE9mZnNldAoJaW50YyAyIC8vIDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMyAvLyAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWludGMgMCAvLyAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAzIC8vIDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCWIgKmlmMV9lbmQKCippZjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGtleTogQ29udHJvbAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYxX2VuZAoKCS8vICppZjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfZGVsCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gbWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gdG86IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG8pIGZvciBtaW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQodG86IEFkZHJlc3MpOiB2b2lkCm1pbnQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NAoJLy8gaW5kZXggPSB0aGlzLmluZGV4LnZhbHVlCglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIGluZGV4OiB1aW50MjU2CgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NgoJLy8gdG9rZW46IFRva2VuID0gewoJLy8gICAgICAgb3duZXI6IHRvLAoJLy8gICAgICAgdXJpOiAnaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzJyBhcyBCeXRlczI1NiwKCS8vICAgICAgIGNvbnRyb2xsZXI6IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIHRvOiBBZGRyZXNzCglwdXNoYnl0ZXMgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZWMgMyAvLyAgImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKCWIrCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBpbmRleCArIDEgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b3RhbFN1cHBseQoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG90YWxTdXBwbHkgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90b3RhbFN1cHBseSgpOiB1aW50MjU2Ci8vCi8vIFJldHVybnMgdGhlIG51bWJlciBvZiBORlRzIGN1cnJlbnRseSBkZWZpbmVkIGJ5IHRoaXMgY29udHJhY3QKYXJjNzJfdG90YWxTdXBwbHk6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjEwMgoJLy8gcmV0dXJuIHRoaXMuaW5kZXgudmFsdWU7CglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBpbmRleDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChpbmRleCkgZm9yIGFyYzcyX3Rva2VuQnlJbmRleCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFyYzcyX3Rva2VuQnlJbmRleAoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG9rZW5CeUluZGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAwIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KGluZGV4OiB1aW50MjU2KTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSB0b2tlbiBJRCBvZiB0aGUgdG9rZW4gd2l0aCB0aGUgZ2l2ZW4gaW5kZXggYW1vbmcgYWxsIE5GVHMgZGVmaW5lZCBieSB0aGUgY29udHJhY3QKYXJjNzJfdG9rZW5CeUluZGV4OgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMTAKCS8vIHJldHVybiBpbmRleDsKCWZyYW1lX2RpZyAtMSAvLyBpbmRleDogdWludDI1NgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc5MDk2YTE0IC8vIG1ldGhvZCAiYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MiCglwdXNoYnl0ZXMgMHhjM2MxZmMwMCAvLyBtZXRob2QgImFyYzcyX3Rva2VuVVJJKHVpbnQyNTYpYnl0ZVsyNTZdIgoJcHVzaGJ5dGVzIDB4ZjJmMTk0YTAgLy8gbWV0aG9kICJhcmM3Ml90cmFuc2ZlckZyb20oYWRkcmVzcyxhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweGI0ZWRiYTRlIC8vIG1ldGhvZCAiYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweDcxMzQzOTVmIC8vIG1ldGhvZCAiYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHhhYzRjZmFkZiAvLyBtZXRob2QgIm1pbnQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NjRkNzJhN2EgLy8gbWV0aG9kICJhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NiIKCXB1c2hieXRlcyAweDZkOWJmZDI3IC8vIG1ldGhvZCAiYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNzJfb3duZXJPZiAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJICphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tICphYmlfcm91dGVfYXJjNzJfYXBwcm92ZSAqYWJpX3JvdXRlX2FyYzcyX3NldEFwcHJvdmFsRm9yQWxsICphYmlfcm91dGVfbWludCAqYWJpX3JvdXRlX2FyYzcyX3RvdGFsU3VwcGx5ICphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NiAwIDI4OApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4Njk2ZTY0NjU3OAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzCiphYmlfcm91dGVfYXJjNzJfb3duZXJPZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfb3duZXJPZiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoJY2FsbHN1YiBhcmM3Ml9vd25lck9mCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfb3duZXJPZih0b2tlbklkOiB1aW50MjU2KTogQWRkcmVzcwovLwovLwovLyBSZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IG93bmVyIG9mIHRoZSBORlQgd2l0aCB0aGUgZ2l2ZW4gdG9rZW5JZAovLwovLyBAcGFyYW0gdG9rZW5JZCBUaGUgSUQgb2YgdGhlIE5GVAovLyBAcmV0dXJucyBUaGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUCmFyYzcyX293bmVyT2Y6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjI1CgkvLyByZXR1cm4gdGhpcy50b2tlbkJveCh0b2tlbklkKS52YWx1ZS5vd25lcjsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDMgLy8gMAoJaW50YyAwIC8vIDMyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml90b2tlblVSSSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoJY2FsbHN1YiBhcmM3Ml90b2tlblVSSQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuVVJJKHRva2VuSWQ6IHVpbnQyNTYpOiBCeXRlczI1NgovLwovLwovLyBSZXR1cm5zIGEgVVJJIHBvaW50aW5nIHRvIHRoZSBORlQgbWV0YWRhdGEKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVVJJIHRvIHRva2VuIG1ldGFkYXRhCmFyYzcyX3Rva2VuVVJJOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czozNwoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUudXJpOwoJZnJhbWVfZGlnIC0xIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMCAvLyAgaGVhZE9mZnNldAoJaW50YyAyIC8vIDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMyAvLyAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWludGMgMCAvLyAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAzIC8vIDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCWIgKmlmMV9lbmQKCippZjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGtleTogQ29udHJvbAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYxX2VuZAoKCS8vICppZjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfZGVsCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gbWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gdG86IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG8pIGZvciBtaW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQodG86IEFkZHJlc3MpOiB2b2lkCm1pbnQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NAoJLy8gaW5kZXggPSB0aGlzLmluZGV4LnZhbHVlCglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIGluZGV4OiB1aW50MjU2CgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NgoJLy8gdG9rZW46IFRva2VuID0gewoJLy8gICAgICAgb3duZXI6IHRvLAoJLy8gICAgICAgdXJpOiAnaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzJyBhcyBCeXRlczI1NiwKCS8vICAgICAgIGNvbnRyb2xsZXI6IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIHRvOiBBZGRyZXNzCglwdXNoYnl0ZXMgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZWMgMyAvLyAgImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKCWIrCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBpbmRleCArIDEgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b3RhbFN1cHBseQoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG90YWxTdXBwbHkgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90b3RhbFN1cHBseSgpOiB1aW50MjU2Ci8vCi8vIFJldHVybnMgdGhlIG51bWJlciBvZiBORlRzIGN1cnJlbnRseSBkZWZpbmVkIGJ5IHRoaXMgY29udHJhY3QKYXJjNzJfdG90YWxTdXBwbHk6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjEwMgoJLy8gcmV0dXJuIHRoaXMuaW5kZXgudmFsdWU7CglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBpbmRleDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChpbmRleCkgZm9yIGFyYzcyX3Rva2VuQnlJbmRleCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFyYzcyX3Rva2VuQnlJbmRleAoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG9rZW5CeUluZGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAwIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KGluZGV4OiB1aW50MjU2KTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSB0b2tlbiBJRCBvZiB0aGUgdG9rZW4gd2l0aCB0aGUgZ2l2ZW4gaW5kZXggYW1vbmcgYWxsIE5GVHMgZGVmaW5lZCBieSB0aGUgY29udHJhY3QKYXJjNzJfdG9rZW5CeUluZGV4OgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMTAKCS8vIHJldHVybiBpbmRleDsKCWZyYW1lX2RpZyAtMSAvLyBpbmRleDogdWludDI1NgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc5MDk2YTE0IC8vIG1ldGhvZCAiYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MiCglwdXNoYnl0ZXMgMHhjM2MxZmMwMCAvLyBtZXRob2QgImFyYzcyX3Rva2VuVVJJKHVpbnQyNTYpYnl0ZVsyNTZdIgoJcHVzaGJ5dGVzIDB4ZjJmMTk0YTAgLy8gbWV0aG9kICJhcmM3Ml90cmFuc2ZlckZyb20oYWRkcmVzcyxhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweGI0ZWRiYTRlIC8vIG1ldGhvZCAiYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweDcxMzQzOTVmIC8vIG1ldGhvZCAiYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHhhYzRjZmFkZiAvLyBtZXRob2QgIm1pbnQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NjRkNzJhN2EgLy8gbWV0aG9kICJhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NiIKCXB1c2hieXRlcyAweDZkOWJmZDI3IC8vIG1ldGhvZCAiYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNzJfb3duZXJPZiAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJICphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tICphYmlfcm91dGVfYXJjNzJfYXBwcm92ZSAqYWJpX3JvdXRlX2FyYzcyX3NldEFwcHJvdmFsRm9yQWxsICphYmlfcm91dGVfbWludCAqYWJpX3JvdXRlX2FyYzcyX3RvdGFsU3VwcGx5ICphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/arc72/artifacts/ARC72.arc56_draft.json b/examples/arc72/artifacts/ARC72.arc56_draft.json index 4c8f78c82..3df7c01ce 100644 --- a/examples/arc72/artifacts/ARC72.arc56_draft.json +++ b/examples/arc72/artifacts/ARC72.arc56_draft.json @@ -2853,7 +2853,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NiAwIDI4OApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4Njk2ZTY0NjU3OAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzCiphYmlfcm91dGVfYXJjNzJfb3duZXJPZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfb3duZXJPZiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoJY2FsbHN1YiBhcmM3Ml9vd25lck9mCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfb3duZXJPZih0b2tlbklkOiB1aW50MjU2KTogQWRkcmVzcwovLwovLwovLyBSZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IG93bmVyIG9mIHRoZSBORlQgd2l0aCB0aGUgZ2l2ZW4gdG9rZW5JZAovLwovLyBAcGFyYW0gdG9rZW5JZCBUaGUgSUQgb2YgdGhlIE5GVAovLyBAcmV0dXJucyBUaGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUCmFyYzcyX293bmVyT2Y6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjI1CgkvLyByZXR1cm4gdGhpcy50b2tlbkJveCh0b2tlbklkKS52YWx1ZS5vd25lcjsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDMgLy8gMAoJaW50YyAwIC8vIDMyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml90b2tlblVSSSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoJY2FsbHN1YiBhcmM3Ml90b2tlblVSSQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuVVJJKHRva2VuSWQ6IHVpbnQyNTYpOiBCeXRlczI1NgovLwovLwovLyBSZXR1cm5zIGEgVVJJIHBvaW50aW5nIHRvIHRoZSBORlQgbWV0YWRhdGEKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVVJJIHRvIHRva2VuIG1ldGFkYXRhCmFyYzcyX3Rva2VuVVJJOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czozNwoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUudXJpOwoJZnJhbWVfZGlnIC0xIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMCAvLyAgaGVhZE9mZnNldAoJaW50YyAyIC8vIDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMyAvLyAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWludGMgMCAvLyAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAzIC8vIDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCWIgKmlmMV9lbmQKCippZjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGtleTogQ29udHJvbAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYxX2VuZAoKCS8vICppZjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfZGVsCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gbWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gdG86IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG8pIGZvciBtaW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQodG86IEFkZHJlc3MpOiB2b2lkCm1pbnQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NAoJLy8gaW5kZXggPSB0aGlzLmluZGV4LnZhbHVlCglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIGluZGV4OiB1aW50MjU2CgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NgoJLy8gdG9rZW46IFRva2VuID0gewoJLy8gICAgICAgb3duZXI6IHRvLAoJLy8gICAgICAgdXJpOiAnaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzJyBhcyBCeXRlczI1NiwKCS8vICAgICAgIGNvbnRyb2xsZXI6IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIHRvOiBBZGRyZXNzCglwdXNoYnl0ZXMgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZWMgMyAvLyAgImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKCWIrCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBpbmRleCArIDEgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b3RhbFN1cHBseQoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG90YWxTdXBwbHkgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90b3RhbFN1cHBseSgpOiB1aW50MjU2Ci8vCi8vIFJldHVybnMgdGhlIG51bWJlciBvZiBORlRzIGN1cnJlbnRseSBkZWZpbmVkIGJ5IHRoaXMgY29udHJhY3QKYXJjNzJfdG90YWxTdXBwbHk6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjEwMgoJLy8gcmV0dXJuIHRoaXMuaW5kZXgudmFsdWU7CglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBpbmRleDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChpbmRleCkgZm9yIGFyYzcyX3Rva2VuQnlJbmRleCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFyYzcyX3Rva2VuQnlJbmRleAoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG9rZW5CeUluZGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAwIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KGluZGV4OiB1aW50MjU2KTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSB0b2tlbiBJRCBvZiB0aGUgdG9rZW4gd2l0aCB0aGUgZ2l2ZW4gaW5kZXggYW1vbmcgYWxsIE5GVHMgZGVmaW5lZCBieSB0aGUgY29udHJhY3QKYXJjNzJfdG9rZW5CeUluZGV4OgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMTAKCS8vIHJldHVybiBpbmRleDsKCWZyYW1lX2RpZyAtMSAvLyBpbmRleDogdWludDI1NgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc5MDk2YTE0IC8vIG1ldGhvZCAiYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MiCglwdXNoYnl0ZXMgMHhjM2MxZmMwMCAvLyBtZXRob2QgImFyYzcyX3Rva2VuVVJJKHVpbnQyNTYpYnl0ZVsyNTZdIgoJcHVzaGJ5dGVzIDB4ZjJmMTk0YTAgLy8gbWV0aG9kICJhcmM3Ml90cmFuc2ZlckZyb20oYWRkcmVzcyxhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweGI0ZWRiYTRlIC8vIG1ldGhvZCAiYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweDcxMzQzOTVmIC8vIG1ldGhvZCAiYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHhhYzRjZmFkZiAvLyBtZXRob2QgIm1pbnQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NjRkNzJhN2EgLy8gbWV0aG9kICJhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NiIKCXB1c2hieXRlcyAweDZkOWJmZDI3IC8vIG1ldGhvZCAiYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNzJfb3duZXJPZiAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJICphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tICphYmlfcm91dGVfYXJjNzJfYXBwcm92ZSAqYWJpX3JvdXRlX2FyYzcyX3NldEFwcHJvdmFsRm9yQWxsICphYmlfcm91dGVfbWludCAqYWJpX3JvdXRlX2FyYzcyX3RvdGFsU3VwcGx5ICphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NiAwIDI4OApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4Njk2ZTY0NjU3OAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFyYzcyX293bmVyT2YodWludDI1NilhZGRyZXNzCiphYmlfcm91dGVfYXJjNzJfb3duZXJPZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfb3duZXJPZiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml9vd25lck9mKHVpbnQyNTYpYWRkcmVzcwoJY2FsbHN1YiBhcmM3Ml9vd25lck9mCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfb3duZXJPZih0b2tlbklkOiB1aW50MjU2KTogQWRkcmVzcwovLwovLwovLyBSZXR1cm5zIHRoZSBhZGRyZXNzIG9mIHRoZSBjdXJyZW50IG93bmVyIG9mIHRoZSBORlQgd2l0aCB0aGUgZ2l2ZW4gdG9rZW5JZAovLwovLyBAcGFyYW0gdG9rZW5JZCBUaGUgSUQgb2YgdGhlIE5GVAovLyBAcmV0dXJucyBUaGUgY3VycmVudCBvd25lciBvZiB0aGUgTkZUCmFyYzcyX293bmVyT2Y6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjI1CgkvLyByZXR1cm4gdGhpcy50b2tlbkJveCh0b2tlbklkKS52YWx1ZS5vd25lcjsKCWZyYW1lX2RpZyAtMSAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDMgLy8gMAoJaW50YyAwIC8vIDMyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml90b2tlblVSSSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlblVSSSh1aW50MjU2KWJ5dGVbMjU2XQoJY2FsbHN1YiBhcmM3Ml90b2tlblVSSQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3Rva2VuVVJJKHRva2VuSWQ6IHVpbnQyNTYpOiBCeXRlczI1NgovLwovLwovLyBSZXR1cm5zIGEgVVJJIHBvaW50aW5nIHRvIHRoZSBORlQgbWV0YWRhdGEKLy8KLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKLy8gQHJldHVybnMgVVJJIHRvIHRva2VuIG1ldGFkYXRhCmFyYzcyX3Rva2VuVVJJOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czozNwoJLy8gcmV0dXJuIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUudXJpOwoJZnJhbWVfZGlnIC0xIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMCAvLyAgaGVhZE9mZnNldAoJaW50YyAyIC8vIDI1NgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gdHJhbnNmZXJUbyh0bzogQWRkcmVzcywgdG9rZW5JZDogdWludDI1Nik6IHZvaWQKdHJhbnNmZXJUbzoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NDEKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUub3duZXIgPSB0bwoJZnJhbWVfZGlnIC0yIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWludGMgMyAvLyAwCglmcmFtZV9kaWcgLTEgLy8gdG86IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3RyYW5zZmVyRnJvbShhZGRyZXNzLGFkZHJlc3MsdWludDI1Nil2b2lkCiphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tOgoJLy8gdG9rZW5JZDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwICh0b2tlbklkKSBmb3IgYXJjNzJfdHJhbnNmZXJGcm9tIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyB0bzogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh0bykgZm9yIGFyYzcyX3RyYW5zZmVyRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gX2Zyb206IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoX2Zyb20pIGZvciBhcmM3Ml90cmFuc2ZlckZyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfdHJhbnNmZXJGcm9tKGFkZHJlc3MsYWRkcmVzcyx1aW50MjU2KXZvaWQKCWNhbGxzdWIgYXJjNzJfdHJhbnNmZXJGcm9tCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90cmFuc2ZlckZyb20oX2Zyb206IEFkZHJlc3MsIHRvOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLyBUcmFuc2ZlcnMgb3duZXJzaGlwIG9mIGFuIE5GVAphcmM3Ml90cmFuc2ZlckZyb206Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo0OAoJLy8gdG9rZW4gPSB0aGlzLnRva2VuQm94KHRva2VuSWQpLnZhbHVlCglmcmFtZV9kaWcgLTMgLy8gdG9rZW5JZDogdWludDI1NgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly90b2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NTAKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogX2Zyb20gfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIF9mcm9tOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MgoJLy8gdGhpcy50eG4uc2VuZGVyID09PSBfZnJvbSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IHRva2VuLmNvbnRyb2xsZXIgfHwgdGhpcy5jb250cm9sQm94KGtleSkuZXhpc3RzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gX2Zyb206IEFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjAKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0b2tlbklkOiB1aW50MjU2CglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWludGMgMCAvLyAzMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IwOgoJZHVwCglibnogKnNraXBfb3IxCglmcmFtZV9kaWcgMSAvLyBrZXk6IENvbnRyb2wKCWJveF9sZW4KCXN3YXAKCXBvcAoJfHwKCipza2lwX29yMToKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo1MwoJLy8gdGhpcy50cmFuc2ZlclRvKHRvLCB0b2tlbklkKQoJZnJhbWVfZGlnIC0zIC8vIHRva2VuSWQ6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBUcmFuc2ZlciBub3QgYXV0aG9yaXplZAoJZXJyCgoqaWYwX2VuZDoKCXJldHN1YgoKLy8gYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX2FyYzcyX2FwcHJvdmU6CgkvLyB0b2tlbklkOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHRva2VuSWQpIGZvciBhcmM3Ml9hcHByb3ZlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhcHByb3ZlZDogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhcHByb3ZlZCkgZm9yIGFyYzcyX2FwcHJvdmUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBhcmM3Ml9hcHByb3ZlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml9hcHByb3ZlKGFwcHJvdmVkOiBBZGRyZXNzLCB0b2tlbklkOiB1aW50MjU2KTogdm9pZAovLwovLwovLyBBcHByb3ZlIGEgY29udHJvbGxlciBmb3IgYSBzaW5nbGUgTkZUCi8vCi8vIEBwYXJhbSBhcHByb3ZlZCBBcHByb3ZlZCBjb250cm9sbGVyIGFkZHJlc3MKLy8gQHBhcmFtIHRva2VuSWQgVGhlIElEIG9mIHRoZSBORlQKYXJjNzJfYXBwcm92ZToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NjUKCS8vIHRoaXMudG9rZW5Cb3godG9rZW5JZCkudmFsdWUuY29udHJvbGxlciA9IGFwcHJvdmVkCglmcmFtZV9kaWcgLTIgLy8gdG9rZW5JZDogdWludDI1NgoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gYXBwcm92ZWQ6IEFkZHJlc3MKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKGFkZHJlc3MsYm9vbCl2b2lkCiphYmlfcm91dGVfYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6CgkvLyBhcHByb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFwcHJvdmVkKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAzIC8vIDAKCWdldGJpdAoKCS8vIG9wZXJhdG9yOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKG9wZXJhdG9yKSBmb3IgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQKCWNhbGxzdWIgYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFyYzcyX3NldEFwcHJvdmFsRm9yQWxsKG9wZXJhdG9yOiBBZGRyZXNzLCBhcHByb3ZlZDogYm9vbGVhbik6IHZvaWQKLy8KLy8KLy8gQXBwcm92ZSBhbiBvcGVyYXRvciBmb3IgYWxsIE5GVHMgZm9yIGEgdXNlcgovLwovLyBAcGFyYW0gb3BlcmF0b3IgQXBwcm92ZWQgb3BlcmF0b3IgYWRkcmVzcwovLyBAcGFyYW0gYXBwcm92ZWQgdHJ1ZSB0byBnaXZlIGFwcHJvdmFsLCBmYWxzZSB0byByZXZva2UKLy8gQHJldHVybnMKYXJjNzJfc2V0QXBwcm92YWxGb3JBbGw6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6NzcKCS8vIGtleTogQ29udHJvbCA9IHsgb3duZXI6IHRoaXMudHhuLnNlbmRlciwgY29udHJvbGxlcjogb3BlcmF0b3IgfQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wZXJhdG9yOiBBZGRyZXNzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBrZXk6IENvbnRyb2wKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gYXBwcm92ZWQKCWZyYW1lX2RpZyAtMiAvLyBhcHByb3ZlZDogYm9vbGVhbgoJYnogKmlmMV9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo3OQoJLy8gdGhpcy5jb250cm9sQm94KGtleSkudmFsdWUgPSAnJwoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglkdXAKCWJveF9kZWwKCXBvcAoJYnl0ZWMgMCAvLyAgIiIKCWJveF9wdXQKCWIgKmlmMV9lbmQKCippZjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGtleTogQ29udHJvbAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYxX2VuZAoKCS8vICppZjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjgwCgkvLyB0aGlzLmNvbnRyb2xCb3goa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIDAgLy8ga2V5OiBDb250cm9sCglib3hfZGVsCgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gbWludChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW50OgoJLy8gdG86IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAodG8pIGZvciBtaW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIG1pbnQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG1pbnQodG86IEFkZHJlc3MpOiB2b2lkCm1pbnQ6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NAoJLy8gaW5kZXggPSB0aGlzLmluZGV4LnZhbHVlCglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIGluZGV4OiB1aW50MjU2CgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo4NgoJLy8gdG9rZW46IFRva2VuID0gewoJLy8gICAgICAgb3duZXI6IHRvLAoJLy8gICAgICAgdXJpOiAnaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzJyBhcyBCeXRlczI1NiwKCS8vICAgICAgIGNvbnRyb2xsZXI6IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIHRvOiBBZGRyZXNzCglwdXNoYnl0ZXMgMHg2ODc0NzQ3MDczM2EyZjJmNjc2OTc0Njg3NTYyMmU2MzZmNmQyZjYxNmM2NzZmNzI2MTZlNjQ2NjZmNzU2ZTY0NjE3NDY5NmY2ZTJmNDE1MjQzNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAvLyAiaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9BUkNzIgoJY29uY2F0CglnbG9iYWwgWmVyb0FkZHJlc3MKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHRva2VuOiBUb2tlbgoKCS8vIGV4YW1wbGVzL2FyYzcyL2FyYzcyLmFsZ28udHM6OTIKCS8vIHRoaXMudG9rZW5Cb3goaW5kZXgpLnZhbHVlID0gdG9rZW4KCWZyYW1lX2RpZyAwIC8vIGluZGV4OiB1aW50MjU2CglmcmFtZV9kaWcgMSAvLyB0b2tlbjogVG9rZW4KCWJveF9wdXQKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjkzCgkvLyB0aGlzLnRyYW5zZmVyVG8odG8sIGluZGV4KQoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMSAvLyB0bzogQWRkcmVzcwoJY2FsbHN1YiB0cmFuc2ZlclRvCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czo5NAoJLy8gdGhpcy5pbmRleC52YWx1ZSA9IGluZGV4ICsgMQoJYnl0ZWMgMyAvLyAgImluZGV4IgoJZnJhbWVfZGlnIDAgLy8gaW5kZXg6IHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKCWIrCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBpbmRleCArIDEgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYXJjNzJfdG90YWxTdXBwbHkoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hcmM3Ml90b3RhbFN1cHBseToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NgoJY2FsbHN1YiBhcmM3Ml90b3RhbFN1cHBseQoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG90YWxTdXBwbHkgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhcmM3Ml90b3RhbFN1cHBseSgpOiB1aW50MjU2Ci8vCi8vIFJldHVybnMgdGhlIG51bWJlciBvZiBORlRzIGN1cnJlbnRseSBkZWZpbmVkIGJ5IHRoaXMgY29udHJhY3QKYXJjNzJfdG90YWxTdXBwbHk6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9hcmM3Mi9hcmM3Mi5hbGdvLnRzOjEwMgoJLy8gcmV0dXJuIHRoaXMuaW5kZXgudmFsdWU7CglieXRlYyAzIC8vICAiaW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgovLyBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBpbmRleDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChpbmRleCkgZm9yIGFyYzcyX3Rva2VuQnlJbmRleCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhcmM3Ml90b2tlbkJ5SW5kZXgodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGFyYzcyX3Rva2VuQnlJbmRleAoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gYXJjNzJfdG9rZW5CeUluZGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAwIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJjNzJfdG9rZW5CeUluZGV4KGluZGV4OiB1aW50MjU2KTogdWludDI1NgovLwovLyBSZXR1cm5zIHRoZSB0b2tlbiBJRCBvZiB0aGUgdG9rZW4gd2l0aCB0aGUgZ2l2ZW4gaW5kZXggYW1vbmcgYWxsIE5GVHMgZGVmaW5lZCBieSB0aGUgY29udHJhY3QKYXJjNzJfdG9rZW5CeUluZGV4OgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvYXJjNzIvYXJjNzIuYWxnby50czoxMTAKCS8vIHJldHVybiBpbmRleDsKCWZyYW1lX2RpZyAtMSAvLyBpbmRleDogdWludDI1NgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc5MDk2YTE0IC8vIG1ldGhvZCAiYXJjNzJfb3duZXJPZih1aW50MjU2KWFkZHJlc3MiCglwdXNoYnl0ZXMgMHhjM2MxZmMwMCAvLyBtZXRob2QgImFyYzcyX3Rva2VuVVJJKHVpbnQyNTYpYnl0ZVsyNTZdIgoJcHVzaGJ5dGVzIDB4ZjJmMTk0YTAgLy8gbWV0aG9kICJhcmM3Ml90cmFuc2ZlckZyb20oYWRkcmVzcyxhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweGI0ZWRiYTRlIC8vIG1ldGhvZCAiYXJjNzJfYXBwcm92ZShhZGRyZXNzLHVpbnQyNTYpdm9pZCIKCXB1c2hieXRlcyAweDcxMzQzOTVmIC8vIG1ldGhvZCAiYXJjNzJfc2V0QXBwcm92YWxGb3JBbGwoYWRkcmVzcyxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHhhYzRjZmFkZiAvLyBtZXRob2QgIm1pbnQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NjRkNzJhN2EgLy8gbWV0aG9kICJhcmM3Ml90b3RhbFN1cHBseSgpdWludDI1NiIKCXB1c2hieXRlcyAweDZkOWJmZDI3IC8vIG1ldGhvZCAiYXJjNzJfdG9rZW5CeUluZGV4KHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJjNzJfb3duZXJPZiAqYWJpX3JvdXRlX2FyYzcyX3Rva2VuVVJJICphYmlfcm91dGVfYXJjNzJfdHJhbnNmZXJGcm9tICphYmlfcm91dGVfYXJjNzJfYXBwcm92ZSAqYWJpX3JvdXRlX2FyYzcyX3NldEFwcHJvdmFsRm9yQWxsICphYmlfcm91dGVfbWludCAqYWJpX3JvdXRlX2FyYzcyX3RvdGFsU3VwcGx5ICphYmlfcm91dGVfYXJjNzJfdG9rZW5CeUluZGV4CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/arc75/artifacts/ARC75.approval.teal b/examples/arc75/artifacts/ARC75.approval.teal index 26f25255d..b91e16116 100644 --- a/examples/arc75/artifacts/ARC75.approval.teal +++ b/examples/arc75/artifacts/ARC75.approval.teal @@ -2,7 +2,7 @@ intcblock 1 8 2 0 bytecblock 0x 0x0024 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/arc75/artifacts/ARC75.arc32.json b/examples/arc75/artifacts/ARC75.arc32.json index 9bdb46b79..3aed7bbcc 100644 --- a/examples/arc75/artifacts/ARC75.arc32.json +++ b/examples/arc75/artifacts/ARC75.arc32.json @@ -54,7 +54,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMiAwCmJ5dGVjYmxvY2sgMHggMHgwMDI0CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5TUJSUGF5bWVudChwYXltZW50OiBQYXlUeG4sIHByZU1CUjogdWludDY0KTogdm9pZAp2ZXJpZnlNQlJQYXltZW50OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxMAoJLy8gdmVyaWZ5UGF5VHhuKHBheW1lbnQsIHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBwcmVNQlI6IHVpbnQ2NAoJLQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlIC0gcHJlTUJSIn0KCWFzc2VydAoJcmV0c3ViCgovLyBzZW5kTUJSUGF5bWVudChwcmVNQlI6IHVpbnQ2NCk6IHZvaWQKc2VuZE1CUlBheW1lbnQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE3CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYW1vdW50OiBwcmVNQlIgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxOAoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTkKCS8vIGFtb3VudDogcHJlTUJSIC0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgLTEgLy8gcHJlTUJSOiB1aW50NjQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDMgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCiphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3Q6CgkvLyBwYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM2CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmV4aXN0cwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9sZW4KCXN3YXAKCXBvcAoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM3CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlLnB1c2goYXBwSUQpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglzd2FwCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzkKCS8vIG5ld1doaXRlbGlzdDogdWludDY0W10gPSBbYXBwSURdCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gbmV3V2hpdGVsaXN0CglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQzCgkvLyB0aGlzLnZlcmlmeU1CUlBheW1lbnQocGF5bWVudCwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBwYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgdmVyaWZ5TUJSUGF5bWVudAoJcmV0c3ViCgovLyBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCiphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0OgoJLy8gYXBwSURzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYm94SW5kZXgpIGZvciBzZXRBcHBXaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCgljYWxsc3ViIHNldEFwcFdoaXRlbGlzdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0QXBwV2hpdGVsaXN0KGFyYzogc3RyaW5nLCBib3hJbmRleDogdWludDE2LCBhcHBJRHM6IHVpbnQ2NFtdKTogdm9pZAovLwovLyBTZXRzIGEgYXBwIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlci4gU2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGFkZGluZy9yZW1vdmluZwovLyBtb3JlIHRoYW4gb25lIGFwcAovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gcHV0IHRoZSBhcHAgSURzIGluCi8vIEBwYXJhbSBhcHBJRHMgLSBBcnJheSBvZiBhcHAgSURzIHRoYXQgc2lnbmlmeSB0aGUgd2hpdGVsaXN0ZWQgYXBwcwpzZXRBcHBXaGl0ZWxpc3Q6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1NQoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTYKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCXR4biBTZW5kZXIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDE2CglpdG9iCglleHRyYWN0IDYgMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0xIC8vIGFyYzogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1OAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5kZWxldGUoKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gYXBwSURzCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRHM6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MgoJLy8gcHJlTUJSID4gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCgk+CglieiAqaWYxX2Vsc2UKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjMKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjUKCS8vIHRoaXMudmVyaWZ5TUJSUGF5bWVudCh0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSBhcyBQYXlUeG4sIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGZhaWxlZCB0byBjYXN0IHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIHRvIHBheQoJYXNzZXJ0CgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCippZjFfZW5kOgoJcmV0c3ViCgovLyBkZWxldGVXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNil2b2lkCiphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0OgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGJveEluZGV4KSBmb3IgZGVsZXRlV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoJY2FsbHN1YiBkZWxldGVXaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNik6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlCmRlbGV0ZVdoaXRlbGlzdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjc3CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3OAoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjgwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODIKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCXJldHN1YgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcEZyb21XaGl0ZWxpc3Q6CgkvLyBpbmRleDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gYXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMgoJPT0KCgkvLyBhcmd1bWVudCAyIChib3hJbmRleCkgZm9yIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYsIGFwcElEOiB1aW50NjQsIGluZGV4OiB1aW50NjQpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgZnJvbSBhIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlcgovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlIGZyb20KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBkZWxldGUgZnJvbSB0aGUgd2hpdGVsaXN0Ci8vIEBwYXJhbSBpbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgYXBwIGluIHRoZSB3aGl0ZWxpc3QKZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk0CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5NQoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50YyAwIC8vIDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnRjIDEgLy8gOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWludGMgMyAvLyAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMSAvLyA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAxIC8vIDgKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoJZnJhbWVfYnVyeSAyIC8vIHNwbGljZWQ6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5OQoJLy8gYXNzZXJ0KHNwbGljZWRbMF0gPT09IGFwcElEKQoJZnJhbWVfZGlnIDIgLy8gc3BsaWNlZDogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwMQoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ2N2M3Y2JkIC8vIG1ldGhvZCAiYWRkQXBwVG9XaGl0ZUxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHhkMTk4ZmNiOCAvLyBtZXRob2QgInNldEFwcFdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NFtdKXZvaWQiCglwdXNoYnl0ZXMgMHg3YzMzZTgzMiAvLyBtZXRob2QgImRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZTE2NzRhYyAvLyBtZXRob2QgImRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0ICphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMiAwCmJ5dGVjYmxvY2sgMHggMHgwMDI0CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5TUJSUGF5bWVudChwYXltZW50OiBQYXlUeG4sIHByZU1CUjogdWludDY0KTogdm9pZAp2ZXJpZnlNQlJQYXltZW50OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxMAoJLy8gdmVyaWZ5UGF5VHhuKHBheW1lbnQsIHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBwcmVNQlI6IHVpbnQ2NAoJLQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlIC0gcHJlTUJSIn0KCWFzc2VydAoJcmV0c3ViCgovLyBzZW5kTUJSUGF5bWVudChwcmVNQlI6IHVpbnQ2NCk6IHZvaWQKc2VuZE1CUlBheW1lbnQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE3CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYW1vdW50OiBwcmVNQlIgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxOAoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTkKCS8vIGFtb3VudDogcHJlTUJSIC0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgLTEgLy8gcHJlTUJSOiB1aW50NjQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDMgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCiphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3Q6CgkvLyBwYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM2CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmV4aXN0cwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9sZW4KCXN3YXAKCXBvcAoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM3CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlLnB1c2goYXBwSUQpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglzd2FwCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzkKCS8vIG5ld1doaXRlbGlzdDogdWludDY0W10gPSBbYXBwSURdCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gbmV3V2hpdGVsaXN0CglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQzCgkvLyB0aGlzLnZlcmlmeU1CUlBheW1lbnQocGF5bWVudCwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBwYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgdmVyaWZ5TUJSUGF5bWVudAoJcmV0c3ViCgovLyBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCiphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0OgoJLy8gYXBwSURzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYm94SW5kZXgpIGZvciBzZXRBcHBXaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCgljYWxsc3ViIHNldEFwcFdoaXRlbGlzdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0QXBwV2hpdGVsaXN0KGFyYzogc3RyaW5nLCBib3hJbmRleDogdWludDE2LCBhcHBJRHM6IHVpbnQ2NFtdKTogdm9pZAovLwovLyBTZXRzIGEgYXBwIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlci4gU2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGFkZGluZy9yZW1vdmluZwovLyBtb3JlIHRoYW4gb25lIGFwcAovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gcHV0IHRoZSBhcHAgSURzIGluCi8vIEBwYXJhbSBhcHBJRHMgLSBBcnJheSBvZiBhcHAgSURzIHRoYXQgc2lnbmlmeSB0aGUgd2hpdGVsaXN0ZWQgYXBwcwpzZXRBcHBXaGl0ZWxpc3Q6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1NQoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTYKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCXR4biBTZW5kZXIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDE2CglpdG9iCglleHRyYWN0IDYgMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0xIC8vIGFyYzogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1OAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5kZWxldGUoKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gYXBwSURzCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRHM6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MgoJLy8gcHJlTUJSID4gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCgk+CglieiAqaWYxX2Vsc2UKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjMKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjUKCS8vIHRoaXMudmVyaWZ5TUJSUGF5bWVudCh0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSBhcyBQYXlUeG4sIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGZhaWxlZCB0byBjYXN0IHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIHRvIHBheQoJYXNzZXJ0CgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCippZjFfZW5kOgoJcmV0c3ViCgovLyBkZWxldGVXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNil2b2lkCiphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0OgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGJveEluZGV4KSBmb3IgZGVsZXRlV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoJY2FsbHN1YiBkZWxldGVXaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNik6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlCmRlbGV0ZVdoaXRlbGlzdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjc3CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3OAoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjgwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODIKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCXJldHN1YgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcEZyb21XaGl0ZWxpc3Q6CgkvLyBpbmRleDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gYXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMgoJPT0KCgkvLyBhcmd1bWVudCAyIChib3hJbmRleCkgZm9yIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYsIGFwcElEOiB1aW50NjQsIGluZGV4OiB1aW50NjQpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgZnJvbSBhIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlcgovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlIGZyb20KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBkZWxldGUgZnJvbSB0aGUgd2hpdGVsaXN0Ci8vIEBwYXJhbSBpbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgYXBwIGluIHRoZSB3aGl0ZWxpc3QKZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk0CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5NQoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50YyAwIC8vIDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnRjIDEgLy8gOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWludGMgMyAvLyAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMSAvLyA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAxIC8vIDgKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoJZnJhbWVfYnVyeSAyIC8vIHNwbGljZWQ6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5OQoJLy8gYXNzZXJ0KHNwbGljZWRbMF0gPT09IGFwcElEKQoJZnJhbWVfZGlnIDIgLy8gc3BsaWNlZDogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwMQoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ2N2M3Y2JkIC8vIG1ldGhvZCAiYWRkQXBwVG9XaGl0ZUxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHhkMTk4ZmNiOCAvLyBtZXRob2QgInNldEFwcFdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NFtdKXZvaWQiCglwdXNoYnl0ZXMgMHg3YzMzZTgzMiAvLyBtZXRob2QgImRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZTE2NzRhYyAvLyBtZXRob2QgImRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0ICphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/arc75/artifacts/ARC75.arc56_draft.json b/examples/arc75/artifacts/ARC75.arc56_draft.json index 7918435bd..5fc0a429a 100644 --- a/examples/arc75/artifacts/ARC75.arc56_draft.json +++ b/examples/arc75/artifacts/ARC75.arc56_draft.json @@ -3438,7 +3438,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMiAwCmJ5dGVjYmxvY2sgMHggMHgwMDI0CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5TUJSUGF5bWVudChwYXltZW50OiBQYXlUeG4sIHByZU1CUjogdWludDY0KTogdm9pZAp2ZXJpZnlNQlJQYXltZW50OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxMAoJLy8gdmVyaWZ5UGF5VHhuKHBheW1lbnQsIHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBwcmVNQlI6IHVpbnQ2NAoJLQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlIC0gcHJlTUJSIn0KCWFzc2VydAoJcmV0c3ViCgovLyBzZW5kTUJSUGF5bWVudChwcmVNQlI6IHVpbnQ2NCk6IHZvaWQKc2VuZE1CUlBheW1lbnQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE3CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYW1vdW50OiBwcmVNQlIgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxOAoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTkKCS8vIGFtb3VudDogcHJlTUJSIC0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgLTEgLy8gcHJlTUJSOiB1aW50NjQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDMgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCiphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3Q6CgkvLyBwYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM2CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmV4aXN0cwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9sZW4KCXN3YXAKCXBvcAoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM3CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlLnB1c2goYXBwSUQpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglzd2FwCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzkKCS8vIG5ld1doaXRlbGlzdDogdWludDY0W10gPSBbYXBwSURdCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gbmV3V2hpdGVsaXN0CglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQzCgkvLyB0aGlzLnZlcmlmeU1CUlBheW1lbnQocGF5bWVudCwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBwYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgdmVyaWZ5TUJSUGF5bWVudAoJcmV0c3ViCgovLyBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCiphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0OgoJLy8gYXBwSURzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYm94SW5kZXgpIGZvciBzZXRBcHBXaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCgljYWxsc3ViIHNldEFwcFdoaXRlbGlzdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0QXBwV2hpdGVsaXN0KGFyYzogc3RyaW5nLCBib3hJbmRleDogdWludDE2LCBhcHBJRHM6IHVpbnQ2NFtdKTogdm9pZAovLwovLyBTZXRzIGEgYXBwIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlci4gU2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGFkZGluZy9yZW1vdmluZwovLyBtb3JlIHRoYW4gb25lIGFwcAovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gcHV0IHRoZSBhcHAgSURzIGluCi8vIEBwYXJhbSBhcHBJRHMgLSBBcnJheSBvZiBhcHAgSURzIHRoYXQgc2lnbmlmeSB0aGUgd2hpdGVsaXN0ZWQgYXBwcwpzZXRBcHBXaGl0ZWxpc3Q6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1NQoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTYKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCXR4biBTZW5kZXIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDE2CglpdG9iCglleHRyYWN0IDYgMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0xIC8vIGFyYzogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1OAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5kZWxldGUoKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gYXBwSURzCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRHM6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MgoJLy8gcHJlTUJSID4gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCgk+CglieiAqaWYxX2Vsc2UKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjMKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjUKCS8vIHRoaXMudmVyaWZ5TUJSUGF5bWVudCh0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSBhcyBQYXlUeG4sIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGZhaWxlZCB0byBjYXN0IHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIHRvIHBheQoJYXNzZXJ0CgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCippZjFfZW5kOgoJcmV0c3ViCgovLyBkZWxldGVXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNil2b2lkCiphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0OgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGJveEluZGV4KSBmb3IgZGVsZXRlV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoJY2FsbHN1YiBkZWxldGVXaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNik6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlCmRlbGV0ZVdoaXRlbGlzdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjc3CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3OAoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjgwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODIKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCXJldHN1YgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcEZyb21XaGl0ZWxpc3Q6CgkvLyBpbmRleDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gYXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMgoJPT0KCgkvLyBhcmd1bWVudCAyIChib3hJbmRleCkgZm9yIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYsIGFwcElEOiB1aW50NjQsIGluZGV4OiB1aW50NjQpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgZnJvbSBhIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlcgovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlIGZyb20KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBkZWxldGUgZnJvbSB0aGUgd2hpdGVsaXN0Ci8vIEBwYXJhbSBpbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgYXBwIGluIHRoZSB3aGl0ZWxpc3QKZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk0CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5NQoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50YyAwIC8vIDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnRjIDEgLy8gOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWludGMgMyAvLyAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMSAvLyA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAxIC8vIDgKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoJZnJhbWVfYnVyeSAyIC8vIHNwbGljZWQ6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5OQoJLy8gYXNzZXJ0KHNwbGljZWRbMF0gPT09IGFwcElEKQoJZnJhbWVfZGlnIDIgLy8gc3BsaWNlZDogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwMQoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ2N2M3Y2JkIC8vIG1ldGhvZCAiYWRkQXBwVG9XaGl0ZUxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHhkMTk4ZmNiOCAvLyBtZXRob2QgInNldEFwcFdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NFtdKXZvaWQiCglwdXNoYnl0ZXMgMHg3YzMzZTgzMiAvLyBtZXRob2QgImRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZTE2NzRhYyAvLyBtZXRob2QgImRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0ICphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMiAwCmJ5dGVjYmxvY2sgMHggMHgwMDI0CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdmVyaWZ5TUJSUGF5bWVudChwYXltZW50OiBQYXlUeG4sIHByZU1CUjogdWludDY0KTogdm9pZAp2ZXJpZnlNQlJQYXltZW50OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxMAoJLy8gdmVyaWZ5UGF5VHhuKHBheW1lbnQsIHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgLSBwcmVNQlIsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAtMiAvLyBwcmVNQlI6IHVpbnQ2NAoJLQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlIC0gcHJlTUJSIn0KCWFzc2VydAoJcmV0c3ViCgovLyBzZW5kTUJSUGF5bWVudChwcmVNQlI6IHVpbnQ2NCk6IHZvaWQKc2VuZE1CUlBheW1lbnQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjE3CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYW1vdW50OiBwcmVNQlIgLSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czoxOAoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MTkKCS8vIGFtb3VudDogcHJlTUJSIC0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgLTEgLy8gcHJlTUJSOiB1aW50NjQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDMgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCiphYmlfcm91dGVfYWRkQXBwVG9XaGl0ZUxpc3Q6CgkvLyBwYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF5bWVudCkgZm9yIGFkZEFwcFRvV2hpdGVMaXN0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFwcElEOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMiAoYm94SW5kZXgpIGZvciBhZGRBcHBUb1doaXRlTGlzdCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBhcmM6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZEFwcFRvV2hpdGVMaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHBheSl2b2lkCgljYWxsc3ViIGFkZEFwcFRvV2hpdGVMaXN0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGRBcHBUb1doaXRlTGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNiwgYXBwSUQ6IHVpbnQ2NCwgcGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBBZGQgYXBwIHRvIHdoaXRlbGlzdCBib3gKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gYWRkIHRoZSBhcHAgdG8KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBhZGQgdG8gdGhlIHdoaXRlbGlzdAovLyBAcGFyYW0gcGF5bWVudCAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIHRvIGNvdmVyIHRoZSBNQlIgY2hhbmdlCmFkZEFwcFRvV2hpdGVMaXN0OgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzMKCS8vIHByZU1CUiA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDAgLy8gcHJlTUJSOiB1aW50NjQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM0CgkvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdCA9IHsgYWNjb3VudDogdGhpcy50eG4uc2VuZGVyLCBib3hJbmRleDogYm94SW5kZXgsIGFyYzogYXJjIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQxNgoJaXRvYgoJZXh0cmFjdCA2IDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMSAvLyBhcmM6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM2CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmV4aXN0cwoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9sZW4KCXN3YXAKCXBvcAoJYnogKmlmMF9lbHNlCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjM3CgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlLnB1c2goYXBwSUQpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWR1cAoJYm94X2RlbAoJcG9wCglzd2FwCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6MzkKCS8vIG5ld1doaXRlbGlzdDogdWludDY0W10gPSBbYXBwSURdCglmcmFtZV9kaWcgLTMgLy8gYXBwSUQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gbmV3V2hpdGVsaXN0CglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAyIC8vIG5ld1doaXRlbGlzdDogdWludDY0W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjQzCgkvLyB0aGlzLnZlcmlmeU1CUlBheW1lbnQocGF5bWVudCwgcHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBwYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgdmVyaWZ5TUJSUGF5bWVudAoJcmV0c3ViCgovLyBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCiphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0OgoJLy8gYXBwSURzOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBib3hJbmRleDogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYm94SW5kZXgpIGZvciBzZXRBcHBXaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzZXRBcHBXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjRbXSl2b2lkCgljYWxsc3ViIHNldEFwcFdoaXRlbGlzdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0QXBwV2hpdGVsaXN0KGFyYzogc3RyaW5nLCBib3hJbmRleDogdWludDE2LCBhcHBJRHM6IHVpbnQ2NFtdKTogdm9pZAovLwovLyBTZXRzIGEgYXBwIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlci4gU2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGFkZGluZy9yZW1vdmluZwovLyBtb3JlIHRoYW4gb25lIGFwcAovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gcHV0IHRoZSBhcHAgSURzIGluCi8vIEBwYXJhbSBhcHBJRHMgLSBBcnJheSBvZiBhcHAgSURzIHRoYXQgc2lnbmlmeSB0aGUgd2hpdGVsaXN0ZWQgYXBwcwpzZXRBcHBXaGl0ZWxpc3Q6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1NQoJLy8gcHJlTUJSID0gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBwcmVNQlI6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NTYKCS8vIHdoaXRlbGlzdDogV2hpdGVsaXN0ID0geyBhY2NvdW50OiB0aGlzLnR4bi5zZW5kZXIsIGJveEluZGV4OiBib3hJbmRleCwgYXJjOiBhcmMgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCXR4biBTZW5kZXIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDE2CglpdG9iCglleHRyYWN0IDYgMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0xIC8vIGFyYzogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo1OAoJLy8gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS5kZWxldGUoKQoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9kZWwKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjYwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlID0gYXBwSURzCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCWZyYW1lX2RpZyAtMyAvLyBhcHBJRHM6IHVpbnQ2NFtdCglkdXAKCWxlbgoJaW50YyAxIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWJveF9wdXQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo2MgoJLy8gcHJlTUJSID4gdGhpcy5hcHAuYWRkcmVzcy5taW5CYWxhbmNlCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCgk+CglieiAqaWYxX2Vsc2UKCgkvLyAqaWYxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjMKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6NjUKCS8vIHRoaXMudmVyaWZ5TUJSUGF5bWVudCh0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXSBhcyBQYXlUeG4sIHByZU1CUikKCWZyYW1lX2RpZyAwIC8vIHByZU1CUjogdWludDY0Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGZhaWxlZCB0byBjYXN0IHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdIHRvIHBheQoJYXNzZXJ0CgljYWxsc3ViIHZlcmlmeU1CUlBheW1lbnQKCippZjFfZW5kOgoJcmV0c3ViCgovLyBkZWxldGVXaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNil2b2lkCiphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0OgoJLy8gYm94SW5kZXg6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGJveEluZGV4KSBmb3IgZGVsZXRlV2hpdGVsaXN0IG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGFyYzogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgZGVsZXRlV2hpdGVsaXN0KHN0cmluZyx1aW50MTYpdm9pZAoJY2FsbHN1YiBkZWxldGVXaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZVdoaXRlbGlzdChhcmM6IHN0cmluZywgYm94SW5kZXg6IHVpbnQxNik6IHZvaWQKLy8KLy8gRGVsZXRlcyBhIGFwcCB3aGl0ZWxpc3QgZm9yIHRoZSBzZW5kZXIKLy8KLy8gQHBhcmFtIGFyYyAtIFRoZSBBUkMgdGhlIHdoaXRlbGlzdCBjb3JyZXNwb25kcyB0bwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlCmRlbGV0ZVdoaXRlbGlzdDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjc3CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo3OAoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjgwCgkvLyB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLmRlbGV0ZSgpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL2FyYzc1L2FyYzc1LmFsZ28udHM6ODIKCS8vIHRoaXMuc2VuZE1CUlBheW1lbnQocHJlTUJSKQoJZnJhbWVfZGlnIDAgLy8gcHJlTUJSOiB1aW50NjQKCWNhbGxzdWIgc2VuZE1CUlBheW1lbnQKCXJldHN1YgoKLy8gZGVsZXRlQXBwRnJvbVdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcEZyb21XaGl0ZWxpc3Q6CgkvLyBpbmRleDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gYXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGJveEluZGV4OiB1aW50MTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDIgLy8gMgoJPT0KCgkvLyBhcmd1bWVudCAyIChib3hJbmRleCkgZm9yIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYXJjOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBGcm9tV2hpdGVsaXN0KHN0cmluZyx1aW50MTYsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcEZyb21XaGl0ZWxpc3QoYXJjOiBzdHJpbmcsIGJveEluZGV4OiB1aW50MTYsIGFwcElEOiB1aW50NjQsIGluZGV4OiB1aW50NjQpOiB2b2lkCi8vCi8vIERlbGV0ZXMgYSBhcHAgZnJvbSBhIHdoaXRlbGlzdCBmb3IgdGhlIHNlbmRlcgovLwovLyBAcGFyYW0gYm94SW5kZXggLSBUaGUgaW5kZXggb2YgdGhlIHdoaXRlbGlzdCBib3ggdG8gZGVsZXRlIGZyb20KLy8gQHBhcmFtIGFwcElEIC0gVGhlIGFwcCBJRCB0byBkZWxldGUgZnJvbSB0aGUgd2hpdGVsaXN0Ci8vIEBwYXJhbSBpbmRleCAtIFRoZSBpbmRleCBvZiB0aGUgYXBwIGluIHRoZSB3aGl0ZWxpc3QKZGVsZXRlQXBwRnJvbVdoaXRlbGlzdDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk0CgkvLyBwcmVNQlIgPSB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJZnJhbWVfYnVyeSAwIC8vIHByZU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5NQoJLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QgPSB7IGFjY291bnQ6IHRoaXMudHhuLnNlbmRlciwgYm94SW5kZXg6IGJveEluZGV4LCBhcmM6IGFyYyB9CglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJYnl0ZWMgMSAvLyAgaW5pdGlhbCBoZWFkIG9mZnNldAoJdHhuIFNlbmRlcgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGJveEluZGV4OiB1aW50MTYKCWl0b2IKCWV4dHJhY3QgNiAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gYXJjOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjk3CgkvLyBzcGxpY2VkID0gdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy53aGl0ZWxpc3Qod2hpdGVsaXN0KS52YWx1ZQoJYXNzZXJ0CglleHRyYWN0IDIgMAoJaW50YyAwIC8vIDEKCWZyYW1lX2RpZyAtNCAvLyBpbmRleDogdWludDY0CglpbnRjIDEgLy8gOAoJKgoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCAxNgoJc3RvcmUgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gd2hpdGVsaXN0OiBXaGl0ZWxpc3QKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMud2hpdGVsaXN0KHdoaXRlbGlzdCkudmFsdWUKCWFzc2VydAoJZXh0cmFjdCAyIDAKCWludGMgMyAvLyAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMSAvLyA4CgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAxIC8vIHdoaXRlbGlzdDogV2hpdGVsaXN0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLndoaXRlbGlzdCh3aGl0ZWxpc3QpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAxIC8vIDgKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9kaWcgMSAvLyB3aGl0ZWxpc3Q6IFdoaXRlbGlzdAoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDEgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoJZnJhbWVfYnVyeSAyIC8vIHNwbGljZWQ6IHVpbnQ2NFtdCgoJLy8gZXhhbXBsZXMvYXJjNzUvYXJjNzUuYWxnby50czo5OQoJLy8gYXNzZXJ0KHNwbGljZWRbMF0gPT09IGFwcElEKQoJZnJhbWVfZGlnIDIgLy8gc3BsaWNlZDogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFwcElEOiB1aW50NjQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9hcmM3NS9hcmM3NS5hbGdvLnRzOjEwMQoJLy8gdGhpcy5zZW5kTUJSUGF5bWVudChwcmVNQlIpCglmcmFtZV9kaWcgMCAvLyBwcmVNQlI6IHVpbnQ2NAoJY2FsbHN1YiBzZW5kTUJSUGF5bWVudAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ2N2M3Y2JkIC8vIG1ldGhvZCAiYWRkQXBwVG9XaGl0ZUxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHhkMTk4ZmNiOCAvLyBtZXRob2QgInNldEFwcFdoaXRlbGlzdChzdHJpbmcsdWludDE2LHVpbnQ2NFtdKXZvaWQiCglwdXNoYnl0ZXMgMHg3YzMzZTgzMiAvLyBtZXRob2QgImRlbGV0ZVdoaXRlbGlzdChzdHJpbmcsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZTE2NzRhYyAvLyBtZXRob2QgImRlbGV0ZUFwcEZyb21XaGl0ZWxpc3Qoc3RyaW5nLHVpbnQxNix1aW50NjQsdWludDY0KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FkZEFwcFRvV2hpdGVMaXN0ICphYmlfcm91dGVfc2V0QXBwV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlV2hpdGVsaXN0ICphYmlfcm91dGVfZGVsZXRlQXBwRnJvbVdoaXRlbGlzdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/auction/tealscript_artifacts/Auction.approval.teal b/examples/auction/tealscript_artifacts/Auction.approval.teal index e7d5a4f17..70df5fdf1 100644 --- a/examples/auction/tealscript_artifacts/Auction.approval.teal +++ b/examples/auction/tealscript_artifacts/Auction.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 4 bytecblock 0x70726576696f7573426964646572 0x70726576696f7573426964 0x61756374696f6e456e64 0x636c61696d61626c65416d6f756e74 0x617361416d74 0x617361 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/auction/tealscript_artifacts/Auction.arc32.json b/examples/auction/tealscript_artifacts/Auction.arc32.json index 904ab706d..371117daa 100644 --- a/examples/auction/tealscript_artifacts/Auction.arc32.json +++ b/examples/auction/tealscript_artifacts/Auction.arc32.json @@ -95,7 +95,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNApieXRlY2Jsb2NrIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAweDYxNzM2MTQxNmQ3NCAweDYxNzM2MSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOAoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gMAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOQoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjIwCgkvLyB0aGlzLmFzYUFtdC52YWx1ZSA9IDAKCWJ5dGVjIDQgLy8gICJhc2FBbXQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyMQoJLy8gdGhpcy5hc2EudmFsdWUgPSBBc3NldElELnplcm9JbmRleAoJYnl0ZWMgNSAvLyAgImFzYSIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlYyA1IC8vICAiYXNhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAwCgk9PQoJYXNzZXJ0CgoJLy8gU2F2ZSBBU0EgSUQgaW4gZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozNQoJLy8gdGhpcy5hc2EudmFsdWUgPSBhc3NldAoJYnl0ZWMgNSAvLyAgImFzYSIKCWZyYW1lX2RpZyAtMSAvLyBhc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBTdWJtaXQgb3B0LWluIHRyYW5zYWN0aW9uOiAwIGFzc2V0IHRyYW5zZmVyIHRvIHNlbGYKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM4CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAyIC8vICBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAwIChheGZlcikgZm9yIHN0YXJ0QXVjdGlvbiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGxlbmd0aDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gc3RhcnRpbmdQcmljZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzdGFydEF1Y3Rpb24odWludDY0LHVpbnQ2NCxheGZlcil2b2lkCgljYWxsc3ViIHN0YXJ0QXVjdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRBdWN0aW9uKHN0YXJ0aW5nUHJpY2U6IHVpbnQ2NCwgbGVuZ3RoOiB1aW50NjQsIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuKTogdm9pZApzdGFydEF1Y3Rpb246Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0NgoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gRW5zdXJlIHRoZSBhdWN0aW9uIGhhc24ndCBhbHJlYWR5IGJlZW4gc3RhcnRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NDkKCS8vIGFzc2VydCh0aGlzLmF1Y3Rpb25FbmQudmFsdWUgPT09IDApCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZWMgNCAvLyAgImFzYUFtdCIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTYKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wICsgbGVuZ3RoCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MgoJLy8gcmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MwoJLy8gYW1vdW50OiBhbW91bnQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9wdEluVG9BcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIG9wdEluVG9BcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCk6IHZvaWQKb3B0SW5Ub0FwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGJpZChwYXkpdm9pZAoqYWJpX3JvdXRlX2JpZDoKCS8vIHBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXltZW50KSBmb3IgYmlkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlkKHBheSl2b2lkCgljYWxsc3ViIGJpZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlkKHBheW1lbnQ6IFBheVR4bik6IHZvaWQKYmlkOgoJcHJvdG8gMSAwCgoJLy8gRW5zdXJlIGF1Y3Rpb24gaGFzbid0IGVuZGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo3MgoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wIDwgdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglhcHBfZ2xvYmFsX2dldAoJPAoJYXNzZXJ0CgoJLy8gVmVyaWZ5IHBheW1lbnQgdHJhbnNhY3Rpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjc1CgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IHRoaXMucHJldmlvdXNCaWQudmFsdWUgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlYyAxIC8vICAicHJldmlvdXNCaWQiCglhcHBfZ2xvYmFsX2dldAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij50aGlzLnByZXZpb3VzQmlkLnZhbHVlIn0KCWFzc2VydAoKCS8vIFNldCBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgxCgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo4MgoJLy8gdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSA9IHBheW1lbnQuc2VuZGVyCglieXRlYyAwIC8vICAicHJldmlvdXNCaWRkZXIiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gVXBkYXRlIGNsYWltYWJsZSBhbW91bnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg1CgkvLyB0aGlzLmNsYWltYWJsZUFtb3VudCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1CaWRzKCl2b2lkCiphYmlfcm91dGVfY2xhaW1CaWRzOgoJLy8gZXhlY3V0ZSBjbGFpbUJpZHMoKXZvaWQKCWNhbGxzdWIgY2xhaW1CaWRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbUJpZHMoKTogdm9pZApjbGFpbUJpZHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgNiAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODkKCS8vIG9yaWdpbmFsQW1vdW50ID0gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJdHhuIFNlbmRlcgoJYnl0ZWMgMyAvLyAgImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZWMgMSAvLyAgInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIDAgLy8gb3JpZ2luYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gYW1vdW50OiB1aW50NjQKCS0KCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1fYXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbV9hc3NldDoKCS8vIGFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltX2Fzc2V0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNsYWltX2Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbV9hc3NldChhc3NldDogQXNzZXRJRCk6IHZvaWQKY2xhaW1fYXNzZXQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDAKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA+IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGVjIDIgLy8gICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNgoJLy8gYXNzZXRBbW91bnQ6IHRoaXMuYXNhQW10LnZhbHVlCglieXRlYyA0IC8vICAiYXNhQW10IgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDcKCS8vIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRDbG9zZVRvCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBkZWxldGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKTogdm9pZApkZWxldGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Mzk4N2YwYzEgLy8gbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhjMjcyNTkyMiAvLyBtZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCglwdXNoYnl0ZXMgMHhkYjdmZTg0MyAvLyBtZXRob2QgImJpZChwYXkpdm9pZCIKCXB1c2hieXRlcyAweDAzMmY2NTBkIC8vIG1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTliMmFiMjYgLy8gbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4MDFhM2EzZmYgLy8gbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4MjQ4N2MzMmMgLy8gbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNApieXRlY2Jsb2NrIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAweDYxNzM2MTQxNmQ3NCAweDYxNzM2MSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOAoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gMAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOQoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjIwCgkvLyB0aGlzLmFzYUFtdC52YWx1ZSA9IDAKCWJ5dGVjIDQgLy8gICJhc2FBbXQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyMQoJLy8gdGhpcy5hc2EudmFsdWUgPSBBc3NldElELnplcm9JbmRleAoJYnl0ZWMgNSAvLyAgImFzYSIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlYyA1IC8vICAiYXNhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAwCgk9PQoJYXNzZXJ0CgoJLy8gU2F2ZSBBU0EgSUQgaW4gZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozNQoJLy8gdGhpcy5hc2EudmFsdWUgPSBhc3NldAoJYnl0ZWMgNSAvLyAgImFzYSIKCWZyYW1lX2RpZyAtMSAvLyBhc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBTdWJtaXQgb3B0LWluIHRyYW5zYWN0aW9uOiAwIGFzc2V0IHRyYW5zZmVyIHRvIHNlbGYKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM4CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAyIC8vICBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAwIChheGZlcikgZm9yIHN0YXJ0QXVjdGlvbiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGxlbmd0aDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gc3RhcnRpbmdQcmljZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzdGFydEF1Y3Rpb24odWludDY0LHVpbnQ2NCxheGZlcil2b2lkCgljYWxsc3ViIHN0YXJ0QXVjdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRBdWN0aW9uKHN0YXJ0aW5nUHJpY2U6IHVpbnQ2NCwgbGVuZ3RoOiB1aW50NjQsIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuKTogdm9pZApzdGFydEF1Y3Rpb246Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0NgoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gRW5zdXJlIHRoZSBhdWN0aW9uIGhhc24ndCBhbHJlYWR5IGJlZW4gc3RhcnRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NDkKCS8vIGFzc2VydCh0aGlzLmF1Y3Rpb25FbmQudmFsdWUgPT09IDApCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZWMgNCAvLyAgImFzYUFtdCIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTYKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wICsgbGVuZ3RoCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MgoJLy8gcmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MwoJLy8gYW1vdW50OiBhbW91bnQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9wdEluVG9BcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIG9wdEluVG9BcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCk6IHZvaWQKb3B0SW5Ub0FwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGJpZChwYXkpdm9pZAoqYWJpX3JvdXRlX2JpZDoKCS8vIHBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXltZW50KSBmb3IgYmlkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlkKHBheSl2b2lkCgljYWxsc3ViIGJpZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlkKHBheW1lbnQ6IFBheVR4bik6IHZvaWQKYmlkOgoJcHJvdG8gMSAwCgoJLy8gRW5zdXJlIGF1Y3Rpb24gaGFzbid0IGVuZGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo3MgoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wIDwgdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglhcHBfZ2xvYmFsX2dldAoJPAoJYXNzZXJ0CgoJLy8gVmVyaWZ5IHBheW1lbnQgdHJhbnNhY3Rpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjc1CgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IHRoaXMucHJldmlvdXNCaWQudmFsdWUgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlYyAxIC8vICAicHJldmlvdXNCaWQiCglhcHBfZ2xvYmFsX2dldAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij50aGlzLnByZXZpb3VzQmlkLnZhbHVlIn0KCWFzc2VydAoKCS8vIFNldCBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgxCgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo4MgoJLy8gdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSA9IHBheW1lbnQuc2VuZGVyCglieXRlYyAwIC8vICAicHJldmlvdXNCaWRkZXIiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gVXBkYXRlIGNsYWltYWJsZSBhbW91bnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg1CgkvLyB0aGlzLmNsYWltYWJsZUFtb3VudCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1CaWRzKCl2b2lkCiphYmlfcm91dGVfY2xhaW1CaWRzOgoJLy8gZXhlY3V0ZSBjbGFpbUJpZHMoKXZvaWQKCWNhbGxzdWIgY2xhaW1CaWRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbUJpZHMoKTogdm9pZApjbGFpbUJpZHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgNiAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODkKCS8vIG9yaWdpbmFsQW1vdW50ID0gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJdHhuIFNlbmRlcgoJYnl0ZWMgMyAvLyAgImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZWMgMSAvLyAgInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIDAgLy8gb3JpZ2luYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gYW1vdW50OiB1aW50NjQKCS0KCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1fYXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbV9hc3NldDoKCS8vIGFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltX2Fzc2V0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNsYWltX2Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbV9hc3NldChhc3NldDogQXNzZXRJRCk6IHZvaWQKY2xhaW1fYXNzZXQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDAKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA+IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGVjIDIgLy8gICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNgoJLy8gYXNzZXRBbW91bnQ6IHRoaXMuYXNhQW10LnZhbHVlCglieXRlYyA0IC8vICAiYXNhQW10IgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDcKCS8vIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRDbG9zZVRvCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBkZWxldGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKTogdm9pZApkZWxldGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Mzk4N2YwYzEgLy8gbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhjMjcyNTkyMiAvLyBtZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCglwdXNoYnl0ZXMgMHhkYjdmZTg0MyAvLyBtZXRob2QgImJpZChwYXkpdm9pZCIKCXB1c2hieXRlcyAweDAzMmY2NTBkIC8vIG1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTliMmFiMjYgLy8gbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4MDFhM2EzZmYgLy8gbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4MjQ4N2MzMmMgLy8gbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/auction/tealscript_artifacts/Auction.arc56_draft.json b/examples/auction/tealscript_artifacts/Auction.arc56_draft.json index f41c83a91..6958407a5 100644 --- a/examples/auction/tealscript_artifacts/Auction.arc56_draft.json +++ b/examples/auction/tealscript_artifacts/Auction.arc56_draft.json @@ -2347,7 +2347,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNApieXRlY2Jsb2NrIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAweDYxNzM2MTQxNmQ3NCAweDYxNzM2MSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOAoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gMAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOQoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjIwCgkvLyB0aGlzLmFzYUFtdC52YWx1ZSA9IDAKCWJ5dGVjIDQgLy8gICJhc2FBbXQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyMQoJLy8gdGhpcy5hc2EudmFsdWUgPSBBc3NldElELnplcm9JbmRleAoJYnl0ZWMgNSAvLyAgImFzYSIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlYyA1IC8vICAiYXNhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAwCgk9PQoJYXNzZXJ0CgoJLy8gU2F2ZSBBU0EgSUQgaW4gZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozNQoJLy8gdGhpcy5hc2EudmFsdWUgPSBhc3NldAoJYnl0ZWMgNSAvLyAgImFzYSIKCWZyYW1lX2RpZyAtMSAvLyBhc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBTdWJtaXQgb3B0LWluIHRyYW5zYWN0aW9uOiAwIGFzc2V0IHRyYW5zZmVyIHRvIHNlbGYKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM4CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAyIC8vICBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAwIChheGZlcikgZm9yIHN0YXJ0QXVjdGlvbiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGxlbmd0aDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gc3RhcnRpbmdQcmljZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzdGFydEF1Y3Rpb24odWludDY0LHVpbnQ2NCxheGZlcil2b2lkCgljYWxsc3ViIHN0YXJ0QXVjdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRBdWN0aW9uKHN0YXJ0aW5nUHJpY2U6IHVpbnQ2NCwgbGVuZ3RoOiB1aW50NjQsIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuKTogdm9pZApzdGFydEF1Y3Rpb246Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0NgoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gRW5zdXJlIHRoZSBhdWN0aW9uIGhhc24ndCBhbHJlYWR5IGJlZW4gc3RhcnRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NDkKCS8vIGFzc2VydCh0aGlzLmF1Y3Rpb25FbmQudmFsdWUgPT09IDApCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZWMgNCAvLyAgImFzYUFtdCIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTYKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wICsgbGVuZ3RoCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MgoJLy8gcmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MwoJLy8gYW1vdW50OiBhbW91bnQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9wdEluVG9BcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIG9wdEluVG9BcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCk6IHZvaWQKb3B0SW5Ub0FwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGJpZChwYXkpdm9pZAoqYWJpX3JvdXRlX2JpZDoKCS8vIHBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXltZW50KSBmb3IgYmlkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlkKHBheSl2b2lkCgljYWxsc3ViIGJpZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlkKHBheW1lbnQ6IFBheVR4bik6IHZvaWQKYmlkOgoJcHJvdG8gMSAwCgoJLy8gRW5zdXJlIGF1Y3Rpb24gaGFzbid0IGVuZGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo3MgoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wIDwgdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglhcHBfZ2xvYmFsX2dldAoJPAoJYXNzZXJ0CgoJLy8gVmVyaWZ5IHBheW1lbnQgdHJhbnNhY3Rpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjc1CgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IHRoaXMucHJldmlvdXNCaWQudmFsdWUgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlYyAxIC8vICAicHJldmlvdXNCaWQiCglhcHBfZ2xvYmFsX2dldAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij50aGlzLnByZXZpb3VzQmlkLnZhbHVlIn0KCWFzc2VydAoKCS8vIFNldCBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgxCgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo4MgoJLy8gdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSA9IHBheW1lbnQuc2VuZGVyCglieXRlYyAwIC8vICAicHJldmlvdXNCaWRkZXIiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gVXBkYXRlIGNsYWltYWJsZSBhbW91bnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg1CgkvLyB0aGlzLmNsYWltYWJsZUFtb3VudCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1CaWRzKCl2b2lkCiphYmlfcm91dGVfY2xhaW1CaWRzOgoJLy8gZXhlY3V0ZSBjbGFpbUJpZHMoKXZvaWQKCWNhbGxzdWIgY2xhaW1CaWRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbUJpZHMoKTogdm9pZApjbGFpbUJpZHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgNiAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODkKCS8vIG9yaWdpbmFsQW1vdW50ID0gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJdHhuIFNlbmRlcgoJYnl0ZWMgMyAvLyAgImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZWMgMSAvLyAgInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIDAgLy8gb3JpZ2luYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gYW1vdW50OiB1aW50NjQKCS0KCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1fYXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbV9hc3NldDoKCS8vIGFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltX2Fzc2V0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNsYWltX2Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbV9hc3NldChhc3NldDogQXNzZXRJRCk6IHZvaWQKY2xhaW1fYXNzZXQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDAKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA+IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGVjIDIgLy8gICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNgoJLy8gYXNzZXRBbW91bnQ6IHRoaXMuYXNhQW10LnZhbHVlCglieXRlYyA0IC8vICAiYXNhQW10IgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDcKCS8vIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRDbG9zZVRvCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBkZWxldGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKTogdm9pZApkZWxldGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Mzk4N2YwYzEgLy8gbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhjMjcyNTkyMiAvLyBtZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCglwdXNoYnl0ZXMgMHhkYjdmZTg0MyAvLyBtZXRob2QgImJpZChwYXkpdm9pZCIKCXB1c2hieXRlcyAweDAzMmY2NTBkIC8vIG1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTliMmFiMjYgLy8gbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4MDFhM2EzZmYgLy8gbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4MjQ4N2MzMmMgLy8gbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNApieXRlY2Jsb2NrIDB4NzA3MjY1NzY2OTZmNzU3MzQyNjk2NDY0NjU3MiAweDcwNzI2NTc2Njk2Zjc1NzM0MjY5NjQgMHg2MTc1NjM3NDY5NmY2ZTQ1NmU2NCAweDYzNmM2MTY5NmQ2MTYyNmM2NTQxNmQ2Zjc1NmU3NCAweDYxNzM2MTQxNmQ3NCAweDYxNzM2MSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOAoJLy8gdGhpcy5hdWN0aW9uRW5kLnZhbHVlID0gMAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxOQoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjIwCgkvLyB0aGlzLmFzYUFtdC52YWx1ZSA9IDAKCWJ5dGVjIDQgLy8gICJhc2FBbXQiCglpbnRjIDEgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyMQoJLy8gdGhpcy5hc2EudmFsdWUgPSBBc3NldElELnplcm9JbmRleAoJYnl0ZWMgNSAvLyAgImFzYSIKCWludGMgMSAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjI0CgkvLyB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJZ2xvYmFsIFplcm9BZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vcHRJbnRvQXNzZXQ6CgkvLyBhc3NldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcHRJbnRvQXNzZXQodWludDY0KXZvaWQKCWNhbGxzdWIgb3B0SW50b0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJbnRvQXNzZXQoYXNzZXQ6IEFzc2V0SUQpOiB2b2lkCm9wdEludG9Bc3NldDoKCXByb3RvIDEgMAoKCS8vIE9ubHkgYWxsb3cgYXBwIGNyZWF0b3IgdG8gb3B0IHRoZSBhcHAgYWNjb3VudCBpbnRvIGEgQVNBCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoyOQoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzIKCS8vIGFzc2VydCh0aGlzLmFzYS52YWx1ZSA9PT0gQXNzZXRJRC56ZXJvSW5kZXgpCglieXRlYyA1IC8vICAiYXNhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAwCgk9PQoJYXNzZXJ0CgoJLy8gU2F2ZSBBU0EgSUQgaW4gZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czozNQoJLy8gdGhpcy5hc2EudmFsdWUgPSBhc3NldAoJYnl0ZWMgNSAvLyAgImFzYSIKCWZyYW1lX2RpZyAtMSAvLyBhc3NldDogQXNzZXRJRAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBTdWJtaXQgb3B0LWluIHRyYW5zYWN0aW9uOiAwIGFzc2V0IHRyYW5zZmVyIHRvIHNlbGYKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjM4CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MzkKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0MAoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjQxCgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zdGFydEF1Y3Rpb246CgkvLyBheGZlcjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAyIC8vICBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAwIChheGZlcikgZm9yIHN0YXJ0QXVjdGlvbiBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGxlbmd0aDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gc3RhcnRpbmdQcmljZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzdGFydEF1Y3Rpb24odWludDY0LHVpbnQ2NCxheGZlcil2b2lkCgljYWxsc3ViIHN0YXJ0QXVjdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRBdWN0aW9uKHN0YXJ0aW5nUHJpY2U6IHVpbnQ2NCwgbGVuZ3RoOiB1aW50NjQsIGF4ZmVyOiBBc3NldFRyYW5zZmVyVHhuKTogdm9pZApzdGFydEF1Y3Rpb246Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo0NgoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4biwgeyBzZW5kZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCXR4biBTZW5kZXIKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuIiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6Imdsb2JhbHMuY3JlYXRvckFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gRW5zdXJlIHRoZSBhdWN0aW9uIGhhc24ndCBhbHJlYWR5IGJlZW4gc3RhcnRlZAoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NDkKCS8vIGFzc2VydCh0aGlzLmF1Y3Rpb25FbmQudmFsdWUgPT09IDApCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMAoJPT0KCWFzc2VydAoKCS8vIFZlcmlmeSBheGZlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTIKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oYXhmZXIsIHsgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFzc2V0UmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJheGZlciIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBTZXQgZ2xvYmFsIHN0YXRlCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NQoJLy8gdGhpcy5hc2FBbXQudmFsdWUgPSBheGZlci5hc3NldEFtb3VudAoJYnl0ZWMgNCAvLyAgImFzYUFtdCIKCWZyYW1lX2RpZyAtMyAvLyBheGZlcjogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6NTYKCS8vIHRoaXMuYXVjdGlvbkVuZC52YWx1ZSA9IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wICsgbGVuZ3RoCglieXRlYyAyIC8vICAiYXVjdGlvbkVuZCIKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAtMiAvLyBsZW5ndGg6IHVpbnQ2NAoJKwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo1NwoJLy8gdGhpcy5wcmV2aW91c0JpZC52YWx1ZSA9IHN0YXJ0aW5nUHJpY2UKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHBheShyZWNlaXZlcjogQWRkcmVzcywgYW1vdW50OiB1aW50NjQpOiB2b2lkCnBheToKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjYxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogcmVjZWl2ZXIsCgkvLyAgICAgICBhbW91bnQ6IGFtb3VudCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MgoJLy8gcmVjZWl2ZXI6IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcmVjZWl2ZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo2MwoJLy8gYW1vdW50OiBhbW91bnQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9wdEluVG9BcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIG9wdEluVG9BcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCk6IHZvaWQKb3B0SW5Ub0FwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGJpZChwYXkpdm9pZAoqYWJpX3JvdXRlX2JpZDoKCS8vIHBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXltZW50KSBmb3IgYmlkIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlkKHBheSl2b2lkCgljYWxsc3ViIGJpZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlkKHBheW1lbnQ6IFBheVR4bik6IHZvaWQKYmlkOgoJcHJvdG8gMSAwCgoJLy8gRW5zdXJlIGF1Y3Rpb24gaGFzbid0IGVuZGVkCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo3MgoJLy8gYXNzZXJ0KGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wIDwgdGhpcy5hdWN0aW9uRW5kLnZhbHVlKQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJYnl0ZWMgMiAvLyAgImF1Y3Rpb25FbmQiCglhcHBfZ2xvYmFsX2dldAoJPAoJYXNzZXJ0CgoJLy8gVmVyaWZ5IHBheW1lbnQgdHJhbnNhY3Rpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjc1CgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgc2VuZGVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IHRoaXMucHJldmlvdXNCaWQudmFsdWUgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLnR4bi5zZW5kZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglieXRlYyAxIC8vICAicHJldmlvdXNCaWQiCglhcHBfZ2xvYmFsX2dldAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij50aGlzLnByZXZpb3VzQmlkLnZhbHVlIn0KCWFzc2VydAoKCS8vIFNldCBnbG9iYWwgc3RhdGUKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjgxCgkvLyB0aGlzLnByZXZpb3VzQmlkLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCWJ5dGVjIDEgLy8gICJwcmV2aW91c0JpZCIKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo4MgoJLy8gdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSA9IHBheW1lbnQuc2VuZGVyCglieXRlYyAwIC8vICAicHJldmlvdXNCaWRkZXIiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gVXBkYXRlIGNsYWltYWJsZSBhbW91bnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjg1CgkvLyB0aGlzLmNsYWltYWJsZUFtb3VudCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gcGF5bWVudC5hbW91bnQKCXR4biBTZW5kZXIKCWJ5dGVjIDMgLy8gICJjbGFpbWFibGVBbW91bnQiCglmcmFtZV9kaWcgLTEgLy8gcGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1CaWRzKCl2b2lkCiphYmlfcm91dGVfY2xhaW1CaWRzOgoJLy8gZXhlY3V0ZSBjbGFpbUJpZHMoKXZvaWQKCWNhbGxzdWIgY2xhaW1CaWRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbUJpZHMoKTogdm9pZApjbGFpbUJpZHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgNiAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6ODkKCS8vIG9yaWdpbmFsQW1vdW50ID0gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJdHhuIFNlbmRlcgoJYnl0ZWMgMyAvLyAgImNsYWltYWJsZUFtb3VudCIKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6OTAKCS8vIGFtb3VudCA9IG9yaWdpbmFsQW1vdW50CglmcmFtZV9kaWcgMCAvLyBvcmlnaW5hbEFtb3VudDogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYW1vdW50OiB1aW50NjQKCgkvLyBzdWJ0cmFjdCBwcmV2aW91cyBiaWQgaWYgc2VuZGVyIGlzIHByZXZpb3VzIGJpZGRlcgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMucHJldmlvdXNCaWRkZXIudmFsdWUKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gICJwcmV2aW91c0JpZGRlciIKCWFwcF9nbG9iYWxfZ2V0Cgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjkzCgkvLyBhbW91bnQgPSBhbW91bnQgLSB0aGlzLnByZXZpb3VzQmlkLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJYnl0ZWMgMSAvLyAgInByZXZpb3VzQmlkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NQoJLy8gdGhpcy5wYXkodGhpcy50eG4uc2VuZGVyLCBhbW91bnQpCglmcmFtZV9kaWcgMSAvLyBhbW91bnQ6IHVpbnQ2NAoJdHhuIFNlbmRlcgoJY2FsbHN1YiBwYXkKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czo5NgoJLy8gdGhpcy5jbGFpbWFibGVBbW91bnQodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IG9yaWdpbmFsQW1vdW50IC0gYW1vdW50Cgl0eG4gU2VuZGVyCglieXRlYyAzIC8vICAiY2xhaW1hYmxlQW1vdW50IgoJZnJhbWVfZGlnIDAgLy8gb3JpZ2luYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gYW1vdW50OiB1aW50NjQKCS0KCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gY2xhaW1fYXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbV9hc3NldDoKCS8vIGFzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltX2Fzc2V0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNsYWltX2Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjbGFpbV9hc3NldChhc3NldDogQXNzZXRJRCk6IHZvaWQKY2xhaW1fYXNzZXQ6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDAKCS8vIGFzc2VydChnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCA+IHRoaXMuYXVjdGlvbkVuZC52YWx1ZSkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWJ5dGVjIDIgLy8gICJhdWN0aW9uRW5kIgoJYXBwX2dsb2JhbF9nZXQKCT4KCWFzc2VydAoKCS8vIFNlbmQgQVNBIHRvIHByZXZpb3VzIGJpZGRlcgoJLy8gZXhhbXBsZXMvYXVjdGlvbi9hdWN0aW9uLmFsZ28udHM6MTAzCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnByZXZpb3VzQmlkZGVyLnZhbHVlLAoJLy8gICAgICAgeGZlckFzc2V0OiBhc3NldCwKCS8vICAgICAgIGFzc2V0QW1vdW50OiB0aGlzLmFzYUFtdC52YWx1ZSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNQoJLy8geGZlckFzc2V0OiBhc3NldAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjEwNgoJLy8gYXNzZXRBbW91bnQ6IHRoaXMuYXNhQW10LnZhbHVlCglieXRlYyA0IC8vICAiYXNhQW10IgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMDcKCS8vIGFzc2V0Q2xvc2VUbzogdGhpcy5wcmV2aW91c0JpZGRlci52YWx1ZQoJYnl0ZWMgMCAvLyAgInByZXZpb3VzQmlkZGVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXNzZXRDbG9zZVRvCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2RlbGV0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBkZWxldGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBkZWxldGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKTogdm9pZApkZWxldGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MsCgkvLyAgICAgICBjbG9zZVJlbWFpbmRlclRvOiBnbG9iYWxzLmNyZWF0b3JBZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExMwoJLy8gcmVjZWl2ZXI6IGdsb2JhbHMuY3JlYXRvckFkZHJlc3MKCWdsb2JhbCBDcmVhdG9yQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL2F1Y3Rpb24vYXVjdGlvbi5hbGdvLnRzOjExNAoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy5jcmVhdG9yQWRkcmVzcwoJZ2xvYmFsIENyZWF0b3JBZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyBleGFtcGxlcy9hdWN0aW9uL2F1Y3Rpb24uYWxnby50czoxMTUKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Mzk4N2YwYzEgLy8gbWV0aG9kICJvcHRJbnRvQXNzZXQodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhjMjcyNTkyMiAvLyBtZXRob2QgInN0YXJ0QXVjdGlvbih1aW50NjQsdWludDY0LGF4ZmVyKXZvaWQiCglwdXNoYnl0ZXMgMHhkYjdmZTg0MyAvLyBtZXRob2QgImJpZChwYXkpdm9pZCIKCXB1c2hieXRlcyAweDAzMmY2NTBkIC8vIG1ldGhvZCAiY2xhaW1CaWRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTliMmFiMjYgLy8gbWV0aG9kICJjbGFpbV9hc3NldCh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3B0SW50b0Fzc2V0ICphYmlfcm91dGVfc3RhcnRBdWN0aW9uICphYmlfcm91dGVfYmlkICphYmlfcm91dGVfY2xhaW1CaWRzICphYmlfcm91dGVfY2xhaW1fYXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4MDFhM2EzZmYgLy8gbWV0aG9kICJvcHRJblRvQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29wdEluVG9BcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnIKCipjYWxsX0RlbGV0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4MjQ4N2MzMmMgLy8gbWV0aG9kICJkZWxldGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGVsZXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBEZWxldGVBcHBsaWNhdGlvbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/big_box/artifacts/BigBox.approval.teal b/examples/big_box/artifacts/BigBox.approval.teal index 42b4c8e33..9ba78d9dc 100644 --- a/examples/big_box/artifacts/BigBox.approval.teal +++ b/examples/big_box/artifacts/BigBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 8 0 400 16 32768 2 bytecblock 0x 0x63757272656e74496e646578 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/big_box/artifacts/BigBox.arc32.json b/examples/big_box/artifacts/BigBox.arc32.json index 14f01b862..082853e40 100644 --- a/examples/big_box/artifacts/BigBox.arc32.json +++ b/examples/big_box/artifacts/BigBox.arc32.json @@ -54,7 +54,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMCA0MDAgMTYgMzI3NjggMgpieXRlY2Jsb2NrIDB4IDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKKmFiaV9yb3V0ZV9zdGFydFVwbG9hZDoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3Igc3RhcnRVcGxvYWQgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZW5kQm94U2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gbnVtQm94ZXM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoJY2FsbHN1YiBzdGFydFVwbG9hZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRVcGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgbnVtQm94ZXM6IHVpbnQ2NCwgZW5kQm94U2l6ZTogdWludDY0LCBtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vCi8vIEFsbG9jYXRlIGJveGVzIHRvIGJlZ2luIGRhdGEgdXBsb2FkIHByb2Nlc3MKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIG51bUJveGVzIFRoZSBudW1iZXIgb2YgYm94ZXMgdGhhdCB0aGUgZGF0YSB3aWxsIHRha2UgdXAKLy8gQHBhcmFtIGVuZEJveFNpemUgVGhlIHNpemUgb2YgdGhlIGxhc3QgYm94Ci8vIEBwYXJhbSBtYnJQYXltZW50IFBheW1lbnQgZnJvbSB0aGUgdXBsb2FkZXIgdG8gY292ZXIgdGhlIGJveCBNQlIKc3RhcnRVcGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDEKCS8vIHN0YXJ0Qm94ID0gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUKCWJ5dGVjIDEgLy8gICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnRjIDAgLy8gMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTEKCS8vIGFzc2VydCghdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTMKCS8vIHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlID0gbWV0YWRhdGEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9kaWcgMiAvLyBtZXRhZGF0YTogTWV0YWRhdGEKCWJveF9wdXQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo1NQoJLy8gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUgPSBlbmRCb3ggKyAxCglieXRlYyAxIC8vICAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCXB1c2hpbnQgMjUwMAoJKgoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludGMgMCAvLyAxCgktCglpbnRjIDUgLy8gMzI3NjgKCSoKCWludGMgMyAvLyA0MDAKCSoKCSsKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CglwdXNoaW50IDY0CgkqCglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9kaWcgLTMgLy8gZW5kQm94U2l6ZTogdWludDY0CglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9idXJ5IDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo2MwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogdG90YWxDb3N0IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRvdGFsQ29zdCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCiphYmlfcm91dGVfdXBsb2FkOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgdXBsb2FkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgYm94SW5kZXg6IHVpbnQ2NCwgb2Zmc2V0OiB1aW50NjQsIGRhdGE6IGJ5dGVzKTogdm9pZAovLwovLwovLyBVcGxvYWQgZGF0YSB0byBhIHNwZWNpZmljIG9mZnNldCBpbiBhIGJveAovLwovLyBAcGFyYW0gZGF0YUlkZW50aWZpZXIgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGF0YQovLyBAcGFyYW0gYm94SW5kZXggVGhlIGluZGV4IG9mIHRoZSBib3ggdG8gdXBsb2FkIHRoZSBnaXZlbiBjaHVuayBvZiBkYXRhIHRvCi8vIEBwYXJhbSBvZmZzZXQgVGhlIG9mZnNldCB3aXRoaW4gdGhlIGJveCB0byBzdGFydCB3cml0aW5nIHRoZSBkYXRhCi8vIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHdyaXRlCnVwbG9hZDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzYKCS8vIG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL21ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzcKCS8vIGFzc2VydChtZXRhZGF0YS5zdGF0dXMgPT09IElOX1BST0dSRVNTKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDIgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMiAvLyAwCglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODAKCS8vIG9mZnNldCA9PT0gMAoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglpbnRjIDIgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4MQoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLmNyZWF0ZShib3hJbmRleCA9PT0gbWV0YWRhdGEuZW5kID8gbWV0YWRhdGEuZW5kU2l6ZSA6IE1BWF9CT1hfU0laRSkKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0CglpdG9iCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk9PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJcHVzaGludCAxNyAvLyBoZWFkT2Zmc2V0CglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJaW50YyA1IC8vIDMyNzY4CgoqdGVybmFyeTBfZW5kOgoJYm94X2NyZWF0ZQoJcG9wCgoqaWYwX2VuZDoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjg0CgkvLyB0aGlzLmRhdGFCb3hlcyhib3hJbmRleCkucmVwbGFjZShvZmZzZXQsIGRhdGEpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoqYWJpX3JvdXRlX3NldFN0YXR1czoKCS8vIHN0YXR1czogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGF0dXMpIGZvciBzZXRTdGF0dXMgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkCgljYWxsc3ViIHNldFN0YXR1cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0U3RhdHVzKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIHN0YXR1czogdWludDw4Pik6IHZvaWQKLy8KLy8KLy8gU2V0IHRoZSBzdGF0dXMgb2YgdGhlIGRhdGEKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIHN0YXR1cyBUaGUgbmV3IHN0YXR1cyBmb3IgdGhlIGRhdGEKc2V0U3RhdHVzOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NQoJLy8gY3VycmVudFN0YXR1cyA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlLnN0YXR1cwoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMCAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnRjIDYgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMiAvLyAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludGMgNiAvLyAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHN0YXR1czogdWludDw4PgoJaXRvYgoJZXh0cmFjdCA3IDEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGEwNWI1NjY5IC8vIG1ldGhvZCAic3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHgxYjdkZmEzNSAvLyBtZXRob2QgInVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweGJmMzg1NmY4IC8vIG1ldGhvZCAic2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGFydFVwbG9hZCAqYWJpX3JvdXRlX3VwbG9hZCAqYWJpX3JvdXRlX3NldFN0YXR1cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMCA0MDAgMTYgMzI3NjggMgpieXRlY2Jsb2NrIDB4IDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKKmFiaV9yb3V0ZV9zdGFydFVwbG9hZDoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3Igc3RhcnRVcGxvYWQgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZW5kQm94U2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gbnVtQm94ZXM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoJY2FsbHN1YiBzdGFydFVwbG9hZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRVcGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgbnVtQm94ZXM6IHVpbnQ2NCwgZW5kQm94U2l6ZTogdWludDY0LCBtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vCi8vIEFsbG9jYXRlIGJveGVzIHRvIGJlZ2luIGRhdGEgdXBsb2FkIHByb2Nlc3MKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIG51bUJveGVzIFRoZSBudW1iZXIgb2YgYm94ZXMgdGhhdCB0aGUgZGF0YSB3aWxsIHRha2UgdXAKLy8gQHBhcmFtIGVuZEJveFNpemUgVGhlIHNpemUgb2YgdGhlIGxhc3QgYm94Ci8vIEBwYXJhbSBtYnJQYXltZW50IFBheW1lbnQgZnJvbSB0aGUgdXBsb2FkZXIgdG8gY292ZXIgdGhlIGJveCBNQlIKc3RhcnRVcGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDEKCS8vIHN0YXJ0Qm94ID0gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUKCWJ5dGVjIDEgLy8gICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnRjIDAgLy8gMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTEKCS8vIGFzc2VydCghdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTMKCS8vIHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlID0gbWV0YWRhdGEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9kaWcgMiAvLyBtZXRhZGF0YTogTWV0YWRhdGEKCWJveF9wdXQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo1NQoJLy8gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUgPSBlbmRCb3ggKyAxCglieXRlYyAxIC8vICAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCXB1c2hpbnQgMjUwMAoJKgoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludGMgMCAvLyAxCgktCglpbnRjIDUgLy8gMzI3NjgKCSoKCWludGMgMyAvLyA0MDAKCSoKCSsKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CglwdXNoaW50IDY0CgkqCglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9kaWcgLTMgLy8gZW5kQm94U2l6ZTogdWludDY0CglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9idXJ5IDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo2MwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogdG90YWxDb3N0IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRvdGFsQ29zdCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCiphYmlfcm91dGVfdXBsb2FkOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgdXBsb2FkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgYm94SW5kZXg6IHVpbnQ2NCwgb2Zmc2V0OiB1aW50NjQsIGRhdGE6IGJ5dGVzKTogdm9pZAovLwovLwovLyBVcGxvYWQgZGF0YSB0byBhIHNwZWNpZmljIG9mZnNldCBpbiBhIGJveAovLwovLyBAcGFyYW0gZGF0YUlkZW50aWZpZXIgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGF0YQovLyBAcGFyYW0gYm94SW5kZXggVGhlIGluZGV4IG9mIHRoZSBib3ggdG8gdXBsb2FkIHRoZSBnaXZlbiBjaHVuayBvZiBkYXRhIHRvCi8vIEBwYXJhbSBvZmZzZXQgVGhlIG9mZnNldCB3aXRoaW4gdGhlIGJveCB0byBzdGFydCB3cml0aW5nIHRoZSBkYXRhCi8vIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHdyaXRlCnVwbG9hZDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzYKCS8vIG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL21ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzcKCS8vIGFzc2VydChtZXRhZGF0YS5zdGF0dXMgPT09IElOX1BST0dSRVNTKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDIgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMiAvLyAwCglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODAKCS8vIG9mZnNldCA9PT0gMAoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglpbnRjIDIgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4MQoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLmNyZWF0ZShib3hJbmRleCA9PT0gbWV0YWRhdGEuZW5kID8gbWV0YWRhdGEuZW5kU2l6ZSA6IE1BWF9CT1hfU0laRSkKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0CglpdG9iCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk9PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJcHVzaGludCAxNyAvLyBoZWFkT2Zmc2V0CglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJaW50YyA1IC8vIDMyNzY4CgoqdGVybmFyeTBfZW5kOgoJYm94X2NyZWF0ZQoJcG9wCgoqaWYwX2VuZDoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjg0CgkvLyB0aGlzLmRhdGFCb3hlcyhib3hJbmRleCkucmVwbGFjZShvZmZzZXQsIGRhdGEpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoqYWJpX3JvdXRlX3NldFN0YXR1czoKCS8vIHN0YXR1czogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGF0dXMpIGZvciBzZXRTdGF0dXMgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkCgljYWxsc3ViIHNldFN0YXR1cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0U3RhdHVzKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIHN0YXR1czogdWludDw4Pik6IHZvaWQKLy8KLy8KLy8gU2V0IHRoZSBzdGF0dXMgb2YgdGhlIGRhdGEKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIHN0YXR1cyBUaGUgbmV3IHN0YXR1cyBmb3IgdGhlIGRhdGEKc2V0U3RhdHVzOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NQoJLy8gY3VycmVudFN0YXR1cyA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlLnN0YXR1cwoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMCAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnRjIDYgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMiAvLyAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludGMgNiAvLyAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHN0YXR1czogdWludDw4PgoJaXRvYgoJZXh0cmFjdCA3IDEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGEwNWI1NjY5IC8vIG1ldGhvZCAic3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHgxYjdkZmEzNSAvLyBtZXRob2QgInVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweGJmMzg1NmY4IC8vIG1ldGhvZCAic2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGFydFVwbG9hZCAqYWJpX3JvdXRlX3VwbG9hZCAqYWJpX3JvdXRlX3NldFN0YXR1cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/big_box/artifacts/BigBox.arc56_draft.json b/examples/big_box/artifacts/BigBox.arc56_draft.json index e9dec79ad..e63282212 100644 --- a/examples/big_box/artifacts/BigBox.arc56_draft.json +++ b/examples/big_box/artifacts/BigBox.arc56_draft.json @@ -1994,7 +1994,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMCA0MDAgMTYgMzI3NjggMgpieXRlY2Jsb2NrIDB4IDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKKmFiaV9yb3V0ZV9zdGFydFVwbG9hZDoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3Igc3RhcnRVcGxvYWQgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZW5kQm94U2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gbnVtQm94ZXM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoJY2FsbHN1YiBzdGFydFVwbG9hZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRVcGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgbnVtQm94ZXM6IHVpbnQ2NCwgZW5kQm94U2l6ZTogdWludDY0LCBtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vCi8vIEFsbG9jYXRlIGJveGVzIHRvIGJlZ2luIGRhdGEgdXBsb2FkIHByb2Nlc3MKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIG51bUJveGVzIFRoZSBudW1iZXIgb2YgYm94ZXMgdGhhdCB0aGUgZGF0YSB3aWxsIHRha2UgdXAKLy8gQHBhcmFtIGVuZEJveFNpemUgVGhlIHNpemUgb2YgdGhlIGxhc3QgYm94Ci8vIEBwYXJhbSBtYnJQYXltZW50IFBheW1lbnQgZnJvbSB0aGUgdXBsb2FkZXIgdG8gY292ZXIgdGhlIGJveCBNQlIKc3RhcnRVcGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDEKCS8vIHN0YXJ0Qm94ID0gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUKCWJ5dGVjIDEgLy8gICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnRjIDAgLy8gMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTEKCS8vIGFzc2VydCghdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTMKCS8vIHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlID0gbWV0YWRhdGEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9kaWcgMiAvLyBtZXRhZGF0YTogTWV0YWRhdGEKCWJveF9wdXQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo1NQoJLy8gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUgPSBlbmRCb3ggKyAxCglieXRlYyAxIC8vICAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCXB1c2hpbnQgMjUwMAoJKgoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludGMgMCAvLyAxCgktCglpbnRjIDUgLy8gMzI3NjgKCSoKCWludGMgMyAvLyA0MDAKCSoKCSsKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CglwdXNoaW50IDY0CgkqCglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9kaWcgLTMgLy8gZW5kQm94U2l6ZTogdWludDY0CglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9idXJ5IDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo2MwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogdG90YWxDb3N0IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRvdGFsQ29zdCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCiphYmlfcm91dGVfdXBsb2FkOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgdXBsb2FkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgYm94SW5kZXg6IHVpbnQ2NCwgb2Zmc2V0OiB1aW50NjQsIGRhdGE6IGJ5dGVzKTogdm9pZAovLwovLwovLyBVcGxvYWQgZGF0YSB0byBhIHNwZWNpZmljIG9mZnNldCBpbiBhIGJveAovLwovLyBAcGFyYW0gZGF0YUlkZW50aWZpZXIgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGF0YQovLyBAcGFyYW0gYm94SW5kZXggVGhlIGluZGV4IG9mIHRoZSBib3ggdG8gdXBsb2FkIHRoZSBnaXZlbiBjaHVuayBvZiBkYXRhIHRvCi8vIEBwYXJhbSBvZmZzZXQgVGhlIG9mZnNldCB3aXRoaW4gdGhlIGJveCB0byBzdGFydCB3cml0aW5nIHRoZSBkYXRhCi8vIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHdyaXRlCnVwbG9hZDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzYKCS8vIG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL21ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzcKCS8vIGFzc2VydChtZXRhZGF0YS5zdGF0dXMgPT09IElOX1BST0dSRVNTKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDIgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMiAvLyAwCglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODAKCS8vIG9mZnNldCA9PT0gMAoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglpbnRjIDIgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4MQoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLmNyZWF0ZShib3hJbmRleCA9PT0gbWV0YWRhdGEuZW5kID8gbWV0YWRhdGEuZW5kU2l6ZSA6IE1BWF9CT1hfU0laRSkKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0CglpdG9iCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk9PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJcHVzaGludCAxNyAvLyBoZWFkT2Zmc2V0CglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJaW50YyA1IC8vIDMyNzY4CgoqdGVybmFyeTBfZW5kOgoJYm94X2NyZWF0ZQoJcG9wCgoqaWYwX2VuZDoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjg0CgkvLyB0aGlzLmRhdGFCb3hlcyhib3hJbmRleCkucmVwbGFjZShvZmZzZXQsIGRhdGEpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoqYWJpX3JvdXRlX3NldFN0YXR1czoKCS8vIHN0YXR1czogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGF0dXMpIGZvciBzZXRTdGF0dXMgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkCgljYWxsc3ViIHNldFN0YXR1cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0U3RhdHVzKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIHN0YXR1czogdWludDw4Pik6IHZvaWQKLy8KLy8KLy8gU2V0IHRoZSBzdGF0dXMgb2YgdGhlIGRhdGEKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIHN0YXR1cyBUaGUgbmV3IHN0YXR1cyBmb3IgdGhlIGRhdGEKc2V0U3RhdHVzOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NQoJLy8gY3VycmVudFN0YXR1cyA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlLnN0YXR1cwoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMCAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnRjIDYgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMiAvLyAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludGMgNiAvLyAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHN0YXR1czogdWludDw4PgoJaXRvYgoJZXh0cmFjdCA3IDEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGEwNWI1NjY5IC8vIG1ldGhvZCAic3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHgxYjdkZmEzNSAvLyBtZXRob2QgInVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweGJmMzg1NmY4IC8vIG1ldGhvZCAic2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGFydFVwbG9hZCAqYWJpX3JvdXRlX3VwbG9hZCAqYWJpX3JvdXRlX3NldFN0YXR1cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDggMCA0MDAgMTYgMzI3NjggMgpieXRlY2Jsb2NrIDB4IDB4NjM3NTcyNzI2NTZlNzQ0OTZlNjQ2NTc4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQKKmFiaV9yb3V0ZV9zdGFydFVwbG9hZDoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3Igc3RhcnRVcGxvYWQgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZW5kQm94U2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gbnVtQm94ZXM6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdGFydFVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxwYXkpdm9pZAoJY2FsbHN1YiBzdGFydFVwbG9hZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhcnRVcGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgbnVtQm94ZXM6IHVpbnQ2NCwgZW5kQm94U2l6ZTogdWludDY0LCBtYnJQYXltZW50OiBQYXlUeG4pOiB2b2lkCi8vCi8vCi8vIEFsbG9jYXRlIGJveGVzIHRvIGJlZ2luIGRhdGEgdXBsb2FkIHByb2Nlc3MKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIG51bUJveGVzIFRoZSBudW1iZXIgb2YgYm94ZXMgdGhhdCB0aGUgZGF0YSB3aWxsIHRha2UgdXAKLy8gQHBhcmFtIGVuZEJveFNpemUgVGhlIHNpemUgb2YgdGhlIGxhc3QgYm94Ci8vIEBwYXJhbSBtYnJQYXltZW50IFBheW1lbnQgZnJvbSB0aGUgdXBsb2FkZXIgdG8gY292ZXIgdGhlIGJveCBNQlIKc3RhcnRVcGxvYWQ6Cglwcm90byA0IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDEKCS8vIHN0YXJ0Qm94ID0gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUKCWJ5dGVjIDEgLy8gICJjdXJyZW50SW5kZXgiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfYnVyeSAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo0MgoJLy8gZW5kQm94ID0gc3RhcnRCb3ggKyBudW1Cb3hlcyAtIDEKCWZyYW1lX2RpZyAwIC8vIHN0YXJ0Qm94OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CgkrCglpbnRjIDAgLy8gMQoJLQoJZnJhbWVfYnVyeSAxIC8vIGVuZEJveDogdWludDY0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NDQKCS8vIG1ldGFkYXRhOiBNZXRhZGF0YSA9IHsKCS8vICAgICAgIHN0YXJ0OiBzdGFydEJveCwKCS8vICAgICAgIGVuZDogZW5kQm94LAoJLy8gICAgICAgc3RhdHVzOiBJTl9QUk9HUkVTUywKCS8vICAgICAgIGVuZFNpemU6IGVuZEJveFNpemUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIDAgLy8gc3RhcnRCb3g6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGVuZEJveFNpemU6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDIgLy8gbWV0YWRhdGE6IE1ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTEKCS8vIGFzc2VydCghdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NTMKCS8vIHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlID0gbWV0YWRhdGEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9kaWcgMiAvLyBtZXRhZGF0YTogTWV0YWRhdGEKCWJveF9wdXQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo1NQoJLy8gdGhpcy5jdXJyZW50SW5kZXgudmFsdWUgPSBlbmRCb3ggKyAxCglieXRlYyAxIC8vICAiY3VycmVudEluZGV4IgoJZnJhbWVfZGlnIDEgLy8gZW5kQm94OiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjU3CgkvLyB0b3RhbENvc3QgPQoJLy8gICAgICAgbnVtQm94ZXMgKiBDT1NUX1BFUl9CT1ggKyAvLyBjb3N0IG9mIGJveGVzCgkvLyAgICAgICAobnVtQm94ZXMgLSAxKSAqIE1BWF9CT1hfU0laRSAqIENPU1RfUEVSX0JZVEUgKyAvLyBjb3N0IG9mIGRhdGEKCS8vICAgICAgIG51bUJveGVzICogNjQgKiBDT1NUX1BFUl9CWVRFICsgLy8gY29zdCBvZiBrZXlzCgkvLyAgICAgICBlbmRCb3hTaXplICogQ09TVF9QRVJfQllURQoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCXB1c2hpbnQgMjUwMAoJKgoJZnJhbWVfZGlnIC0yIC8vIG51bUJveGVzOiB1aW50NjQKCWludGMgMCAvLyAxCgktCglpbnRjIDUgLy8gMzI3NjgKCSoKCWludGMgMyAvLyA0MDAKCSoKCSsKCWZyYW1lX2RpZyAtMiAvLyBudW1Cb3hlczogdWludDY0CglwdXNoaW50IDY0CgkqCglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9kaWcgLTMgLy8gZW5kQm94U2l6ZTogdWludDY0CglpbnRjIDMgLy8gNDAwCgkqCgkrCglmcmFtZV9idXJ5IDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo2MwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogdG90YWxDb3N0IH0pCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtNCAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDMgLy8gdG90YWxDb3N0OiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRvdGFsQ29zdCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdXBsb2FkKHN0cmluZyx1aW50NjQsdWludDY0LGJ5dGVbXSl2b2lkCiphYmlfcm91dGVfdXBsb2FkOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYm94SW5kZXg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgdXBsb2FkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGxvYWQoZGF0YUlkZW50aWZpZXI6IHN0cmluZywgYm94SW5kZXg6IHVpbnQ2NCwgb2Zmc2V0OiB1aW50NjQsIGRhdGE6IGJ5dGVzKTogdm9pZAovLwovLwovLyBVcGxvYWQgZGF0YSB0byBhIHNwZWNpZmljIG9mZnNldCBpbiBhIGJveAovLwovLyBAcGFyYW0gZGF0YUlkZW50aWZpZXIgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZGF0YQovLyBAcGFyYW0gYm94SW5kZXggVGhlIGluZGV4IG9mIHRoZSBib3ggdG8gdXBsb2FkIHRoZSBnaXZlbiBjaHVuayBvZiBkYXRhIHRvCi8vIEBwYXJhbSBvZmZzZXQgVGhlIG9mZnNldCB3aXRoaW4gdGhlIGJveCB0byBzdGFydCB3cml0aW5nIHRoZSBkYXRhCi8vIEBwYXJhbSBkYXRhIFRoZSBkYXRhIHRvIHdyaXRlCnVwbG9hZDoKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzYKCS8vIG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YShkYXRhSWRlbnRpZmllcikudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL21ldGFkYXRhCgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6NzcKCS8vIGFzc2VydChtZXRhZGF0YS5zdGF0dXMgPT09IElOX1BST0dSRVNTKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDIgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjc4CgkvLyBhc3NlcnQobWV0YWRhdGEuc3RhcnQgPD0gYm94SW5kZXggJiYgYm94SW5kZXggPD0gbWV0YWRhdGEuZW5kKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMiAvLyAwCglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0Cgk8PQoJZHVwCglieiAqc2tpcF9hbmQwCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDA6Cglhc3NlcnQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6ODAKCS8vIG9mZnNldCA9PT0gMAoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglpbnRjIDIgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo4MQoJLy8gdGhpcy5kYXRhQm94ZXMoYm94SW5kZXgpLmNyZWF0ZShib3hJbmRleCA9PT0gbWV0YWRhdGEuZW5kID8gbWV0YWRhdGEuZW5kU2l6ZSA6IE1BWF9CT1hfU0laRSkKCWZyYW1lX2RpZyAtMiAvLyBib3hJbmRleDogdWludDY0CglpdG9iCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJaW50YyAxIC8vIDgKCWJveF9leHRyYWN0CglidG9pCgk9PQoJYnogKnRlcm5hcnkwX2ZhbHNlCglmcmFtZV9kaWcgLTEgLy8gZGF0YUlkZW50aWZpZXI6IHN0cmluZwoJcHVzaGludCAxNyAvLyBoZWFkT2Zmc2V0CglpbnRjIDEgLy8gOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJaW50YyA1IC8vIDMyNzY4CgoqdGVybmFyeTBfZW5kOgoJYm94X2NyZWF0ZQoJcG9wCgoqaWYwX2VuZDoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjg0CgkvLyB0aGlzLmRhdGFCb3hlcyhib3hJbmRleCkucmVwbGFjZShvZmZzZXQsIGRhdGEpCglmcmFtZV9kaWcgLTIgLy8gYm94SW5kZXg6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIC0zIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHNldFN0YXR1cyhzdHJpbmcsdWludDgpdm9pZAoqYWJpX3JvdXRlX3NldFN0YXR1czoKCS8vIHN0YXR1czogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGF0dXMpIGZvciBzZXRTdGF0dXMgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkCgljYWxsc3ViIHNldFN0YXR1cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2V0U3RhdHVzKGRhdGFJZGVudGlmaWVyOiBzdHJpbmcsIHN0YXR1czogdWludDw4Pik6IHZvaWQKLy8KLy8KLy8gU2V0IHRoZSBzdGF0dXMgb2YgdGhlIGRhdGEKLy8KLy8gQHBhcmFtIGRhdGFJZGVudGlmaWVyIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGRhdGEKLy8gQHBhcmFtIHN0YXR1cyBUaGUgbmV3IHN0YXR1cyBmb3IgdGhlIGRhdGEKc2V0U3RhdHVzOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NQoJLy8gY3VycmVudFN0YXR1cyA9IHRoaXMubWV0YWRhdGEoZGF0YUlkZW50aWZpZXIpLnZhbHVlLnN0YXR1cwoJZnJhbWVfZGlnIC0xIC8vIGRhdGFJZGVudGlmaWVyOiBzdHJpbmcKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJaW50YyAwIC8vIDEKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCgkvLyBleGFtcGxlcy9iaWdfYm94L2JpZ19ib3guYWxnby50czo5NwoJLy8gYXNzZXJ0KHN0YXR1cyA9PT0gUkVBRFkgfHwgc3RhdHVzID09PSBJTU1VVEFCTEUgfHwgc3RhdHVzID09PSBJTl9QUk9HUkVTUykKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMCAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTIgLy8gc3RhdHVzOiB1aW50PDg+CglpbnRjIDYgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjA6CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAtMiAvLyBzdGF0dXM6IHVpbnQ8OD4KCWludGMgMiAvLyAwCgk9PQoJfHwKCipza2lwX29yMToKCWFzc2VydAoKCS8vIGV4YW1wbGVzL2JpZ19ib3gvYmlnX2JveC5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoY3VycmVudFN0YXR1cyAhPT0gSU1NVVRBQkxFKQoJZnJhbWVfZGlnIDAgLy8gY3VycmVudFN0YXR1czogdWludDgKCWludGMgNiAvLyAyCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvYmlnX2JveC9iaWdfYm94LmFsZ28udHM6MTAwCgkvLyB0aGlzLm1ldGFkYXRhKGRhdGFJZGVudGlmaWVyKS52YWx1ZS5zdGF0dXMgPSBzdGF0dXMKCWludGMgNCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHN0YXR1czogdWludDw4PgoJaXRvYgoJZXh0cmFjdCA3IDEKCWZyYW1lX2RpZyAtMSAvLyBkYXRhSWRlbnRpZmllcjogc3RyaW5nCgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGEwNWI1NjY5IC8vIG1ldGhvZCAic3RhcnRVcGxvYWQoc3RyaW5nLHVpbnQ2NCx1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHgxYjdkZmEzNSAvLyBtZXRob2QgInVwbG9hZChzdHJpbmcsdWludDY0LHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweGJmMzg1NmY4IC8vIG1ldGhvZCAic2V0U3RhdHVzKHN0cmluZyx1aW50OCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGFydFVwbG9hZCAqYWJpX3JvdXRlX3VwbG9hZCAqYWJpX3JvdXRlX3NldFN0YXR1cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/calculator/artifacts/Calculator.approval.teal b/examples/calculator/artifacts/Calculator.approval.teal index 070de28ca..87d91f582 100644 --- a/examples/calculator/artifacts/Calculator.approval.teal +++ b/examples/calculator/artifacts/Calculator.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/calculator/artifacts/Calculator.arc32.json b/examples/calculator/artifacts/Calculator.arc32.json index d337903c1..935011b0b 100644 --- a/examples/calculator/artifacts/Calculator.arc32.json +++ b/examples/calculator/artifacts/Calculator.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2V0U3VtKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIHN1bSBvZiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgc3VtIG9mIGEgYW5kIGIKZ2V0U3VtOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MTMKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gZ2V0RGlmZmVyZW5jZShhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIG51bWJlcnMKLy8KLy8gQHBhcmFtIGEKLy8gQHBhcmFtIGIKLy8gQHJldHVybnMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGFuZCBiLgpnZXREaWZmZXJlbmNlOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MjQKCS8vIHJldHVybiBhID49IGIgPyBhIC0gYiA6IGIgLSBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPj0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgktCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBkb01hdGgodWludDY0LHVpbnQ2NCxzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZG9NYXRoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjM5CgkvLyBvcGVyYXRpb24gPT09ICdzdW0nCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCXB1c2hieXRlcyAweDczNzU2ZCAvLyAic3VtIgoJPT0KCWJ6ICppZjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQwCgkvLyByZXN1bHQgPSB0aGlzLmdldFN1bShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXRTdW0KCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IHVpbnQ2NAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQxCgkvLyBvcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglwdXNoYnl0ZXMgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc2YTdlZjMzIC8vIG1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2V0U3VtKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIHN1bSBvZiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgc3VtIG9mIGEgYW5kIGIKZ2V0U3VtOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MTMKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gZ2V0RGlmZmVyZW5jZShhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIG51bWJlcnMKLy8KLy8gQHBhcmFtIGEKLy8gQHBhcmFtIGIKLy8gQHJldHVybnMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGFuZCBiLgpnZXREaWZmZXJlbmNlOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MjQKCS8vIHJldHVybiBhID49IGIgPyBhIC0gYiA6IGIgLSBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPj0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgktCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBkb01hdGgodWludDY0LHVpbnQ2NCxzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZG9NYXRoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjM5CgkvLyBvcGVyYXRpb24gPT09ICdzdW0nCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCXB1c2hieXRlcyAweDczNzU2ZCAvLyAic3VtIgoJPT0KCWJ6ICppZjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQwCgkvLyByZXN1bHQgPSB0aGlzLmdldFN1bShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXRTdW0KCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IHVpbnQ2NAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQxCgkvLyBvcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglwdXNoYnl0ZXMgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc2YTdlZjMzIC8vIG1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/calculator/artifacts/Calculator.arc56_draft.json b/examples/calculator/artifacts/Calculator.arc56_draft.json index 2bef41a18..dbf12f457 100644 --- a/examples/calculator/artifacts/Calculator.arc56_draft.json +++ b/examples/calculator/artifacts/Calculator.arc56_draft.json @@ -740,7 +740,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2V0U3VtKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIHN1bSBvZiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgc3VtIG9mIGEgYW5kIGIKZ2V0U3VtOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MTMKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gZ2V0RGlmZmVyZW5jZShhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIG51bWJlcnMKLy8KLy8gQHBhcmFtIGEKLy8gQHBhcmFtIGIKLy8gQHJldHVybnMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGFuZCBiLgpnZXREaWZmZXJlbmNlOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MjQKCS8vIHJldHVybiBhID49IGIgPyBhIC0gYiA6IGIgLSBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPj0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgktCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBkb01hdGgodWludDY0LHVpbnQ2NCxzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZG9NYXRoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjM5CgkvLyBvcGVyYXRpb24gPT09ICdzdW0nCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCXB1c2hieXRlcyAweDczNzU2ZCAvLyAic3VtIgoJPT0KCWJ6ICppZjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQwCgkvLyByZXN1bHQgPSB0aGlzLmdldFN1bShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXRTdW0KCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IHVpbnQ2NAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQxCgkvLyBvcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglwdXNoYnl0ZXMgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc2YTdlZjMzIC8vIG1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2V0U3VtKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIHN1bSBvZiB0d28gbnVtYmVycwovLwovLyBAcGFyYW0gYQovLyBAcGFyYW0gYgovLyBAcmV0dXJucyBUaGUgc3VtIG9mIGEgYW5kIGIKZ2V0U3VtOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MTMKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gZ2V0RGlmZmVyZW5jZShhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIG51bWJlcnMKLy8KLy8gQHBhcmFtIGEKLy8gQHBhcmFtIGIKLy8gQHJldHVybnMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGFuZCBiLgpnZXREaWZmZXJlbmNlOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6MjQKCS8vIHJldHVybiBhID49IGIgPyBhIC0gYiA6IGIgLSBhOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPj0KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgktCgoqdGVybmFyeTBfZW5kOgoJcmV0c3ViCgovLyBkb01hdGgodWludDY0LHVpbnQ2NCxzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZG9NYXRoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIG9wZXJhdGlvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBkb01hdGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb01hdGgoYTogdWludDY0LCBiOiB1aW50NjQsIG9wZXJhdGlvbjogc3RyaW5nKTogdWludDY0Ci8vCi8vIEEgbWV0aG9kIHRoYXQgdGFrZXMgdHdvIG51bWJlcnMgYW5kIGRvZXMgZWl0aGVyIGFkZGl0aW9uIG9yIHN1YnRyYWN0aW9uCi8vCi8vIEBwYXJhbSBhIFRoZSBmaXJzdCBudW1iZXIKLy8gQHBhcmFtIGIgVGhlIHNlY29uZCBudW1iZXIKLy8gQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIHBlcmZvcm0uIENhbiBiZSBlaXRoZXIgJ3N1bScgb3IgJ2RpZmZlcmVuY2UnCi8vCi8vIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbgpkb01hdGg6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjM5CgkvLyBvcGVyYXRpb24gPT09ICdzdW0nCglmcmFtZV9kaWcgLTMgLy8gb3BlcmF0aW9uOiBzdHJpbmcKCXB1c2hieXRlcyAweDczNzU2ZCAvLyAic3VtIgoJPT0KCWJ6ICppZjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQwCgkvLyByZXN1bHQgPSB0aGlzLmdldFN1bShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXRTdW0KCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IHVpbnQ2NAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL2NhbGN1bGF0b3IvY2FsY3VsYXRvci5hbGdvLnRzOjQxCgkvLyBvcGVyYXRpb24gPT09ICdkaWZmZXJlbmNlJwoJZnJhbWVfZGlnIC0zIC8vIG9wZXJhdGlvbjogc3RyaW5nCglwdXNoYnl0ZXMgMHg2NDY5NjY2NjY1NzI2NTZlNjM2NSAvLyAiZGlmZmVyZW5jZSIKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDIKCS8vIHJlc3VsdCA9IHRoaXMuZ2V0RGlmZmVyZW5jZShhLCBiKQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJY2FsbHN1YiBnZXREaWZmZXJlbmNlCglmcmFtZV9idXJ5IDAgLy8gcmVzdWx0OiB1aW50NjQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgb3BlcmF0aW9uCgllcnIKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvY2FsY3VsYXRvci9jYWxjdWxhdG9yLmFsZ28udHM6NDUKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDc2YTdlZjMzIC8vIG1ldGhvZCAiZG9NYXRoKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZG9NYXRoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/itxns/artifacts/FactoryCaller.approval.teal b/examples/itxns/artifacts/FactoryCaller.approval.teal index b317866fa..5fc4892d8 100644 --- a/examples/itxns/artifacts/FactoryCaller.approval.teal +++ b/examples/itxns/artifacts/FactoryCaller.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 6 bytecblock 0xb8447b36 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/itxns/artifacts/FactoryCaller.arc32.json b/examples/itxns/artifacts/FactoryCaller.arc32.json index c63a1f908..1bab5de5e 100644 --- a/examples/itxns/artifacts/FactoryCaller.arc32.json +++ b/examples/itxns/artifacts/FactoryCaller.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgpieXRlY2Jsb2NrIDB4Yjg0NDdiMzYgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1pbnRBbmRHZXRBc3NldCgpdWludDY0CiphYmlfcm91dGVfbWludEFuZEdldEFzc2V0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWludEFuZEdldEFzc2V0KCl1aW50NjQKCWNhbGxzdWIgbWludEFuZEdldEFzc2V0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbWludEFuZEdldEFzc2V0KCk6IEFzc2V0SUQKbWludEFuZEdldEFzc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVBcHBsaWNhdGlvbj4oewoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IE5GVEZhY3RvcnkuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMCAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYTIwMDIwMTAwMzExODE0ODEwNjBiMzExOTA4OGQwYzAwNmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDE1MWY3Yzc1MzYxYTAyNTcwMjAwMzYxYTAxNTcwMjAwODgwMDA1MTY1MGIwMjI0MzhhMDIwMWIxODEwM2IyMTA4YmZmYjIyNjhiZmViMjI1MjJiMjIyMjNiMjAxYjNiNDNjODkzNjFhMDI0OTE1ODEyMDEyNDQzNjFhMDExNzg4MDAwMjIyNDM4YTAyMDBiMTgxMDRiMjEwOGJmZWIyMTQyMmIyMTI4YmZmYjIxMTIzYjIwMWIzODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDRkMjAyNGM3MzgwMDRjN2UyNjBhZjM2MWEwMDhlMDJmZjdkZmZiMTAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhbW91bnQ6IDIwMF8wMDAKCXB1c2hpbnQgMjAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM0CgkvLyByZWNlaXZlcjogZmFjdG9yeUFwcC5hZGRyZXNzCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM3CgkvLyBjcmVhdGVkQXNzZXQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlTkZUPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwLAoJLy8gICAgICAgbWV0aG9kQXJnczogWydNeSBORlQnLCAnTU5GVCddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJcHVzaGJ5dGVzIDB4MDAwNjRkNzkyMDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDAwMDQ0ZDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDIKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICAgIHhmZXJBc3NldDogY3JlYXRlZEFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQzCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NAoJLy8gYXNzZXRBbW91bnQ6IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NQoJLy8geGZlckFzc2V0OiBjcmVhdGVkQXNzZXQKCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUudHJhbnNmZXJORlQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbY3JlYXRlZEFzc2V0LCB0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhjN2UyNjBhZiAvLyBtZXRob2QgInRyYW5zZmVyTkZUKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcnlBcHA6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo1MAoJLy8gbWV0aG9kQXJnczogW2NyZWF0ZWRBc3NldCwgdGhpcy5hcHAuYWRkcmVzc10KCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTMKCS8vIHJldHVybiBjcmVhdGVkQXNzZXQ7CglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCWJ5dGVjIDAgLy8gIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0NWRlZDhlMCAvLyBtZXRob2QgIm1pbnRBbmRHZXRBc3NldCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taW50QW5kR2V0QXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgpieXRlY2Jsb2NrIDB4Yjg0NDdiMzYgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1pbnRBbmRHZXRBc3NldCgpdWludDY0CiphYmlfcm91dGVfbWludEFuZEdldEFzc2V0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWludEFuZEdldEFzc2V0KCl1aW50NjQKCWNhbGxzdWIgbWludEFuZEdldEFzc2V0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbWludEFuZEdldEFzc2V0KCk6IEFzc2V0SUQKbWludEFuZEdldEFzc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVBcHBsaWNhdGlvbj4oewoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IE5GVEZhY3RvcnkuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMCAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYTIwMDIwMTAwMzExODE0ODEwNjBiMzExOTA4OGQwYzAwNmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDE1MWY3Yzc1MzYxYTAyNTcwMjAwMzYxYTAxNTcwMjAwODgwMDA1MTY1MGIwMjI0MzhhMDIwMWIxODEwM2IyMTA4YmZmYjIyNjhiZmViMjI1MjJiMjIyMjNiMjAxYjNiNDNjODkzNjFhMDI0OTE1ODEyMDEyNDQzNjFhMDExNzg4MDAwMjIyNDM4YTAyMDBiMTgxMDRiMjEwOGJmZWIyMTQyMmIyMTI4YmZmYjIxMTIzYjIwMWIzODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDRkMjAyNGM3MzgwMDRjN2UyNjBhZjM2MWEwMDhlMDJmZjdkZmZiMTAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhbW91bnQ6IDIwMF8wMDAKCXB1c2hpbnQgMjAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM0CgkvLyByZWNlaXZlcjogZmFjdG9yeUFwcC5hZGRyZXNzCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM3CgkvLyBjcmVhdGVkQXNzZXQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlTkZUPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwLAoJLy8gICAgICAgbWV0aG9kQXJnczogWydNeSBORlQnLCAnTU5GVCddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJcHVzaGJ5dGVzIDB4MDAwNjRkNzkyMDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDAwMDQ0ZDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDIKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICAgIHhmZXJBc3NldDogY3JlYXRlZEFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQzCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NAoJLy8gYXNzZXRBbW91bnQ6IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NQoJLy8geGZlckFzc2V0OiBjcmVhdGVkQXNzZXQKCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUudHJhbnNmZXJORlQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbY3JlYXRlZEFzc2V0LCB0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhjN2UyNjBhZiAvLyBtZXRob2QgInRyYW5zZmVyTkZUKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcnlBcHA6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo1MAoJLy8gbWV0aG9kQXJnczogW2NyZWF0ZWRBc3NldCwgdGhpcy5hcHAuYWRkcmVzc10KCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTMKCS8vIHJldHVybiBjcmVhdGVkQXNzZXQ7CglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCWJ5dGVjIDAgLy8gIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0NWRlZDhlMCAvLyBtZXRob2QgIm1pbnRBbmRHZXRBc3NldCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taW50QW5kR2V0QXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/itxns/artifacts/FactoryCaller.arc56_draft.json b/examples/itxns/artifacts/FactoryCaller.arc56_draft.json index 39c52231a..348992ce3 100644 --- a/examples/itxns/artifacts/FactoryCaller.arc56_draft.json +++ b/examples/itxns/artifacts/FactoryCaller.arc56_draft.json @@ -1151,7 +1151,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgpieXRlY2Jsb2NrIDB4Yjg0NDdiMzYgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1pbnRBbmRHZXRBc3NldCgpdWludDY0CiphYmlfcm91dGVfbWludEFuZEdldEFzc2V0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWludEFuZEdldEFzc2V0KCl1aW50NjQKCWNhbGxzdWIgbWludEFuZEdldEFzc2V0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbWludEFuZEdldEFzc2V0KCk6IEFzc2V0SUQKbWludEFuZEdldEFzc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVBcHBsaWNhdGlvbj4oewoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IE5GVEZhY3RvcnkuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMCAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYTIwMDIwMTAwMzExODE0ODEwNjBiMzExOTA4OGQwYzAwNmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDE1MWY3Yzc1MzYxYTAyNTcwMjAwMzYxYTAxNTcwMjAwODgwMDA1MTY1MGIwMjI0MzhhMDIwMWIxODEwM2IyMTA4YmZmYjIyNjhiZmViMjI1MjJiMjIyMjNiMjAxYjNiNDNjODkzNjFhMDI0OTE1ODEyMDEyNDQzNjFhMDExNzg4MDAwMjIyNDM4YTAyMDBiMTgxMDRiMjEwOGJmZWIyMTQyMmIyMTI4YmZmYjIxMTIzYjIwMWIzODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDRkMjAyNGM3MzgwMDRjN2UyNjBhZjM2MWEwMDhlMDJmZjdkZmZiMTAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhbW91bnQ6IDIwMF8wMDAKCXB1c2hpbnQgMjAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM0CgkvLyByZWNlaXZlcjogZmFjdG9yeUFwcC5hZGRyZXNzCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM3CgkvLyBjcmVhdGVkQXNzZXQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlTkZUPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwLAoJLy8gICAgICAgbWV0aG9kQXJnczogWydNeSBORlQnLCAnTU5GVCddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJcHVzaGJ5dGVzIDB4MDAwNjRkNzkyMDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDAwMDQ0ZDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDIKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICAgIHhmZXJBc3NldDogY3JlYXRlZEFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQzCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NAoJLy8gYXNzZXRBbW91bnQ6IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NQoJLy8geGZlckFzc2V0OiBjcmVhdGVkQXNzZXQKCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUudHJhbnNmZXJORlQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbY3JlYXRlZEFzc2V0LCB0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhjN2UyNjBhZiAvLyBtZXRob2QgInRyYW5zZmVyTkZUKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcnlBcHA6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo1MAoJLy8gbWV0aG9kQXJnczogW2NyZWF0ZWRBc3NldCwgdGhpcy5hcHAuYWRkcmVzc10KCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTMKCS8vIHJldHVybiBjcmVhdGVkQXNzZXQ7CglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCWJ5dGVjIDAgLy8gIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0NWRlZDhlMCAvLyBtZXRob2QgIm1pbnRBbmRHZXRBc3NldCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taW50QW5kR2V0QXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgpieXRlY2Jsb2NrIDB4Yjg0NDdiMzYgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1pbnRBbmRHZXRBc3NldCgpdWludDY0CiphYmlfcm91dGVfbWludEFuZEdldEFzc2V0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWludEFuZEdldEFzc2V0KCl1aW50NjQKCWNhbGxzdWIgbWludEFuZEdldEFzc2V0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbWludEFuZEdldEFzc2V0KCk6IEFzc2V0SUQKbWludEFuZEdldEFzc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORlRGYWN0b3J5LnByb3RvdHlwZS5jcmVhdGVBcHBsaWNhdGlvbj4oewoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IE5GVEZhY3RvcnkuYXBwcm92YWxQcm9ncmFtKCksCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMCAvLyAgbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IE5GVEZhY3RvcnkuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czoyNwoJLy8gYXBwcm92YWxQcm9ncmFtOiBORlRGYWN0b3J5LmFwcHJvdmFsUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYTIwMDIwMTAwMzExODE0ODEwNjBiMzExOTA4OGQwYzAwNmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDE1MWY3Yzc1MzYxYTAyNTcwMjAwMzYxYTAxNTcwMjAwODgwMDA1MTY1MGIwMjI0MzhhMDIwMWIxODEwM2IyMTA4YmZmYjIyNjhiZmViMjI1MjJiMjIyMjNiMjAxYjNiNDNjODkzNjFhMDI0OTE1ODEyMDEyNDQzNjFhMDExNzg4MDAwMjIyNDM4YTAyMDBiMTgxMDRiMjEwOGJmZWIyMTQyMmIyMTI4YmZmYjIxMTIzYjIwMWIzODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDRkMjAyNGM3MzgwMDRjN2UyNjBhZjM2MWEwMDhlMDJmZjdkZmZiMTAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMwCgkvLyBmYWN0b3J5QXBwID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklECglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDAgLy8gZmFjdG9yeUFwcDogdWludDY0CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgYW1vdW50OiAyMDBfMDAwLAoJLy8gICAgICAgcmVjZWl2ZXI6IGZhY3RvcnlBcHAuYWRkcmVzcywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhbW91bnQ6IDIwMF8wMDAKCXB1c2hpbnQgMjAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM0CgkvLyByZWNlaXZlcjogZmFjdG9yeUFwcC5hZGRyZXNzCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM3CgkvLyBjcmVhdGVkQXNzZXQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUuY3JlYXRlTkZUPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwLAoJLy8gICAgICAgbWV0aG9kQXJnczogWydNeSBORlQnLCAnTU5GVCddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhcHBsaWNhdGlvbklEOiBmYWN0b3J5QXBwCglmcmFtZV9kaWcgMCAvLyBmYWN0b3J5QXBwOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MzkKCS8vIG1ldGhvZEFyZ3M6IFsnTXkgTkZUJywgJ01ORlQnXQoJcHVzaGJ5dGVzIDB4MDAwNjRkNzkyMDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDAwMDQ0ZDRlNDY1NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDIKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldEFtb3VudDogMCwKCS8vICAgICAgIHhmZXJBc3NldDogY3JlYXRlZEFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQzCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NAoJLy8gYXNzZXRBbW91bnQ6IDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo0NQoJLy8geGZlckFzc2V0OiBjcmVhdGVkQXNzZXQKCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjQ4CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZURmFjdG9yeS5wcm90b3R5cGUudHJhbnNmZXJORlQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbY3JlYXRlZEFzc2V0LCB0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhjN2UyNjBhZiAvLyBtZXRob2QgInRyYW5zZmVyTkZUKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IGZhY3RvcnlBcHAKCWZyYW1lX2RpZyAwIC8vIGZhY3RvcnlBcHA6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo1MAoJLy8gbWV0aG9kQXJnczogW2NyZWF0ZWRBc3NldCwgdGhpcy5hcHAuYWRkcmVzc10KCWZyYW1lX2RpZyAxIC8vIGNyZWF0ZWRBc3NldDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6NTMKCS8vIHJldHVybiBjcmVhdGVkQXNzZXQ7CglmcmFtZV9kaWcgMSAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCWJ5dGVjIDAgLy8gIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0NWRlZDhlMCAvLyBtZXRob2QgIm1pbnRBbmRHZXRBc3NldCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taW50QW5kR2V0QXNzZXQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/itxns/artifacts/NFTFactory.approval.teal b/examples/itxns/artifacts/NFTFactory.approval.teal index ddfd156e0..f34f9763a 100644 --- a/examples/itxns/artifacts/NFTFactory.approval.teal +++ b/examples/itxns/artifacts/NFTFactory.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/itxns/artifacts/NFTFactory.arc32.json b/examples/itxns/artifacts/NFTFactory.arc32.json index 79c42a042..ba14aec7a 100644 --- a/examples/itxns/artifacts/NFTFactory.arc32.json +++ b/examples/itxns/artifacts/NFTFactory.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gdW5pdE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKCWNhbGxzdWIgY3JlYXRlTkZUCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlTkZUKG5hbWU6IHN0cmluZywgdW5pdE5hbWU6IHN0cmluZyk6IEFzc2V0SUQKY3JlYXRlTkZUOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiBuYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogdW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiAxLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJcHVzaGludCAzIC8vIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjcKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZQoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lCglmcmFtZV9kaWcgLTIgLy8gdW5pdE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldFVuaXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo5CgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyB0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdHJhbnNmZXJORlQ6CgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJcHVzaGJ5dGVzIDB4YzdlMjYwYWYgLy8gbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gdW5pdE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKCWNhbGxzdWIgY3JlYXRlTkZUCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlTkZUKG5hbWU6IHN0cmluZywgdW5pdE5hbWU6IHN0cmluZyk6IEFzc2V0SUQKY3JlYXRlTkZUOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiBuYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogdW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiAxLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJcHVzaGludCAzIC8vIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjcKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZQoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lCglmcmFtZV9kaWcgLTIgLy8gdW5pdE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldFVuaXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo5CgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyB0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdHJhbnNmZXJORlQ6CgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJcHVzaGJ5dGVzIDB4YzdlMjYwYWYgLy8gbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/itxns/artifacts/NFTFactory.arc56_draft.json b/examples/itxns/artifacts/NFTFactory.arc56_draft.json index 7785972b1..875cc5fbf 100644 --- a/examples/itxns/artifacts/NFTFactory.arc56_draft.json +++ b/examples/itxns/artifacts/NFTFactory.arc56_draft.json @@ -712,7 +712,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gdW5pdE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKCWNhbGxzdWIgY3JlYXRlTkZUCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlTkZUKG5hbWU6IHN0cmluZywgdW5pdE5hbWU6IHN0cmluZyk6IEFzc2V0SUQKY3JlYXRlTkZUOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiBuYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogdW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiAxLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJcHVzaGludCAzIC8vIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjcKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZQoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lCglmcmFtZV9kaWcgLTIgLy8gdW5pdE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldFVuaXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo5CgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyB0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdHJhbnNmZXJORlQ6CgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJcHVzaGJ5dGVzIDB4YzdlMjYwYWYgLy8gbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVORlQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gdW5pdE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBjcmVhdGVORlQoc3RyaW5nLHN0cmluZyl1aW50NjQKCWNhbGxzdWIgY3JlYXRlTkZUCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlTkZUKG5hbWU6IHN0cmluZywgdW5pdE5hbWU6IHN0cmluZyk6IEFzc2V0SUQKY3JlYXRlTkZUOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo2CgkvLyByZXR1cm4gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXROYW1lOiBuYW1lLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogdW5pdE5hbWUsCgkvLyAgICAgICBjb25maWdBc3NldFRvdGFsOiAxLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJcHVzaGludCAzIC8vIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjcKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogbmFtZQoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldE5hbWUKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjgKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6IHVuaXROYW1lCglmcmFtZV9kaWcgLTIgLy8gdW5pdE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBDb25maWdBc3NldFVuaXROYW1lCgoJLy8gZXhhbXBsZXMvaXR4bnMvaXR4bnMuYWxnby50czo5CgkvLyBjb25maWdBc3NldFRvdGFsOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBDb25maWdBc3NldFRvdGFsCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBDcmVhdGVkQXNzZXRJRAoJcmV0c3ViCgovLyB0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdHJhbnNmZXJORlQ6CgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciB0cmFuc2Zlck5GVCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gYXNzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdHJhbnNmZXJORlQodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0cmFuc2Zlck5GVAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHJhbnNmZXJORlQoYXNzZXQ6IEFzc2V0SUQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck5GVDoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL2l0eG5zL2l0eG5zLmFsZ28udHM6MTQKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IDEsCgkvLyAgICAgICB4ZmVyQXNzZXQ6IGFzc2V0LAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglwdXNoaW50IDQgLy8gYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE1CgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE2CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBleGFtcGxlcy9pdHhucy9pdHhucy5hbGdvLnRzOjE3CgkvLyB4ZmVyQXNzZXQ6IGFzc2V0CglmcmFtZV9kaWcgLTEgLy8gYXNzZXQ6IEFzc2V0SUQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyMDI0YzczIC8vIG1ldGhvZCAiY3JlYXRlTkZUKHN0cmluZyxzdHJpbmcpdWludDY0IgoJcHVzaGJ5dGVzIDB4YzdlMjYwYWYgLy8gbWV0aG9kICJ0cmFuc2Zlck5GVCh1aW50NjQsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVORlQgKmFiaV9yb3V0ZV90cmFuc2Zlck5GVAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal b/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal index 08aa178d1..7191b79cc 100644 --- a/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal +++ b/examples/lsig_with_app/artifacts/CreatorVerifier.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 32 bytecblock 0x00 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json b/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json index 51e24c4f4..f373c9466 100644 --- a/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json +++ b/examples/lsig_with_app/artifacts/CreatorVerifier.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIKYnl0ZWNibG9jayAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbToKCS8vIGNyZWF0b3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoY3JlYXRvcikgZm9yIGFsbG93T3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFsbG93T3B0SW5zRnJvbQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWxsb3dPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIEFsbG93IGFueW9uZSB0byB1c2UgdGhlIGxzaWcgdG8gb3B0IGluIHRoZSB0eG4gc2VuZGVyIGludG8gYW4gYXNzZXQgY3JlYXRlZCBieSB0aGUgY3JlYXRvcgphbGxvd09wdEluc0Zyb206Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo0MQoJLy8gdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW3RoaXMudHhuLnNlbmRlciwgY3JlYXRvcl0pLnZhbHVlID0gdHJ1ZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAwIC8vIDEKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIGRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgZGlzYWJsZU9wdEluc0Zyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGRpc2FibGVPcHRJbnNGcm9tCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXNhYmxlT3B0SW5zRnJvbShjcmVhdG9yOiBBZGRyZXNzKTogdm9pZAovLwovLyBEaXNhYmxlIG9wdC1pbnMgZm9yIEFTQXMgZnJvbSB0aGUgZ2l2ZW4gY3JlYXRvcgpkaXNhYmxlT3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQ2CgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSBmYWxzZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAxIC8vIDAKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIHZlcmlmeUNyZWF0b3IoYXhmZXIpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3I6CgkvLyBvcHRJbjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJcHVzaGludCA0IC8vIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG9wdEluKSBmb3IgdmVyaWZ5Q3JlYXRvciBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCgljYWxsc3ViIHZlcmlmeUNyZWF0b3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeUNyZWF0b3Iob3B0SW46IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnZlcmlmeUNyZWF0b3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo1MgoJLy8gYXNzZXJ0KHRoaXMuYWxsb3dlZENyZWF0b3JzKFtvcHRJbi5zZW5kZXIsIG9wdEluLnhmZXJBc3NldC5jcmVhdG9yXSkudmFsdWUpCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wdEluOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZQoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmMWJmMmNhOCAvLyBtZXRob2QgImFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzI4YWMyYiAvLyBtZXRob2QgImRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhkNWFhNzI3IC8vIG1ldGhvZCAidmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbGxvd09wdEluc0Zyb20gKmFiaV9yb3V0ZV9kaXNhYmxlT3B0SW5zRnJvbSAqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIKYnl0ZWNibG9jayAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbToKCS8vIGNyZWF0b3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoY3JlYXRvcikgZm9yIGFsbG93T3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFsbG93T3B0SW5zRnJvbQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWxsb3dPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIEFsbG93IGFueW9uZSB0byB1c2UgdGhlIGxzaWcgdG8gb3B0IGluIHRoZSB0eG4gc2VuZGVyIGludG8gYW4gYXNzZXQgY3JlYXRlZCBieSB0aGUgY3JlYXRvcgphbGxvd09wdEluc0Zyb206Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo0MQoJLy8gdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW3RoaXMudHhuLnNlbmRlciwgY3JlYXRvcl0pLnZhbHVlID0gdHJ1ZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAwIC8vIDEKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIGRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgZGlzYWJsZU9wdEluc0Zyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGRpc2FibGVPcHRJbnNGcm9tCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXNhYmxlT3B0SW5zRnJvbShjcmVhdG9yOiBBZGRyZXNzKTogdm9pZAovLwovLyBEaXNhYmxlIG9wdC1pbnMgZm9yIEFTQXMgZnJvbSB0aGUgZ2l2ZW4gY3JlYXRvcgpkaXNhYmxlT3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQ2CgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSBmYWxzZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAxIC8vIDAKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIHZlcmlmeUNyZWF0b3IoYXhmZXIpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3I6CgkvLyBvcHRJbjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJcHVzaGludCA0IC8vIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG9wdEluKSBmb3IgdmVyaWZ5Q3JlYXRvciBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCgljYWxsc3ViIHZlcmlmeUNyZWF0b3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeUNyZWF0b3Iob3B0SW46IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnZlcmlmeUNyZWF0b3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo1MgoJLy8gYXNzZXJ0KHRoaXMuYWxsb3dlZENyZWF0b3JzKFtvcHRJbi5zZW5kZXIsIG9wdEluLnhmZXJBc3NldC5jcmVhdG9yXSkudmFsdWUpCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wdEluOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZQoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmMWJmMmNhOCAvLyBtZXRob2QgImFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzI4YWMyYiAvLyBtZXRob2QgImRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhkNWFhNzI3IC8vIG1ldGhvZCAidmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbGxvd09wdEluc0Zyb20gKmFiaV9yb3V0ZV9kaXNhYmxlT3B0SW5zRnJvbSAqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json b/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json index 51f853a65..29ef8c179 100644 --- a/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json +++ b/examples/lsig_with_app/artifacts/CreatorVerifier.arc56_draft.json @@ -842,7 +842,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIKYnl0ZWNibG9jayAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbToKCS8vIGNyZWF0b3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoY3JlYXRvcikgZm9yIGFsbG93T3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFsbG93T3B0SW5zRnJvbQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWxsb3dPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIEFsbG93IGFueW9uZSB0byB1c2UgdGhlIGxzaWcgdG8gb3B0IGluIHRoZSB0eG4gc2VuZGVyIGludG8gYW4gYXNzZXQgY3JlYXRlZCBieSB0aGUgY3JlYXRvcgphbGxvd09wdEluc0Zyb206Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo0MQoJLy8gdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW3RoaXMudHhuLnNlbmRlciwgY3JlYXRvcl0pLnZhbHVlID0gdHJ1ZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAwIC8vIDEKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIGRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgZGlzYWJsZU9wdEluc0Zyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGRpc2FibGVPcHRJbnNGcm9tCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXNhYmxlT3B0SW5zRnJvbShjcmVhdG9yOiBBZGRyZXNzKTogdm9pZAovLwovLyBEaXNhYmxlIG9wdC1pbnMgZm9yIEFTQXMgZnJvbSB0aGUgZ2l2ZW4gY3JlYXRvcgpkaXNhYmxlT3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQ2CgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSBmYWxzZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAxIC8vIDAKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIHZlcmlmeUNyZWF0b3IoYXhmZXIpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3I6CgkvLyBvcHRJbjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJcHVzaGludCA0IC8vIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG9wdEluKSBmb3IgdmVyaWZ5Q3JlYXRvciBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCgljYWxsc3ViIHZlcmlmeUNyZWF0b3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeUNyZWF0b3Iob3B0SW46IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnZlcmlmeUNyZWF0b3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo1MgoJLy8gYXNzZXJ0KHRoaXMuYWxsb3dlZENyZWF0b3JzKFtvcHRJbi5zZW5kZXIsIG9wdEluLnhmZXJBc3NldC5jcmVhdG9yXSkudmFsdWUpCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wdEluOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZQoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmMWJmMmNhOCAvLyBtZXRob2QgImFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzI4YWMyYiAvLyBtZXRob2QgImRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhkNWFhNzI3IC8vIG1ldGhvZCAidmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbGxvd09wdEluc0Zyb20gKmFiaV9yb3V0ZV9kaXNhYmxlT3B0SW5zRnJvbSAqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMzIKYnl0ZWNibG9jayAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWxsb3dPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2FsbG93T3B0SW5zRnJvbToKCS8vIGNyZWF0b3I6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoY3JlYXRvcikgZm9yIGFsbG93T3B0SW5zRnJvbSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhbGxvd09wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFsbG93T3B0SW5zRnJvbQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWxsb3dPcHRJbnNGcm9tKGNyZWF0b3I6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIEFsbG93IGFueW9uZSB0byB1c2UgdGhlIGxzaWcgdG8gb3B0IGluIHRoZSB0eG4gc2VuZGVyIGludG8gYW4gYXNzZXQgY3JlYXRlZCBieSB0aGUgY3JlYXRvcgphbGxvd09wdEluc0Zyb206Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo0MQoJLy8gdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW3RoaXMudHhuLnNlbmRlciwgY3JlYXRvcl0pLnZhbHVlID0gdHJ1ZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAwIC8vIDEKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIGRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Rpc2FibGVPcHRJbnNGcm9tOgoJLy8gY3JlYXRvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjcmVhdG9yKSBmb3IgZGlzYWJsZU9wdEluc0Zyb20gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZGlzYWJsZU9wdEluc0Zyb20oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGRpc2FibGVPcHRJbnNGcm9tCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXNhYmxlT3B0SW5zRnJvbShjcmVhdG9yOiBBZGRyZXNzKTogdm9pZAovLwovLyBEaXNhYmxlIG9wdC1pbnMgZm9yIEFTQXMgZnJvbSB0aGUgZ2l2ZW4gY3JlYXRvcgpkaXNhYmxlT3B0SW5zRnJvbToKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL2xzaWdfd2l0aF9hcHAvbHNpZ193aXRoX2FwcC5hbGdvLnRzOjQ2CgkvLyB0aGlzLmFsbG93ZWRDcmVhdG9ycyhbdGhpcy50eG4uc2VuZGVyLCBjcmVhdG9yXSkudmFsdWUgPSBmYWxzZQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIGNyZWF0b3I6IEFkZHJlc3MKCWNvbmNhdAoJaW50YyAxIC8vIDAKCWJ5dGVjIDAgLy8gMHgwMAoJaW50YyAxIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cglib3hfcHV0CglyZXRzdWIKCi8vIHZlcmlmeUNyZWF0b3IoYXhmZXIpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3I6CgkvLyBvcHRJbjogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJcHVzaGludCA0IC8vIGF4ZmVyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKG9wdEluKSBmb3IgdmVyaWZ5Q3JlYXRvciBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgdmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkCgljYWxsc3ViIHZlcmlmeUNyZWF0b3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeUNyZWF0b3Iob3B0SW46IEFzc2V0VHJhbnNmZXJUeG4pOiB2b2lkCnZlcmlmeUNyZWF0b3I6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9sc2lnX3dpdGhfYXBwL2xzaWdfd2l0aF9hcHAuYWxnby50czo1MgoJLy8gYXNzZXJ0KHRoaXMuYWxsb3dlZENyZWF0b3JzKFtvcHRJbi5zZW5kZXIsIG9wdEluLnhmZXJBc3NldC5jcmVhdG9yXSkudmFsdWUpCglmcmFtZV9kaWcgLTEgLy8gb3B0SW46IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIG9wdEluOiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBYZmVyQXNzZXQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hbGxvd2VkQ3JlYXRvcnMoW29wdEluLnNlbmRlciwgb3B0SW4ueGZlckFzc2V0LmNyZWF0b3JdKS52YWx1ZQoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmMWJmMmNhOCAvLyBtZXRob2QgImFsbG93T3B0SW5zRnJvbShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzI4YWMyYiAvLyBtZXRob2QgImRpc2FibGVPcHRJbnNGcm9tKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDhkNWFhNzI3IC8vIG1ldGhvZCAidmVyaWZ5Q3JlYXRvcihheGZlcil2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hbGxvd09wdEluc0Zyb20gKmFiaV9yb3V0ZV9kaXNhYmxlT3B0SW5zRnJvbSAqYWJpX3JvdXRlX3ZlcmlmeUNyZWF0b3IKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal b/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal index b0eef885c..8a2a6bf10 100644 --- a/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal +++ b/examples/lsig_with_app/artifacts/OptInLsig.lsig.teal @@ -1,15 +1,11 @@ #pragma version 10 //#pragma mode logicsig -intcblock TMPL_APP_ID 0 1 +intcblock 0 1 TMPL_APP_ID -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript - -// The following lines of TEAL are used to initialize template variables in scratch slots -intc 0 // TMPL_APP_ID - -// The address of this logic signature is QUL5U6CEH7Q5HGEG2A2LNHNT5EKMYKLUFDDMTW6HWHLSGTNEF456R7BIIM +// The address of this logic signature is FKZPLQTSDQKAIA2GQUXW2QPXIN7P5VBZU7H67MP5WZSBLJNMXMMALMPEME b *route_logic @@ -17,7 +13,7 @@ b *route_logic *route_logic: // execute logic()void callsub logic - intc 2 // 1 + intc 1 // 1 return // logic(): void @@ -51,7 +47,7 @@ logic: // verify assetAmount txn AssetAmount - intc 1 // 0 + intc 0 // 0 == // transaction verification failed: {"txn":"this.txn","field":"assetAmount","expected":"0"} @@ -67,7 +63,7 @@ logic: // verify fee txn Fee - intc 1 // 0 + intc 0 // 0 == // transaction verification failed: {"txn":"this.txn","field":"fee","expected":"0"} @@ -92,7 +88,7 @@ logic: // examples/lsig_with_app/lsig_with_app.algo.ts:26 // appCall = this.txnGroup[this.txn.groupIndex + 1] txn GroupIndex - intc 2 // 1 + intc 1 // 1 + frame_bury 0 // appCall: txn @@ -100,7 +96,7 @@ logic: // assert(appCall.applicationID === this.APP_ID) frame_dig 0 // appCall: txn gtxns ApplicationID - intc 0 // TMPL_APP_ID + intc 2 // TMPL_APP_ID == assert diff --git a/examples/lsig_with_app/artifacts/OptInLsig.src_map.json b/examples/lsig_with_app/artifacts/OptInLsig.src_map.json index 6b988bb3d..458f0891e 100644 --- a/examples/lsig_with_app/artifacts/OptInLsig.src_map.json +++ b/examples/lsig_with_app/artifacts/OptInLsig.src_map.json @@ -9,299 +9,299 @@ }, { "teal": 10, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:35", + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:8", "pc": [ - 1 + 1, + 2, + 3 ] }, { - "teal": 14, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:8", + "teal": 15, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ - 2, - 3, - 4 + 4, + 5, + 6 ] }, { - "teal": 19, + "teal": 16, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ - 5, - 6, 7 ] }, { - "teal": 20, + "teal": 17, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ 8 ] }, { - "teal": 21, + "teal": 23, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ - 9 + 9, + 10, + 11 ] }, { - "teal": 27, + "teal": 26, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ - 10, - 11, - 12 + 12, + 13 ] }, { - "teal": 30, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", + "teal": 41, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:14", "pc": [ - 13, - 14 + 14, + 15 ] }, { - "teal": 45, + "teal": 42, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:14", "pc": [ - 15, - 16 + 16, + 17 ] }, { - "teal": 46, + "teal": 43, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:14", "pc": [ - 17, 18 ] }, { - "teal": 47, + "teal": 46, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:14", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"typeEnum\",\"expected\":\"axfer\"}", "pc": [ 19 ] }, { - "teal": 50, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:14", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"typeEnum\",\"expected\":\"axfer\"}", + "teal": 49, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:15", "pc": [ - 20 + 20, + 21 ] }, { - "teal": 53, + "teal": 50, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:15", "pc": [ - 21, 22 ] }, { - "teal": 54, + "teal": 51, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:15", "pc": [ 23 ] }, { - "teal": 55, + "teal": 54, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:15", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetAmount\",\"expected\":\"0\"}", "pc": [ 24 ] }, { - "teal": 58, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:15", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetAmount\",\"expected\":\"0\"}", + "teal": 57, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:16", "pc": [ - 25 + 25, + 26 ] }, { - "teal": 61, + "teal": 58, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:16", "pc": [ - 26, - 27 + 27, + 28 ] }, { - "teal": 62, + "teal": 59, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:16", "pc": [ - 28, 29 ] }, { - "teal": 63, + "teal": 62, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:16", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetReceiver\",\"expected\":\"this.txn.sender\"}", "pc": [ 30 ] }, { - "teal": 66, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:16", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetReceiver\",\"expected\":\"this.txn.sender\"}", + "teal": 65, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:19", "pc": [ - 31 + 31, + 32 ] }, { - "teal": 69, + "teal": 66, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:19", "pc": [ - 32, 33 ] }, { - "teal": 70, + "teal": 67, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:19", "pc": [ 34 ] }, { - "teal": 71, + "teal": 70, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:19", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"fee\",\"expected\":\"0\"}", "pc": [ 35 ] }, { - "teal": 74, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:19", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"fee\",\"expected\":\"0\"}", + "teal": 73, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:21", "pc": [ - 36 + 36, + 37 ] }, { - "teal": 77, + "teal": 74, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:21", "pc": [ - 37, - 38 + 38, + 39 ] }, { - "teal": 78, + "teal": 75, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:21", "pc": [ - 39, 40 ] }, { - "teal": 79, + "teal": 78, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:21", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"rekeyTo\",\"expected\":\"globals.zeroAddress\"}", "pc": [ 41 ] }, { - "teal": 82, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:21", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"rekeyTo\",\"expected\":\"globals.zeroAddress\"}", + "teal": 81, + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:23", "pc": [ - 42 + 42, + 43 ] }, { - "teal": 85, + "teal": 82, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:23", "pc": [ - 43, - 44 + 44, + 45 ] }, { - "teal": 86, + "teal": 83, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:23", "pc": [ - 45, 46 ] }, { - "teal": 87, + "teal": 86, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:23", + "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetCloseTo\",\"expected\":\"globals.zeroAddress\"}", "pc": [ 47 ] }, { "teal": 90, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:23", - "errorMessage": "transaction verification failed: {\"txn\":\"this.txn\",\"field\":\"assetCloseTo\",\"expected\":\"globals.zeroAddress\"}", + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:26", "pc": [ - 48 + 48, + 49 ] }, { - "teal": 94, + "teal": 91, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:26", "pc": [ - 49, 50 ] }, { - "teal": 95, + "teal": 92, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:26", "pc": [ 51 ] }, { - "teal": 96, + "teal": 93, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:26", "pc": [ - 52 + 52, + 53 ] }, { "teal": 97, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:26", + "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", "pc": [ - 53, - 54 + 54, + 55 ] }, { - "teal": 101, + "teal": 98, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", "pc": [ - 55, - 56 + 56, + 57 ] }, { - "teal": 102, + "teal": 99, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", "pc": [ - 57, 58 ] }, { - "teal": 103, + "teal": 100, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", "pc": [ 59 ] }, { - "teal": 104, + "teal": 101, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", "pc": [ 60 @@ -309,59 +309,52 @@ }, { "teal": 105, - "source": "examples/lsig_with_app/lsig_with_app.algo.ts:29", - "pc": [ - 61 - ] - }, - { - "teal": 109, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:30", "pc": [ - 62, - 63 + 61, + 62 ] }, { - "teal": 110, + "teal": 106, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:30", "pc": [ + 63, 64, - 65, - 66 + 65 ] }, { - "teal": 111, + "teal": 107, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:30", "pc": [ + 66, 67, 68, 69, 70, - 71, - 72 + 71 ] }, { - "teal": 112, + "teal": 108, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:30", "pc": [ - 73 + 72 ] }, { - "teal": 113, + "teal": 109, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:30", "pc": [ - 74 + 73 ] }, { - "teal": 114, + "teal": 110, "source": "examples/lsig_with_app/lsig_with_app.algo.ts:12", "pc": [ - 75 + 74 ] } ] \ No newline at end of file diff --git a/examples/merkle/artifacts/MerkleTree.approval.teal b/examples/merkle/artifacts/MerkleTree.approval.teal index 83895b36f..4f5df20f2 100644 --- a/examples/merkle/artifacts/MerkleTree.approval.teal +++ b/examples/merkle/artifacts/MerkleTree.approval.teal @@ -2,7 +2,7 @@ intcblock 1 33 0 99 3 bytecblock 0x 0x726f6f74 0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550000000000000000000000000000000000000000000000000000000000000000 0x0000000000000000000000000000000000000000000000000000000000000000 0x73697a65 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/merkle/artifacts/MerkleTree.arc32.json b/examples/merkle/artifacts/MerkleTree.arc32.json index 8b32123eb..ba44d4911 100644 --- a/examples/merkle/artifacts/MerkleTree.arc32.json +++ b/examples/merkle/artifacts/MerkleTree.arc32.json @@ -63,7 +63,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMzIDAgOTkgMwpieXRlY2Jsb2NrIDB4IDB4NzI2ZjZmNzQgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg3MzY5N2E2NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfRGVsZXRlQXBwbGljYXRpb24gKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxjSW5pdFJvb3QoKTogYnl0ZXMzMgpjYWxjSW5pdFJvb3Q6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE3CgkvLyByZXN1bHQgPSBoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMgoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IFRSRUVfREVQVEg7IGkgPSBpICsgMSkKCWludGMgMiAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPCBUUkVFX0RFUFRICglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIwCgkvLyByZXN1bHQgPSBzaGEyNTYocmVzdWx0ICsgcmVzdWx0KQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJY29uY2F0CglzaGEyNTYKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MjMKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBoYXNoQ29uY2F0KGxlZnQ6IGJ5dGVzMzIsIHJpZ2h0OiBieXRlczMyKTogYnl0ZXMzMgpoYXNoQ29uY2F0OgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjI3CgkvLyByZXR1cm4gc2hhMjU2KGxlZnQgKyByaWdodCk7CglmcmFtZV9kaWcgLTEgLy8gbGVmdDogYnl0ZXMzMgoJZnJhbWVfZGlnIC0yIC8vIHJpZ2h0OiBieXRlczMyCgljb25jYXQKCXNoYTI1NgoJcmV0c3ViCgovLyBpc1JpZ2h0U2libGluZyhlbGVtOiBCcmFuY2gpOiBib29sZWFuCmlzUmlnaHRTaWJsaW5nOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjMxCgkvLyByZXR1cm4gZ2V0Ynl0ZShlbGVtLCAwKSA9PT0gUklHSFRfU0lCTElOR19QUkVGSVg7CglmcmFtZV9kaWcgLTEgLy8gZWxlbTogQnJhbmNoCglpbnRjIDIgLy8gMAoJZ2V0Ynl0ZQoJcHVzaGludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50YyAxIC8vIDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMSAvLyAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludGMgMSAvLyAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDEgLy8gMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlYyAwIC8vIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnRjIDEgLy8gMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAxIC8vIDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZWMgMCAvLyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCgljYWxsc3ViIGNhbGNJbml0Um9vdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5KGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfdmVyaWZ5OgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHZlcmlmeSBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB2ZXJpZnkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeShkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdmVyaWZ5OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjU5CgkvLyBhc3NlcnQodGhpcy5yb290LnZhbHVlID09PSB0aGlzLmNhbGNSb290KHNoYTI1NihkYXRhKSwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX2FwcGVuZExlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgYXBwZW5kTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgYXBwZW5kTGVhZgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwZW5kTGVhZihkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKYXBwZW5kTGVhZjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2MwoJLy8gYXNzZXJ0KGRhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NAoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMiwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjYKCS8vIHRoaXMucm9vdC52YWx1ZSA9IHRoaXMuY2FsY1Jvb3Qoc2hhMjU2KGRhdGEpLCBwYXRoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlYyA0IC8vICAic2l6ZSIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUxlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgdXBkYXRlTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIG5ld0RhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvbGREYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB1cGRhdGVMZWFmCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVMZWFmKG9sZERhdGE6IGJ5dGVzLCBuZXdEYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdXBkYXRlTGVhZjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MgoJLy8gYXNzZXJ0KG5ld0RhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMSAvLyBvbGREYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjc1CgkvLyB0aGlzLnJvb3QudmFsdWUgPSB0aGlzLmNhbGNSb290KHNoYTI1NihuZXdEYXRhKSwgcGF0aCkKCWJ5dGVjIDEgLy8gICJyb290IgoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTA2Y2I4ZDggLy8gbWV0aG9kICJ2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgwNGY2MzIzOCAvLyBtZXRob2QgImFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgyNTVkOTNlMyAvLyBtZXRob2QgInVwZGF0ZUxlYWYoYnl0ZVtdLGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV92ZXJpZnkgKmFiaV9yb3V0ZV9hcHBlbmRMZWFmICphYmlfcm91dGVfdXBkYXRlTGVhZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfRGVsZXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHgyNDg3YzMyYyAvLyBtZXRob2QgImRlbGV0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIERlbGV0ZUFwcGxpY2F0aW9uCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMzIDAgOTkgMwpieXRlY2Jsb2NrIDB4IDB4NzI2ZjZmNzQgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg3MzY5N2E2NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfRGVsZXRlQXBwbGljYXRpb24gKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxjSW5pdFJvb3QoKTogYnl0ZXMzMgpjYWxjSW5pdFJvb3Q6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE3CgkvLyByZXN1bHQgPSBoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMgoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IFRSRUVfREVQVEg7IGkgPSBpICsgMSkKCWludGMgMiAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPCBUUkVFX0RFUFRICglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIwCgkvLyByZXN1bHQgPSBzaGEyNTYocmVzdWx0ICsgcmVzdWx0KQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJY29uY2F0CglzaGEyNTYKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MjMKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBoYXNoQ29uY2F0KGxlZnQ6IGJ5dGVzMzIsIHJpZ2h0OiBieXRlczMyKTogYnl0ZXMzMgpoYXNoQ29uY2F0OgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjI3CgkvLyByZXR1cm4gc2hhMjU2KGxlZnQgKyByaWdodCk7CglmcmFtZV9kaWcgLTEgLy8gbGVmdDogYnl0ZXMzMgoJZnJhbWVfZGlnIC0yIC8vIHJpZ2h0OiBieXRlczMyCgljb25jYXQKCXNoYTI1NgoJcmV0c3ViCgovLyBpc1JpZ2h0U2libGluZyhlbGVtOiBCcmFuY2gpOiBib29sZWFuCmlzUmlnaHRTaWJsaW5nOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjMxCgkvLyByZXR1cm4gZ2V0Ynl0ZShlbGVtLCAwKSA9PT0gUklHSFRfU0lCTElOR19QUkVGSVg7CglmcmFtZV9kaWcgLTEgLy8gZWxlbTogQnJhbmNoCglpbnRjIDIgLy8gMAoJZ2V0Ynl0ZQoJcHVzaGludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50YyAxIC8vIDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMSAvLyAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludGMgMSAvLyAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDEgLy8gMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlYyAwIC8vIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnRjIDEgLy8gMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAxIC8vIDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZWMgMCAvLyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCgljYWxsc3ViIGNhbGNJbml0Um9vdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5KGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfdmVyaWZ5OgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHZlcmlmeSBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB2ZXJpZnkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeShkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdmVyaWZ5OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjU5CgkvLyBhc3NlcnQodGhpcy5yb290LnZhbHVlID09PSB0aGlzLmNhbGNSb290KHNoYTI1NihkYXRhKSwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX2FwcGVuZExlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgYXBwZW5kTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgYXBwZW5kTGVhZgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwZW5kTGVhZihkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKYXBwZW5kTGVhZjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2MwoJLy8gYXNzZXJ0KGRhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NAoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMiwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjYKCS8vIHRoaXMucm9vdC52YWx1ZSA9IHRoaXMuY2FsY1Jvb3Qoc2hhMjU2KGRhdGEpLCBwYXRoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlYyA0IC8vICAic2l6ZSIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUxlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgdXBkYXRlTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIG5ld0RhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvbGREYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB1cGRhdGVMZWFmCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVMZWFmKG9sZERhdGE6IGJ5dGVzLCBuZXdEYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdXBkYXRlTGVhZjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MgoJLy8gYXNzZXJ0KG5ld0RhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMSAvLyBvbGREYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjc1CgkvLyB0aGlzLnJvb3QudmFsdWUgPSB0aGlzLmNhbGNSb290KHNoYTI1NihuZXdEYXRhKSwgcGF0aCkKCWJ5dGVjIDEgLy8gICJyb290IgoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTA2Y2I4ZDggLy8gbWV0aG9kICJ2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgwNGY2MzIzOCAvLyBtZXRob2QgImFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgyNTVkOTNlMyAvLyBtZXRob2QgInVwZGF0ZUxlYWYoYnl0ZVtdLGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV92ZXJpZnkgKmFiaV9yb3V0ZV9hcHBlbmRMZWFmICphYmlfcm91dGVfdXBkYXRlTGVhZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfRGVsZXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHgyNDg3YzMyYyAvLyBtZXRob2QgImRlbGV0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIERlbGV0ZUFwcGxpY2F0aW9uCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/merkle/artifacts/MerkleTree.arc56_draft.json b/examples/merkle/artifacts/MerkleTree.arc56_draft.json index 41f0ae84f..065a06247 100644 --- a/examples/merkle/artifacts/MerkleTree.arc56_draft.json +++ b/examples/merkle/artifacts/MerkleTree.arc56_draft.json @@ -2227,7 +2227,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMzIDAgOTkgMwpieXRlY2Jsb2NrIDB4IDB4NzI2ZjZmNzQgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg3MzY5N2E2NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfRGVsZXRlQXBwbGljYXRpb24gKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxjSW5pdFJvb3QoKTogYnl0ZXMzMgpjYWxjSW5pdFJvb3Q6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE3CgkvLyByZXN1bHQgPSBoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMgoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IFRSRUVfREVQVEg7IGkgPSBpICsgMSkKCWludGMgMiAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPCBUUkVFX0RFUFRICglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIwCgkvLyByZXN1bHQgPSBzaGEyNTYocmVzdWx0ICsgcmVzdWx0KQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJY29uY2F0CglzaGEyNTYKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MjMKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBoYXNoQ29uY2F0KGxlZnQ6IGJ5dGVzMzIsIHJpZ2h0OiBieXRlczMyKTogYnl0ZXMzMgpoYXNoQ29uY2F0OgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjI3CgkvLyByZXR1cm4gc2hhMjU2KGxlZnQgKyByaWdodCk7CglmcmFtZV9kaWcgLTEgLy8gbGVmdDogYnl0ZXMzMgoJZnJhbWVfZGlnIC0yIC8vIHJpZ2h0OiBieXRlczMyCgljb25jYXQKCXNoYTI1NgoJcmV0c3ViCgovLyBpc1JpZ2h0U2libGluZyhlbGVtOiBCcmFuY2gpOiBib29sZWFuCmlzUmlnaHRTaWJsaW5nOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjMxCgkvLyByZXR1cm4gZ2V0Ynl0ZShlbGVtLCAwKSA9PT0gUklHSFRfU0lCTElOR19QUkVGSVg7CglmcmFtZV9kaWcgLTEgLy8gZWxlbTogQnJhbmNoCglpbnRjIDIgLy8gMAoJZ2V0Ynl0ZQoJcHVzaGludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50YyAxIC8vIDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMSAvLyAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludGMgMSAvLyAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDEgLy8gMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlYyAwIC8vIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnRjIDEgLy8gMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAxIC8vIDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZWMgMCAvLyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCgljYWxsc3ViIGNhbGNJbml0Um9vdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5KGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfdmVyaWZ5OgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHZlcmlmeSBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB2ZXJpZnkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeShkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdmVyaWZ5OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjU5CgkvLyBhc3NlcnQodGhpcy5yb290LnZhbHVlID09PSB0aGlzLmNhbGNSb290KHNoYTI1NihkYXRhKSwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX2FwcGVuZExlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgYXBwZW5kTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgYXBwZW5kTGVhZgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwZW5kTGVhZihkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKYXBwZW5kTGVhZjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2MwoJLy8gYXNzZXJ0KGRhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NAoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMiwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjYKCS8vIHRoaXMucm9vdC52YWx1ZSA9IHRoaXMuY2FsY1Jvb3Qoc2hhMjU2KGRhdGEpLCBwYXRoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlYyA0IC8vICAic2l6ZSIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUxlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgdXBkYXRlTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIG5ld0RhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvbGREYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB1cGRhdGVMZWFmCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVMZWFmKG9sZERhdGE6IGJ5dGVzLCBuZXdEYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdXBkYXRlTGVhZjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MgoJLy8gYXNzZXJ0KG5ld0RhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMSAvLyBvbGREYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjc1CgkvLyB0aGlzLnJvb3QudmFsdWUgPSB0aGlzLmNhbGNSb290KHNoYTI1NihuZXdEYXRhKSwgcGF0aCkKCWJ5dGVjIDEgLy8gICJyb290IgoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTA2Y2I4ZDggLy8gbWV0aG9kICJ2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgwNGY2MzIzOCAvLyBtZXRob2QgImFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgyNTVkOTNlMyAvLyBtZXRob2QgInVwZGF0ZUxlYWYoYnl0ZVtdLGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV92ZXJpZnkgKmFiaV9yb3V0ZV9hcHBlbmRMZWFmICphYmlfcm91dGVfdXBkYXRlTGVhZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfRGVsZXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHgyNDg3YzMyYyAvLyBtZXRob2QgImRlbGV0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIERlbGV0ZUFwcGxpY2F0aW9uCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMzIDAgOTkgMwpieXRlY2Jsb2NrIDB4IDB4NzI2ZjZmNzQgMHhlM2IwYzQ0Mjk4ZmMxYzE0OWFmYmY0Yzg5OTZmYjkyNDI3YWU0MWU0NjQ5YjkzNGNhNDk1OTkxYjc4NTJiODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg3MzY5N2E2NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfRGVsZXRlQXBwbGljYXRpb24gKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjYWxjSW5pdFJvb3QoKTogYnl0ZXMzMgpjYWxjSW5pdFJvb3Q6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE3CgkvLyByZXN1bHQgPSBoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMgoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IFRSRUVfREVQVEg7IGkgPSBpICsgMSkKCWludGMgMiAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPCBUUkVFX0RFUFRICglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjIwCgkvLyByZXN1bHQgPSBzaGEyNTYocmVzdWx0ICsgcmVzdWx0KQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJZnJhbWVfZGlnIDAgLy8gcmVzdWx0OiBieXRlWzMyXQoJY29uY2F0CglzaGEyNTYKCWZyYW1lX2J1cnkgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MTkKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MjMKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgMCAvLyByZXN1bHQ6IGJ5dGVbMzJdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBoYXNoQ29uY2F0KGxlZnQ6IGJ5dGVzMzIsIHJpZ2h0OiBieXRlczMyKTogYnl0ZXMzMgpoYXNoQ29uY2F0OgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjI3CgkvLyByZXR1cm4gc2hhMjU2KGxlZnQgKyByaWdodCk7CglmcmFtZV9kaWcgLTEgLy8gbGVmdDogYnl0ZXMzMgoJZnJhbWVfZGlnIC0yIC8vIHJpZ2h0OiBieXRlczMyCgljb25jYXQKCXNoYTI1NgoJcmV0c3ViCgovLyBpc1JpZ2h0U2libGluZyhlbGVtOiBCcmFuY2gpOiBib29sZWFuCmlzUmlnaHRTaWJsaW5nOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjMxCgkvLyByZXR1cm4gZ2V0Ynl0ZShlbGVtLCAwKSA9PT0gUklHSFRfU0lCTElOR19QUkVGSVg7CglmcmFtZV9kaWcgLTEgLy8gZWxlbTogQnJhbmNoCglpbnRjIDIgLy8gMAoJZ2V0Ynl0ZQoJcHVzaGludCAxNzAKCT09CglyZXRzdWIKCi8vIGNhbGNSb290KGxlYWY6IGJ5dGVzMzIsIHBhdGg6IFBhdGgpOiBieXRlczMyCmNhbGNSb290OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czozNwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBUUkVFX0RFUFRIOyBpID0gaSArIDEpCglpbnRjIDIgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjM3CgkvLyBpIDwgVFJFRV9ERVBUSAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMwoJPAoJYnogKmZvcl8xX2VuZAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCgoJLy8gKmlmMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo0MAoJLy8gdGhpcy5pc1JpZ2h0U2libGluZyhlbGVtKQoJZnJhbWVfZGlnIC0yIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAxIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vZWxlbQoJaW50YyAxIC8vIDMzCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMSAvLyAzMwoJZXh0cmFjdDMKCWNhbGxzdWIgaXNSaWdodFNpYmxpbmcKCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQxCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQocmVzdWx0LCBleHRyYWN0MyhlbGVtLCAxLCAzMikgYXMgYnl0ZXMzMikKCWZyYW1lX2RpZyAtMiAvLyBwYXRoOiBQYXRoCglmcmFtZV9kaWcgMSAvLyBzYXZlZCBhY2Nlc3NvcjogYWNjZXNzb3IvLzAvL2VsZW0KCWludGMgMSAvLyAzMwoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDEgLy8gMzMKCWV4dHJhY3QzCglleHRyYWN0IDEgMzIKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAzMiAwCglieXRlYyAwIC8vIDB4CgliPT0KCWFzc2VydAoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlOgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjQzCgkvLyByZXN1bHQgPSB0aGlzLmhhc2hDb25jYXQoZXh0cmFjdDMoZWxlbSwgMSwgMzIpIGFzIGJ5dGVzMzIsIHJlc3VsdCkKCWZyYW1lX2RpZyAtMSAvLyBsZWFmOiBieXRlczMyCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIDEgLy8gc2F2ZWQgYWNjZXNzb3I6IGFjY2Vzc29yLy8wLy9lbGVtCglpbnRjIDEgLy8gMzMKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAxIC8vIDMzCglleHRyYWN0MwoJZXh0cmFjdCAxIDMyCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglkdXAKCWV4dHJhY3QgMzIgMAoJYnl0ZWMgMCAvLyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAzMgoJY2FsbHN1YiBoYXNoQ29uY2F0CglmcmFtZV9idXJ5IC0xIC8vIHJlc3VsdDogYnl0ZXMzMgoKKmlmMF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6MzcKCS8vIGkgPSBpICsgMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NDcKCS8vIHJldHVybiByZXN1bHQ7CglmcmFtZV9kaWcgLTEgLy8gbGVhZjogYnl0ZXMzMgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgZGVsZXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgZGVsZXRlQXBwbGljYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGRlbGV0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKZGVsZXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NTEKCS8vIHZlcmlmeUFwcENhbGxUeG4odGhpcy50eG4sIHsgc2VuZGVyOiB0aGlzLmFwcC5jcmVhdG9yIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5jcmVhdG9yIn0KCWFzc2VydAoJcmV0c3ViCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo1NQoJLy8gdGhpcy5yb290LnZhbHVlID0gdGhpcy5jYWxjSW5pdFJvb3QoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCgljYWxsc3ViIGNhbGNJbml0Um9vdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gdmVyaWZ5KGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkCiphYmlfcm91dGVfdmVyaWZ5OgoJLy8gcGF0aDogYnl0ZVszM11bM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gOTkKCT09CgoJLy8gYXJndW1lbnQgMCAocGF0aCkgZm9yIHZlcmlmeSBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHZlcmlmeShieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB2ZXJpZnkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeShkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdmVyaWZ5OgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjU5CgkvLyBhc3NlcnQodGhpcy5yb290LnZhbHVlID09PSB0aGlzLmNhbGNSb290KHNoYTI1NihkYXRhKSwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwZW5kTGVhZihieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX2FwcGVuZExlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgYXBwZW5kTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQKCWNhbGxzdWIgYXBwZW5kTGVhZgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwZW5kTGVhZihkYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKYXBwZW5kTGVhZjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2MwoJLy8gYXNzZXJ0KGRhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo2NAoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChoZXgoRU1QVFlfSEFTSCkgYXMgYnl0ZXMzMiwgcGF0aCkpCglieXRlYyAxIC8vICAicm9vdCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJYnl0ZWMgMiAvLyAweGUzYjBjNDQyOThmYzFjMTQ5YWZiZjRjODk5NmZiOTI0MjdhZTQxZTQ2NDliOTM0Y2E0OTU5OTFiNzg1MmI4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4CglkdXAKCWI9PQoJYXNzZXJ0CglleHRyYWN0IDAgMzIKCWNhbGxzdWIgY2FsY1Jvb3QKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9tZXJrbGUvbWVya2xlLmFsZ28udHM6NjYKCS8vIHRoaXMucm9vdC52YWx1ZSA9IHRoaXMuY2FsY1Jvb3Qoc2hhMjU2KGRhdGEpLCBwYXRoKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglmcmFtZV9kaWcgLTIgLy8gcGF0aDogUGF0aAoJZnJhbWVfZGlnIC0xIC8vIGRhdGE6IGJ5dGVzCglzaGEyNTYKCWNhbGxzdWIgY2FsY1Jvb3QKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjY4CgkvLyB0aGlzLnNpemUudmFsdWUgPSB0aGlzLnNpemUudmFsdWUgKyAxCglieXRlYyA0IC8vICAic2l6ZSIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWludGMgMCAvLyAxCgkrCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUxlYWY6CgkvLyBwYXRoOiBieXRlWzMzXVszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyA5OQoJPT0KCgkvLyBhcmd1bWVudCAwIChwYXRoKSBmb3IgdXBkYXRlTGVhZiBtdXN0IGJlIGEgYnl0ZVszM11bM10KCWFzc2VydAoKCS8vIG5ld0RhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvbGREYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGRhdGVMZWFmKGJ5dGVbXSxieXRlW10sYnl0ZVszM11bM10pdm9pZAoJY2FsbHN1YiB1cGRhdGVMZWFmCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVMZWFmKG9sZERhdGE6IGJ5dGVzLCBuZXdEYXRhOiBieXRlcywgcGF0aDogUGF0aCk6IHZvaWQKdXBkYXRlTGVhZjoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MgoJLy8gYXNzZXJ0KG5ld0RhdGEgIT09ICcnKQoJZnJhbWVfZGlnIC0yIC8vIG5ld0RhdGE6IGJ5dGVzCglieXRlYyAwIC8vICAiIgoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL21lcmtsZS9tZXJrbGUuYWxnby50czo3MwoJLy8gYXNzZXJ0KHRoaXMucm9vdC52YWx1ZSA9PT0gdGhpcy5jYWxjUm9vdChzaGEyNTYob2xkRGF0YSksIHBhdGgpKQoJYnl0ZWMgMSAvLyAgInJvb3QiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMSAvLyBvbGREYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290Cgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvbWVya2xlL21lcmtsZS5hbGdvLnRzOjc1CgkvLyB0aGlzLnJvb3QudmFsdWUgPSB0aGlzLmNhbGNSb290KHNoYTI1NihuZXdEYXRhKSwgcGF0aCkKCWJ5dGVjIDEgLy8gICJyb290IgoJZnJhbWVfZGlnIC0zIC8vIHBhdGg6IFBhdGgKCWZyYW1lX2RpZyAtMiAvLyBuZXdEYXRhOiBieXRlcwoJc2hhMjU2CgljYWxsc3ViIGNhbGNSb290CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTA2Y2I4ZDggLy8gbWV0aG9kICJ2ZXJpZnkoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgwNGY2MzIzOCAvLyBtZXRob2QgImFwcGVuZExlYWYoYnl0ZVtdLGJ5dGVbMzNdWzNdKXZvaWQiCglwdXNoYnl0ZXMgMHgyNTVkOTNlMyAvLyBtZXRob2QgInVwZGF0ZUxlYWYoYnl0ZVtdLGJ5dGVbXSxieXRlWzMzXVszXSl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV92ZXJpZnkgKmFiaV9yb3V0ZV9hcHBlbmRMZWFmICphYmlfcm91dGVfdXBkYXRlTGVhZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfRGVsZXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHgyNDg3YzMyYyAvLyBtZXRob2QgImRlbGV0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9kZWxldGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIERlbGV0ZUFwcGxpY2F0aW9uCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/non_abi/artifacts/NonABIExample.approval.teal b/examples/non_abi/artifacts/NonABIExample.approval.teal index 5b776ecf4..d41ea52ae 100644 --- a/examples/non_abi/artifacts/NonABIExample.approval.teal +++ b/examples/non_abi/artifacts/NonABIExample.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // !!!! WARNING: This contract is *NOT* ARC4 compliant. It may contain ABI methods, but it also allows app calls where the first argument does NOT match an ABI selector diff --git a/examples/non_abi/artifacts/NonABIExample.arc32.json b/examples/non_abi/artifacts/NonABIExample.arc32.json index 95ff557bb..e5c0dcf01 100644 --- a/examples/non_abi/artifacts/NonABIExample.arc32.json +++ b/examples/non_abi/artifacts/NonABIExample.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFiaUFkZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFiaUFkZCh4OiB1aW50NjQsIHk6IHVpbnQ2NCk6IHVpbnQ2NAphYmlBZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxMAoJLy8gcmV0dXJuIHRoaXMuYWRkKHgsIHkpOwoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCXJldHN1YgoKLy8gbm9uQWJpQWRkKCk6IHZvaWQKbm9uQWJpQWRkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE1CgkvLyB4ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglidG9pCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTYKCS8vIHkgPSBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIDEgLy8geTogdWludDY0CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglpdG9iCglsb2cKCXJldHN1YgoKLy8gbm9uQWJpVXBkYXRlKCk6IHZvaWQKbm9uQWJpVXBkYXRlOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MjIKCS8vIGxvZygnVXBkYXRlZCEnKQoJcHVzaGJ5dGVzIDB4NTU3MDY0NjE3NDY1NjQyMSAvLyAiVXBkYXRlZCEiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiOGI4NDQ4NCAvLyBtZXRob2QgImFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG5vbkFiaVVwZGF0ZQoJaW50YyAwIC8vIDEKCXJldHVybg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFiaUFkZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFiaUFkZCh4OiB1aW50NjQsIHk6IHVpbnQ2NCk6IHVpbnQ2NAphYmlBZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxMAoJLy8gcmV0dXJuIHRoaXMuYWRkKHgsIHkpOwoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCXJldHN1YgoKLy8gbm9uQWJpQWRkKCk6IHZvaWQKbm9uQWJpQWRkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE1CgkvLyB4ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglidG9pCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTYKCS8vIHkgPSBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIDEgLy8geTogdWludDY0CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglpdG9iCglsb2cKCXJldHN1YgoKLy8gbm9uQWJpVXBkYXRlKCk6IHZvaWQKbm9uQWJpVXBkYXRlOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MjIKCS8vIGxvZygnVXBkYXRlZCEnKQoJcHVzaGJ5dGVzIDB4NTU3MDY0NjE3NDY1NjQyMSAvLyAiVXBkYXRlZCEiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiOGI4NDQ4NCAvLyBtZXRob2QgImFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG5vbkFiaVVwZGF0ZQoJaW50YyAwIC8vIDEKCXJldHVybg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/non_abi/artifacts/NonABIExample.arc56_draft.json b/examples/non_abi/artifacts/NonABIExample.arc56_draft.json index 5d519b800..d87d2fa13 100644 --- a/examples/non_abi/artifacts/NonABIExample.arc56_draft.json +++ b/examples/non_abi/artifacts/NonABIExample.arc56_draft.json @@ -645,7 +645,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFiaUFkZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFiaUFkZCh4OiB1aW50NjQsIHk6IHVpbnQ2NCk6IHVpbnQ2NAphYmlBZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxMAoJLy8gcmV0dXJuIHRoaXMuYWRkKHgsIHkpOwoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCXJldHN1YgoKLy8gbm9uQWJpQWRkKCk6IHZvaWQKbm9uQWJpQWRkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE1CgkvLyB4ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglidG9pCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTYKCS8vIHkgPSBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIDEgLy8geTogdWludDY0CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglpdG9iCglsb2cKCXJldHN1YgoKLy8gbm9uQWJpVXBkYXRlKCk6IHZvaWQKbm9uQWJpVXBkYXRlOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MjIKCS8vIGxvZygnVXBkYXRlZCEnKQoJcHVzaGJ5dGVzIDB4NTU3MDY0NjE3NDY1NjQyMSAvLyAiVXBkYXRlZCEiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiOGI4NDQ4NCAvLyBtZXRob2QgImFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG5vbkFiaVVwZGF0ZQoJaW50YyAwIC8vIDEKCXJldHVybg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWRkKHg6IHVpbnQ2NCwgeTogdWludDY0KTogdWludDY0CmFkZDoKCXByb3RvIDIgMQoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjYKCS8vIHJldHVybiB4ICsgeTsKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50NjQKCSsKCXJldHN1YgoKLy8gYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWJpQWRkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHg6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYWJpQWRkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFiaUFkZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFiaUFkZCh4OiB1aW50NjQsIHk6IHVpbnQ2NCk6IHVpbnQ2NAphYmlBZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxMAoJLy8gcmV0dXJuIHRoaXMuYWRkKHgsIHkpOwoJZnJhbWVfZGlnIC0yIC8vIHk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ2NAoJY2FsbHN1YiBhZGQKCXJldHN1YgoKLy8gbm9uQWJpQWRkKCk6IHZvaWQKbm9uQWJpQWRkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL25vbl9hYmkvbm9uX2FiaS5hbGdvLnRzOjE1CgkvLyB4ID0gYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglidG9pCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MTYKCS8vIHkgPSBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB5OiB1aW50NjQKCgkvLyBleGFtcGxlcy9ub25fYWJpL25vbl9hYmkuYWxnby50czoxNwoJLy8gbG9nKGl0b2IodGhpcy5hZGQoeCwgeSkpKQoJZnJhbWVfZGlnIDEgLy8geTogdWludDY0CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCWNhbGxzdWIgYWRkCglpdG9iCglsb2cKCXJldHN1YgoKLy8gbm9uQWJpVXBkYXRlKCk6IHZvaWQKbm9uQWJpVXBkYXRlOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvbm9uX2FiaS9ub25fYWJpLmFsZ28udHM6MjIKCS8vIGxvZygnVXBkYXRlZCEnKQoJcHVzaGJ5dGVzIDB4NTU3MDY0NjE3NDY1NjQyMSAvLyAiVXBkYXRlZCEiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiOGI4NDQ4NCAvLyBtZXRob2QgImFiaUFkZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWJpQWRkCgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpQWRkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG5vbkFiaVVwZGF0ZQoJaW50YyAwIC8vIDEKCXJldHVybg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/examples/optin-lsig/artifacts/LsigExample.lsig.teal b/examples/optin-lsig/artifacts/LsigExample.lsig.teal index d9a1fd873..25012d165 100644 --- a/examples/optin-lsig/artifacts/LsigExample.lsig.teal +++ b/examples/optin-lsig/artifacts/LsigExample.lsig.teal @@ -2,7 +2,7 @@ //#pragma mode logicsig intcblock 0 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // The address of this logic signature is R3AXSKEZHFTAMBE7AVWQDHXIPPOUJ3WJBOSR7CQIZCIN6FQLYLKGYNKLDA diff --git a/examples/reti/artifacts/StakingPool.approval.teal b/examples/reti/artifacts/StakingPool.approval.teal index 147d6a5d5..3dc1abde9 100644 --- a/examples/reti/artifacts/StakingPool.approval.teal +++ b/examples/reti/artifacts/StakingPool.approval.teal @@ -1,16 +1,12 @@ #pragma version 10 -intcblock 0 1 6 64 32 16 128 200 5 300 1000 4 1_000_000 2_100_000 8 TMPL_nfdRegistryAppId 100000 400 2 40 48 -bytecblock 0x 0x63726561746f72417070 0x7374616b657273 0x76616c696461746f724964 0x706f6f6c4964 0x0a8101 0x7374616b6564 0x7374616b65416363756d756c61746f72 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0x0000000000000000 0x726f756e6473506572446179 0x62696e526f756e645374617274 0x726577617264416363756d756c61746f72 0x6e756d5374616b657273 0x6c6173745061796f7574 0x75aff61d 0x00000000000000000000000000000000 0x00000000000000000000000000000064 0x6d696e456e7472795374616b65 0x65706f63684e756d626572 0x65776d61 0x151f7c75 TMPL_feeSinkAddr 0xa2dc51b5 0x572767d1 0x4df8d86e 0x0c2245e1 0x00 +intcblock 0 1 6 64 32 16 128 200 5 300 1000 4 1_000_000 2_100_000 8 100000 400 2 40 48 TMPL_nfdRegistryAppId +bytecblock 0x 0x63726561746f72417070 0x7374616b657273 0x76616c696461746f724964 0x706f6f6c4964 0x0a8101 0x7374616b6564 0x7374616b65416363756d756c61746f72 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0x0000000000000000 0x726f756e6473506572446179 0x62696e526f756e645374617274 0x726577617264416363756d756c61746f72 0x6e756d5374616b657273 0x6c6173745061796f7574 0x75aff61d 0x00000000000000000000000000000000 0x00000000000000000000000000000064 0x6d696e456e7472795374616b65 0x65706f63684e756d626572 0x65776d61 0x151f7c75 0xa2dc51b5 0x572767d1 0x4df8d86e 0x0c2245e1 0x00 TMPL_feeSinkAddr -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] -// The following lines of TEAL are used to initialize template variables in scratch slots -bytec 22 // TMPL_feeSinkAddr -intc 15 // TMPL_nfdRegistryAppId - // The following ten lines of TEAL handle initial program flow // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed // Here, action refers to the OnComplete in combination with whether the app is being created or called @@ -238,7 +234,7 @@ costForBoxStorage: // return SCBOX_PERBOX + totalNumBytes * SCBOX_PERBYTE; pushint 2500 frame_dig -1 // totalNumBytes: uint64 - intc 17 // 400 + intc 16 // 400 * + retsub @@ -346,7 +342,7 @@ initStorage: *skip_and0: bz *ternary0_false - intc 16 // 100000 + intc 15 // 100000 b *ternary0_end *ternary0_false: @@ -360,7 +356,7 @@ initStorage: // ALGORAND_ACCOUNT_MIN_BALANCE + // extraMBR + // this.costForBoxStorage(7 /* 'stakers' name */ + len() * MAX_STAKERS_PER_POOL) - intc 16 // 100000 + intc 15 // 100000 frame_dig 2 // extraMBR: uint64 + pushint 12807 @@ -1369,7 +1365,7 @@ removeStake: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 23 // method "stakeRemoved((uint64,uint64,uint64),address,uint64,uint64,bool)void" + bytec 22 // method "stakeRemoved((uint64,uint64,uint64),address,uint64,uint64,bool)void" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:367 @@ -1406,7 +1402,7 @@ removeStake: itob itxn_field ApplicationArgs frame_dig 4 // stakerRemoved: bool - bytec 27 // 0x00 + bytec 26 // 0x00 intc 0 // 0 uncover 2 setbit @@ -1681,7 +1677,7 @@ claimTokens: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 23 // method "stakeRemoved((uint64,uint64,uint64),address,uint64,uint64,bool)void" + bytec 22 // method "stakeRemoved((uint64,uint64,uint64),address,uint64,uint64,bool)void" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:434 @@ -1717,7 +1713,7 @@ claimTokens: itob itxn_field ApplicationArgs intc 0 // 0 - bytec 27 // 0x00 + bytec 26 // 0x00 intc 0 // 0 uncover 2 setbit @@ -2189,7 +2185,7 @@ epochBalanceUpdate: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 24 // method "getPoolAppId(uint64,uint64)uint64" + bytec 23 // method "getPoolAppId(uint64,uint64)uint64" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:562 @@ -2247,7 +2243,7 @@ epochBalanceUpdate: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 25 // method "setTokenPayoutRatio(uint64)(uint64[24],uint64)" + bytec 24 // method "setTokenPayoutRatio(uint64)(uint64[24],uint64)" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:572 @@ -2286,7 +2282,7 @@ epochBalanceUpdate: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 26 // method "proxiedSetTokenPayoutRatio((uint64,uint64,uint64))(uint64[24],uint64)" + bytec 25 // method "proxiedSetTokenPayoutRatio((uint64,uint64,uint64))(uint64[24],uint64)" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:578 @@ -2825,7 +2821,7 @@ epochBalanceUpdate: // examples/reti/stakingPool.algo.ts:733 // globals.opcodeBudget < 400 global OpcodeBudget - intc 17 // 400 + intc 16 // 400 < bz *if34_end @@ -2977,7 +2973,7 @@ epochBalanceUpdate: // examples/reti/stakingPool.algo.ts:763 // cmpStaker.rewardTokenBalance += stakerTokenReward frame_dig 25 // cmpStaker: (address,uint64,uint64,uint64,uint64) - intc 20 // headOffset + intc 19 // headOffset frame_dig 25 // cmpStaker: (address,uint64,uint64,uint64,uint64) extract 48 8 btoi @@ -3060,7 +3056,7 @@ epochBalanceUpdate: // examples/reti/stakingPool.algo.ts:779 // cmpStaker.totalRewarded += stakerReward frame_dig 25 // cmpStaker: (address,uint64,uint64,uint64,uint64) - intc 19 // headOffset + intc 18 // headOffset frame_dig 25 // cmpStaker: (address,uint64,uint64,uint64,uint64) extract 40 8 btoi @@ -3239,7 +3235,7 @@ epochBalanceUpdate: // examples/reti/stakingPool.algo.ts:814 // cmpStaker.rewardTokenBalance += stakerTokenReward frame_dig 32 // cmpStaker: (address,uint64,uint64,uint64,uint64) - intc 20 // headOffset + intc 19 // headOffset frame_dig 32 // cmpStaker: (address,uint64,uint64,uint64,uint64) extract 48 8 btoi @@ -3301,7 +3297,7 @@ epochBalanceUpdate: // examples/reti/stakingPool.algo.ts:822 // cmpStaker.totalRewarded += stakerReward frame_dig 32 // cmpStaker: (address,uint64,uint64,uint64,uint64) - intc 19 // headOffset + intc 18 // headOffset frame_dig 32 // cmpStaker: (address,uint64,uint64,uint64,uint64) extract 40 8 btoi @@ -3575,7 +3571,7 @@ goOnline: // fee: this.getGoOnlineFee(), // }) itxn_begin - intc 18 // keyreg + intc 17 // keyreg itxn_field TypeEnum // examples/reti/stakingPool.algo.ts:885 @@ -3654,7 +3650,7 @@ goOffline: // examples/reti/stakingPool.algo.ts:907 // sendOfflineKeyRegistration({}) itxn_begin - intc 18 // keyreg + intc 17 // keyreg itxn_field TypeEnum // Fee field not set, defaulting to 0 @@ -3703,7 +3699,7 @@ linkToNFD: // examples/reti/stakingPool.algo.ts:917 // applicationID: AppID.fromUint64(this.nfdRegistryAppId) - intc 15 // TMPL_nfdRegistryAppId + intc 20 // TMPL_nfdRegistryAppId itxn_field ApplicationID // examples/reti/stakingPool.algo.ts:918 @@ -3806,7 +3802,7 @@ proxiedSetTokenPayoutRatio: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 24 // method "getPoolAppId(uint64,uint64)uint64" + bytec 23 // method "getPoolAppId(uint64,uint64)uint64" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:935 @@ -3870,7 +3866,7 @@ proxiedSetTokenPayoutRatio: itxn_begin intc 2 // appl itxn_field TypeEnum - bytec 25 // method "setTokenPayoutRatio(uint64)(uint64[24],uint64)" + bytec 24 // method "setTokenPayoutRatio(uint64)(uint64[24],uint64)" itxn_field ApplicationArgs // examples/reti/stakingPool.algo.ts:942 @@ -3971,7 +3967,7 @@ getFeeSink: // examples/reti/stakingPool.algo.ts:956 // return this.feeSinkAddr; - bytec 22 // TMPL_feeSinkAddr + bytec 27 // TMPL_feeSinkAddr retsub // algoSaturationLevel(): uint64 @@ -4355,7 +4351,7 @@ setRoundsPerDay: pushbytes 0x400e14fb // method "goOnline(pay,byte[],byte[],byte[],uint64,uint64,uint64)void" pushbytes 0x51ef3b21 // method "goOffline()void" pushbytes 0xa24e2717 // method "linkToNFD(uint64,string)void" - bytec 26 // method "proxiedSetTokenPayoutRatio((uint64,uint64,uint64))(uint64[24],uint64)" + bytec 25 // method "proxiedSetTokenPayoutRatio((uint64,uint64,uint64))(uint64[24],uint64)" txna ApplicationArgs 0 match *abi_route_gas *abi_route_initStorage *abi_route_addStake *abi_route_removeStake *abi_route_claimTokens *abi_route_getStakerInfo *abi_route_payTokenReward *abi_route_updateAlgodVer *abi_route_epochBalanceUpdate *abi_route_goOnline *abi_route_goOffline *abi_route_linkToNFD *abi_route_proxiedSetTokenPayoutRatio diff --git a/examples/reti/artifacts/StakingPool.arc32.json b/examples/reti/artifacts/StakingPool.arc32.json index 33f1de3b0..59da9b864 100644 --- a/examples/reti/artifacts/StakingPool.arc32.json +++ b/examples/reti/artifacts/StakingPool.arc32.json @@ -161,7 +161,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA2NCAzMiAxNiAxMjggMjAwIDUgMzAwIDEwMDAgNCAxXzAwMF8wMDAgMl8xMDBfMDAwIDggVE1QTF9uZmRSZWdpc3RyeUFwcElkIDEwMDAwMCA0MDAgMiA0MCA0OApieXRlY2Jsb2NrIDB4IDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgMHg3Mzc0NjE2YjY1NzI3MyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgMHg3MDZmNmY2YzQ5NjQgMHgwYTgxMDEgMHg3Mzc0NjE2YjY1NjQgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MDAwMDAwMDAwMDAwMDAwMCAweDcyNmY3NTZlNjQ3MzUwNjU3MjQ0NjE3OSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IDB4NzI2NTc3NjE3MjY0NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgMHg3NWFmZjYxZCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgMHg2NTc3NmQ2MSAweDE1MWY3Yzc1IFRNUExfZmVlU2lua0FkZHIgMHhhMmRjNTFiNSAweDU3Mjc2N2QxIDB4NGRmOGQ4NmUgMHgwYzIyNDVlMSAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpieXRlYyAyMiAvLyBUTVBMX2ZlZVNpbmtBZGRyCmludGMgMTUgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpLAoJLy8gICAgICAgJ1RlbXBvcmFyeTogY29udHJhY3QgaXMgdXBncmFkZWFibGUgYnV0IG9ubHkgZHVyaW5nIHRlc3RpbmcgYW5kIG9ubHkgZnJvbSBhIGRldmVsb3BtZW50IGFjY291bnQnCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJcHVzaGludCAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTcKCS8vIHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlID0gY3JlYXRpbmdDb250cmFjdElkCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlYyA0IC8vICAicG9vbElkIgoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjIKCS8vIHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSA9IG1pbkVudHJ5U3Rha2UKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWZyYW1lX2RpZyAtNCAvLyBtaW5FbnRyeVN0YWtlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMwoJLy8gdGhpcy5sYXN0UGF5b3V0LnZhbHVlID0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTQgLy8gICJsYXN0UGF5b3V0IgoJZ2xvYmFsIFJvdW5kCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjQKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgPSAwCglieXRlYyAxOSAvLyAgImVwb2NoTnVtYmVyIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjgKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IDAgYXMgdWludDEyOAoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjkKCS8vIHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgInJld2FyZEFjY3VtdWxhdG9yIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGVjIDIwIC8vICAiZXdtYSIKCWJ5dGVjIDE2IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNDIKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJaW50YyAxNyAvLyA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3IgaW5pdFN0b3JhZ2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBpbml0U3RvcmFnZShwYXkpdm9pZAoJY2FsbHN1YiBpbml0U3RvcmFnZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gaW5pdFN0b3JhZ2UobWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBDYWxsZWQgYWZ0ZXIgd2UncmUgY3JlYXRlZCBhbmQgdGhlbiBmdW5kZWQsIHNvIHdlIGNhbiBjcmVhdGUgb3VyIGxhcmdlIHN0YWtlcnMgbGVkZ2VyIHN0b3JhZ2UKLy8gQ2FsbGVyIGhhcyB0byBnZXQgTUJSIGFtb3VudHMgZnJvbSBWYWxpZGF0b3JSZWdpc3RyeSB0byBrbm93IGhvdyBtdWNoIHRvIGZ1bmQgdXMgdG8gY292ZXIgdGhlIGJveCBzdG9yYWdlIGNvc3QKLy8gSWYgdGhpcyBpcyBwb29sIDEgQU5EIHRoZSB2YWxpZGF0b3IgaGFzIHNwZWNpZmllZCBhIHJld2FyZCB0b2tlbiwgb3B0LWluIHRvIHRoYXQgdG9rZW4KLy8gc28gdGhhdCB0aGUgdmFsaWRhdG9yIGNhbiBzZWVkIHRoZSBwb29sIHdpdGggZnV0dXJlIHJld2FyZHMgb2YgdGhhdCB0b2tlbi4KLy8gQHBhcmFtIG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyBzdGFraW5nIHBvb2xzJyBzdG9yYWdlCmluaXRTdG9yYWdlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTMKCS8vIGFzc2VydCghdGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBhbHJlYWR5IGluaXRpYWxpemVkJykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNSAvLyAgbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1NwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTgKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTYwCgkvLyBpc1Rva2VuRWxpZ2libGUgPSB2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTUzIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJZnJhbWVfYnVyeSAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjEKCS8vIGV4dHJhTUJSID0gaXNUb2tlbkVsaWdpYmxlICYmIHRoaXMucG9vbElkLnZhbHVlID09PSAxID8gQVNTRVRfSE9MRElOR19GRUUgOiAwCglmcmFtZV9kaWcgMSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWR1cAoJYnogKnNraXBfYW5kMAoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnRjIDE2IC8vIDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnRjIDAgLy8gMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50YyAxNiAvLyAxMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGV4dHJhTUJSOiB1aW50NjQKCSsKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWZyYW1lX2J1cnkgMyAvLyBQb29sSW5pdE1icjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OAoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogUG9vbEluaXRNYnIgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgMyAvLyBQb29sSW5pdE1icjogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJQb29sSW5pdE1iciJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTY5CgkvLyB0aGlzLnN0YWtlcnMuY3JlYXRlKCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjgwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzEKCS8vIGlzVG9rZW5FbGlnaWJsZSAmJiB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJZnJhbWVfZGlnIDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCglkdXAKCWJ6ICpza2lwX2FuZDEKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc0CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzUKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc2CgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZWRBbW91bnRQYXltZW50KSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgYWRkU3Rha2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHN0YWtlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBBZGRzIHN0YWtlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgovLyBDYW4gT05MWSBiZSBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdCB0aGF0IGNyZWF0ZWQgdXMKLy8gTXVzdCByZWNlaXZlIHBheW1lbnQgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IGZvciBhbW91bnQgYmVpbmcgc3Rha2VkLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCBwcmlvciBwYXltZW50IGNvbWluZyBmcm9tIHZhbGlkYXRvciBjb250cmFjdCB0byB1cyBvbiBiZWhhbGYgb2Ygc3Rha2VyLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhY2NvdW50IGFkZGluZyBuZXcgc3Rha2UKLy8gQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdGFraW5nIHBvb2wgaXMgZnVsbC4KLy8gQHJldHVybnMge3VpbnQ2NH0gbmV3ICdlbnRyeSByb3VuZCcgcm91bmQgbnVtYmVyIG9mIHN0YWtlIGFkZAphZGRTdGFrZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQodGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBtdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0JykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gc3Rha2UgY2FuIG9ubHkgYmUgYWRkZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTkKCS8vIGFzc2VydChzdGFrZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjAyCgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwNgoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6IkFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoic3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNQoJLy8gZW50cnlSb3VuZCA9IGdsb2JhbHMucm91bmQgKyBBTEdPUkFORF9TVEFLSU5HX0JMT0NLX0RFTEFZCglnbG9iYWwgUm91bmQKCXB1c2hpbnQgMzIwCgkrCglmcmFtZV9idXJ5IDAgLy8gZW50cnlSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNgoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxOAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjIwCgkvLyByb3VuZHNMZWZ0SW5CaW4gPSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSAtIGdsb2JhbHMucm91bmQKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaXRvYgoJZnJhbWVfZGlnIDIgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCgliKwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBpIDwgdGhpcy5zdGFrZXJzLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDkgLy8gMzAwCgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI5CgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMgoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzMKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID0gZW50cnlSb3VuZAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglwdXNoaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzgKCS8vIHJldHVybiBlbnRyeVJvdW5kOwoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CgliICphZGRTdGFrZSpyZXR1cm4KCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNDAKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgY21wU3Rha2VyLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMjoKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQxCgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjRfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQ1CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIFN0YWtpbmcgcG9vbCBmdWxsCgllcnIKCippZjVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1MgoJLy8gYXNzZXJ0KHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50ID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcpCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1NAoJLy8gYXNzZXJ0KHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0uYWNjb3VudCA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyA0IC8vIDMyCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjU1CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gewoJLy8gICAgICAgYWNjb3VudDogc3Rha2VyLAoJLy8gICAgICAgYmFsYW5jZTogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgICB0b3RhbFJld2FyZGVkOiAwLAoJLy8gICAgICAgcmV3YXJkVG9rZW5CYWxhbmNlOiAwLAoJLy8gICAgICAgZW50cnlSb3VuZDogZW50cnlSb3VuZCwKCS8vICAgICB9CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdG9iCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTMgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyA5IC8vIDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTQKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgk9PQoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vICppZjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk1CgkvLyBhbW91bnRUb1Vuc3Rha2UgPT09IDAKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NwoJLy8gYW1vdW50VG9VbnN0YWtlID0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9idXJ5IC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgoqaWY5X2VuZDoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5OQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPCBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCTwKCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIEluc3VmZmljaWVudCBiYWxhbmNlCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDIKCS8vIGNtcFN0YWtlci5iYWxhbmNlIC09IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJLQoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNQoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNgoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA+IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTFfZW5kCgoJLy8gKmlmMTFfY29uc2VxdWVudAoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA4CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzExCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMxNwoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQzCgkvLyBhbW91bnQ6IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDQKCS8vIHJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ1CgkvLyBub3RlOiAndW5zdGFrZWQnCglwdXNoYnl0ZXMgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyAxMyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludGMgMCAvLyAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1OQoJLy8gcm91bmRzTGVmdEluQmluID0gdGhpcy5iaW5Sb3VuZFN0YXJ0LnZhbHVlICsgdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgLSBnbG9iYWxzLnJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJKwoJZ2xvYmFsIFJvdW5kCgktCglmcmFtZV9idXJ5IDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzYwCgkvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOCA9IChhbW91bnRUb1Vuc3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyA1IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgNiAvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAtIHN1YnRyYWN0QW1vdW50CglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY4CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJYnl0ZWMgMjcgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OQoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTZfZW5kCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDAyCgkvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA0CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA3CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA0IC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpLAoJLy8gICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMTEgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDMzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnN0YWtlUmVtb3ZlZD4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIDAsIC8vIG5vIGFsZ28gcmVtb3ZlZAoJLy8gICAgICAgICAgICAgYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkLAoJLy8gICAgICAgICAgICAgZmFsc2UsIC8vIHN0YWtlciBpc24ndCBiZWluZyByZW1vdmVkLgoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MzQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDAgLy8gMAoJYnl0ZWMgMjcgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDQzCgkvLyByZXR1cm47CglyZXRzdWIKCippZjE1X2VuZDoKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCglyZXRzdWIKCi8vIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0U3Rha2VySW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMjEgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgNCAvLyAzMgoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjMKCS8vIHJldHVybiB0aGlzLnN0YWtlcnMudmFsdWVbaV07CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKmdldFN0YWtlckluZm8qcmV0dXJuCgoqaWYxOV9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDU4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoKKmdldFN0YWtlckluZm8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfcGF5VG9rZW5SZXdhcmQ6CgkvLyBhbW91bnRUb1NlbmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHJld2FyZFRva2VuOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VyKSBmb3IgcGF5VG9rZW5SZXdhcmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgcGF5VG9rZW5SZXdhcmQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHBheVRva2VuUmV3YXJkKHN0YWtlcjogQWRkcmVzcywgcmV3YXJkVG9rZW46IHVpbnQ2NCwgYW1vdW50VG9TZW5kOiB1aW50NjQpOiB2b2lkCi8vCi8vIFtJbnRlcm5hbCBwcm90b2NvbCBtZXRob2RdIFJlbW92ZSBhIHNwZWNpZmllZCBhbW91bnQgb2YgJ2NvbW11bml0eSB0b2tlbicgcmV3YXJkcyBmb3IgYSBzdGFrZXIuCi8vIFRoaXMgY2FuIE9OTFkgYmUgY2FsbGVkIGJ5IG91ciB2YWxpZGF0b3IgYW5kIG9ubHkgaWYgd2UncmUgcG9vbCAxIC0gd2l0aCB0aGUgdG9rZW4uCi8vIE5vdGU6IHRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBhcyBwYXJ0IG9mIE9XTkVSIHdhbnRpbmcgdG8gc2VuZCB0aGUgcmV3YXJkIHRva2VucwovLyBzb21ld2hlcmUgZWxzZSAoaWUgaWYgdGhleSdyZSBzdW5zZXR0aW5nIHRoZWlyIHZhbGlkYXRvciBhbmQgbmVlZCB0aGUgcmV3YXJkIHRva2VucyBiYWNrKS4KLy8gSXQncyB1cCB0byB0aGUgdmFsaWRhdG9yIHRvIGVuc3VyZSB0aGF0IHRoZSBiYWxhbmNlIGluIHJld2FyZFRva2VuSGVsZEJhY2sgaXMgaG9ub3JlZC4KLy8gQHBhcmFtIHN0YWtlciAtIHRoZSBzdGFrZXIgYWNjb3VudCB0byBzZW5kIHJld2FyZHMgdG8KLy8gQHBhcmFtIHJld2FyZFRva2VuIC0gaWQgb2YgcmV3YXJkIHRva2VuICh0byBhdm9pZCByZS1lbnRyYW5jeSBpbiBjYWxsaW5nIHZhbGlkYXRvciBiYWNrIHRvIGdldCBpZCkKLy8gQHBhcmFtIGFtb3VudFRvU2VuZCAtIGFtb3VudCB0byBzZW5kIHRoZSBzdGFrZXIgKHRoZXJlIGlzIHNpZ25pZmljYW50IHRydXN0IGhlcmUoISkgLSBhbHNvIHdoeSBvbmx5IHZhbGlkYXRvciBjYW4gY2FsbCB1cwpwYXlUb2tlblJld2FyZDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICd0aGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBtdXN0IGJlIHBvb2wgMSBpbiBvcmRlciB0byBiZSBjYWxsZWQgdG8gcGF5IG91dCB0b2tlbiByZXdhcmRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg2CgkvLyBhc3NlcnQocmV3YXJkVG9rZW4gIT09IDAsICdjYW4gb25seSBjbGFpbSB0b2tlbiByZXdhcmRzIGZyb20gdmFsaWRhdG9yIHRoYXQgaGFzIHRoZW0nKQoJZnJhbWVfZGlnIC0yIC8vIHJld2FyZFRva2VuOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGNhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4OQoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW4pLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJcHVzaGJ5dGVzIDB4NjE2YzY3NmY2NDU2NjU3MiAvLyAiYWxnb2RWZXIiCglmcmFtZV9kaWcgLTEgLy8gYWxnb2RWZXI6IHN0cmluZwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCiphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlOgoJLy8gZXhlY3V0ZSBlcG9jaEJhbGFuY2VVcGRhdGUoKXZvaWQKCWNhbGxzdWIgZXBvY2hCYWxhbmNlVXBkYXRlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlcG9jaEJhbGFuY2VVcGRhdGUoKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBiYWxhbmNlIG9mIHN0YWtlcnMgaW4gdGhlIHBvb2wgYmFzZWQgb24gdGhlIHJlY2VpdmVkICdyZXdhcmRzJyAoY3VycmVudCBiYWxhbmNlIHZzIGtub3duIHN0YWtlZCBiYWxhbmNlKQovLyBzdGFrZXJzIG91dHN0YW5kaW5nIGJhbGFuY2UgaXMgYWRqdXN0ZWQgYmFzZWQgb24gdGhlaXIgJSBvZiBzdGFrZSBhbmQgdGltZSBpbiB0aGUgY3VycmVudCBlcG9jaCAtIHNvIHRoYXQgYmFsYW5jZQovLyBjb21wb3VuZHMgb3ZlciB0aW1lIGFuZCBzdGFrZXIgY2FuIHJlbW92ZSB0aGF0IGFtb3VudCBhdCB3aWxsLgovLyBUaGUgdmFsaWRhdG9yIGlzIHBhaWQgdGhlaXIgcGVyY2VudGFnZSBlYWNoIGVwb2NoIHBheW91dC4KLy8KLy8gTm90ZTogQU5ZT05FIGNhbiBjYWxsIHRoaXMuCmVwb2NoQmFsYW5jZVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDM2CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMAoJLy8gdmFsaWRhdG9yQ29uZmlnID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JDb25maWc+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE1IC8vICBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGVjIDE0IC8vICAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MQoJLy8gaXNUb2tlbkVsaWdpYmxlID0gdmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQgIT09IDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWZyYW1lX2J1cnkgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTUyCgkvLyBwb29sT25lQXBwSUQgPSB0aGlzLmFwcC5pZAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfYnVyeSA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MwoJLy8gcG9vbE9uZUFkZHJlc3MgPSB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSA3IC8vIHBvb2xPbmVBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU4CgkvLyBpc1Rva2VuRWxpZ2libGUKCWZyYW1lX2RpZyA1IC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU5CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSAhPT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNCAvLyAgbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgMV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjIzX2Vsc2UKCgkvLyAqaWYyM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcxCgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zZXRUb2tlblBheW91dFJhdGlvPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNSAvLyAgbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3MwoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOCAvLyB0b2tlblBheW91dFJhdGlvOiBQb29sVG9rZW5QYXlvdXRSYXRpbwoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc3CgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMjYgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCkKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc5CgkvLyBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJY29uY2F0Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCippZjIzX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODYKCS8vIHZhbGlkYXRvclN0YXRlID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JTdGF0ZT4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg4CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTAKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB2YWxpZGF0b3JTdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTggOAoJYnRvaQoJZnJhbWVfYnVyeSAxMCAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk2CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgLSB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludGMgMCAvLyAwCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglpbnRjIDE0IC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxNCAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCippZjI2X2VuZDoKCippZjI1X2VuZDoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzNQoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9PT0gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDAKCS8vIGFsZ29SZXdhcmRBdmFpbCA8IDFfMDAwXzAwMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDEyIC8vIDFfMDAwXzAwMAoJPAoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MQoJLy8gbG9nKCchdG9rZW4mJiFub2FsZ28gdG8gcGF5JykKCXB1c2hieXRlcyAweDIxNzQ2ZjZiNjU2ZTI2MjYyMTZlNmY2MTZjNjc2ZjIwNzQ2ZjIwNzA2MTc5IC8vICIhdG9rZW4mJiFub2FsZ28gdG8gcGF5IgoJbG9nCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyOF9lbmQ6CgoqaWYyN19lbmQ6CgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDYKCS8vIGlzUG9vbFNhdHVyYXRlZAoJZnJhbWVfZGlnIDEyIC8vIGlzUG9vbFNhdHVyYXRlZDogYm9vbAoJYnogKmlmMjlfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQ5CgkvLyBkaW1pbmlzaGVkUmV3YXJkID0gd2lkZVJhdGlvKFthbGdvUmV3YXJkQXZhaWwsIGFsZ29TYXR1cmF0aW9uQW10XSwgW3ZhbGlkYXRvclN0YXRlLnRvdGFsQWxnb1N0YWtlZF0pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBhbGdvU2F0dXJhdGlvbkFtdDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDEwIDgKCWJ0b2kKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTEKCS8vIGV4Y2Vzc1RvRmVlU2luayA9IGFsZ29SZXdhcmRBdmFpbCAtIGRpbWluaXNoZWRSZXdhcmQKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgYW1vdW50OiBleGNlc3NUb0ZlZVNpbmssCgkvLyAgICAgICAgIHJlY2VpdmVyOiB0aGlzLmdldEZlZVNpbmsoKSwKCS8vICAgICAgICAgbm90ZTogJ3Bvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsnLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MwoJLy8gYW1vdW50OiBleGNlc3NUb0ZlZVNpbmsKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU0CgkvLyByZWNlaXZlcjogdGhpcy5nZXRGZWVTaW5rKCkKCWNhbGxzdWIgZ2V0RmVlU2luawoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTUKCS8vIG5vdGU6ICdwb29sIHNhdHVyYXRlZCwgZXhjZXNzIHRvIGZlZSBzaW5rJwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmMyMDczNjE3NDc1NzI2MTc0NjU2NDJjMjA2NTc4NjM2NTczNzMyMDc0NmYyMDY2NjU2NTIwNzM2OTZlNmIgLy8gInBvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OAoJLy8gYWxnb1Jld2FyZEF2YWlsID0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OQoJLy8gdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjYyCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW2FsZ29SZXdhcmRBdmFpbCwgdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciBhcyB1aW50NjRdLAoJLy8gICAgICAgICBbMV8wMDBfMDAwXQoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY2OAoJLy8gYWxnb1Jld2FyZEF2YWlsIC09IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0CglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgktCglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njc1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA+IDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3OAoJLy8gbWFuYWdlclRvcE9mZiA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MAoJLy8gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAmJgoJLy8gICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLmJhbGFuY2UgLSB2YWxpZGF0b3JDb25maWcubWFuYWdlci5taW5CYWxhbmNlIDwgMl8xMDBfMDAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDMyCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaW50YyAxMyAvLyAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoJPAoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMjEgLy8gbWFuYWdlclRvcE9mZjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NAoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgYW1vdW50OiBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgICAgICAgbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjIwNzI2NTc3NjE3MjY0MjA3NDZmMjA2ZDYxNmU2MTY3NjU3MjIwNjY2ZjcyMjA2Njc1NmU2NDY5NmU2NzIwNjU3MDZmNjM2ODIwNzU3MDY0NjE3NDY1NzMgLy8gInZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzFfZW5kOgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkwCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCAtIG1hbmFnZXJUb3BPZmYgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoJLQoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2OTEKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcywKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NCAvLyAidmFsaWRhdG9yIHJld2FyZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCippZjMwX2VuZDoKCippZjI5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MDYKCS8vIGluY3JlYXNlZFN0YWtlID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMAoJLy8gYWxnb1Jld2FyZEF2YWlsICE9PSAwIHx8IHRva2VuUmV3YXJkQXZhaWwgIT09IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJfHwKCipza2lwX29yMToKCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzEKCS8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNDAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDE3IC8vIDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzcKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczOAoJLy8gY21wU3Rha2VyLmVudHJ5Um91bmQgPj0gdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPj0KCWJ6ICppZjM2X2Vsc2UKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgliICppZjM2X2VuZAoKKmlmMzZfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NDUKCS8vIHRpbWVJblBvb2wgPSB0aGlzRXBvY2hCZWdpbiAtIGNtcFN0YWtlci5lbnRyeVJvdW5kCglmcmFtZV9kaWcgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCS0KCWZyYW1lX2J1cnkgMjYgLy8gdGltZUluUG9vbDogdWludDY0CgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ5CgkvLyB0aW1lSW5Qb29sIDwgZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk8CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzUwCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MQoJLy8gdGltZVBlcmNlbnRhZ2UgPSAodGltZUluUG9vbCAqIDEwMDApIC8gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxMCAvLyAxMDAwCgltdWx3CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MgoJLy8gdG9rZW5SZXdhcmRBdmFpbCAtPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MwoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAyMCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWYzOF9lbmQ6CgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjYKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsLCB0aW1lUGVyY2VudGFnZV0sCgkvLyAgICAgICAgICAgICAgICAgICBbdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUsIDEwMDBdCgkvLyAgICAgICAgICAgICAgICAgKQoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAyNyAvLyB0aW1lUGVyY2VudGFnZTogdWludDY0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMTAgLy8gMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc3OQoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE5IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjM3X2VuZDoKCippZjM2X2VuZDoKCippZjM1X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMjQgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTEKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgNSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA4IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMgoJLy8gY21wU3Rha2VyLmFjY291bnQgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYgY21wU3Rha2VyLmVudHJ5Um91bmQgPCB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPAoJJiYKCipza2lwX2FuZDQ6CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAzCgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwNQoJLy8gdGltZUluUG9vbCA+PSBlcG9jaFJvdW5kTGVuZ3RoCglmcmFtZV9kaWcgMzMgLy8gdGltZUluUG9vbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCT49CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTAKCS8vIHRva2VuUmV3YXJkQXZhaWwgPiAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxMQoJLy8gc3Rha2VyVG9rZW5SZXdhcmQgPSB3aWRlUmF0aW8oW2NtcFN0YWtlci5iYWxhbmNlLCB0b2tlblJld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNAoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAyMCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNQoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTcKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbyhbY21wU3Rha2VyLmJhbGFuY2UsIGFsZ29SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjEKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE5IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMwoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTEgLy8gICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJYXBwX2dsb2JhbF9nZXQKCSsKCWdsb2JhbCBSb3VuZAoJLQoJZnJhbWVfYnVyeSAzNiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGluY3JlYXNlZFN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPQoJLy8gICAgICAgdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKGluY3JlYXNlZFN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDcKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc3Rha2VVcGRhdGVkVmlhUmV3YXJkcz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ5CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZ29PbmxpbmU6CgkvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIHZvdGVMYXN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHN0YXRlUHJvb2ZQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNlbGVjdGlvblBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gdm90ZVBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZmVlUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxOCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4NQoJLy8gdm90ZVBLOiB2b3RlUEsKCWZyYW1lX2RpZyAtMiAvLyB2b3RlUEs6IGJ5dGVzCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODYKCS8vIHNlbGVjdGlvblBLOiBzZWxlY3Rpb25QSwoJZnJhbWVfZGlnIC0zIC8vIHNlbGVjdGlvblBLOiBieXRlcwoJaXR4bl9maWVsZCBTZWxlY3Rpb25QSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODcKCS8vIHN0YXRlUHJvb2ZQSzogc3RhdGVQcm9vZlBLCglmcmFtZV9kaWcgLTQgLy8gc3RhdGVQcm9vZlBLOiBieXRlcwoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg4CgkvLyB2b3RlRmlyc3Q6IHZvdGVGaXJzdAoJZnJhbWVfZGlnIC01IC8vIHZvdGVGaXJzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODkKCS8vIHZvdGVMYXN0OiB2b3RlTGFzdAoJZnJhbWVfZGlnIC02IC8vIHZvdGVMYXN0OiB1aW50NjQKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkwCgkvLyB2b3RlS2V5RGlsdXRpb246IHZvdGVLZXlEaWx1dGlvbgoJZnJhbWVfZGlnIC03IC8vIHZvdGVLZXlEaWx1dGlvbjogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4OTEKCS8vIGZlZTogdGhpcy5nZXRHb09ubGluZUZlZSgpCgljYWxsc3ViIGdldEdvT25saW5lRmVlCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZ29PZmZsaW5lKCl2b2lkCiphYmlfcm91dGVfZ29PZmZsaW5lOgoJLy8gZXhlY3V0ZSBnb09mZmxpbmUoKXZvaWQKCWNhbGxzdWIgZ29PZmZsaW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09mZmxpbmUoKTogdm9pZAovLwovLyBNYXJrcyBhIHN0YWtpbmcgcG9vbCBrZXkgT0ZGTElORS4KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQpnb09mZmxpbmU6Cglwcm90byAwIDAKCgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDMKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgkhPQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkwNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA3CgkvLyBzZW5kT2ZmbGluZUtleVJlZ2lzdHJhdGlvbih7fSkKCWl0eG5fYmVnaW4KCWludGMgMTggLy8gIGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglwdXNoYnl0ZXMgMHg3NjY1NzI2OTY2Nzk1ZjZlNjY2NDVmNjE2NDY0NzIgLy8gInZlcmlmeV9uZmRfYWRkciIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTE5CgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBieSBwb29scyAhPSAxIC0gY2FsbGluZyBVUywgcG9vbCAjMQovLyBXZSBuZWVkIHRvIHZlcmlmeSB0aGF0IHdlIGFyZSBpbiBmYWN0IGJlaW5nIGNhbGxlZCBieSBhbm90aGVyIG9mIE9VUiBwb29scyAobm90IHVzKQovLyBhbmQgdGhlbiB3ZSdsbCBjYWxsIHRoZSB2YWxpZGF0b3Igb24gdGhlaXIgYmVoYWxmIHRvIHVwZGF0ZSB0aGUgdG9rZW4gcGF5b3V0cwovLyBAcGFyYW0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHVwbGUKcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvcklkLnZhbHVlID09PSBwb29sS2V5LmlkLCAnY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhJykKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CgoJLy8gY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMxCgkvLyBhc3NlcnQodGhpcy5wb29sSWQudmFsdWUgPT09IDEsICdjYWxsZWUgbXVzdCBiZSBwb29sIDEnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBjYWxsZWUgbXVzdCBiZSBwb29sIDEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCAhPT0gMSwgJ2NhbGxlciBtdXN0IE5PVCBiZSBwb29sIDEnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCgkvLyBjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM0CgkvLyBjYWxsZXJQb29sQXBwSUQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFBvb2xBcHBJZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcG9vbEtleS5pZCwgcG9vbEtleS5wb29sSWRdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI0IC8vICBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI1IC8vICBtZXRob2QgInNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCk6IGJvb2xlYW4KaXNPd25lck9yTWFuYWdlckNhbGxlcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OAoJLy8gT3duZXJBbmRNYW5hZ2VyID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDJmYTIyYzRiIC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTAKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTIKCS8vIHJldHVybiB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclswXSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclsxXTsKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIE93bmVyQW5kTWFuYWdlcjogKGFkZHJlc3MsYWRkcmVzcykKCWV4dHJhY3QgMCAzMgoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAzMiAzMgoJPT0KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0RmVlU2luaygpOiBBZGRyZXNzCmdldEZlZVNpbms6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTU2CgkvLyByZXR1cm4gdGhpcy5mZWVTaW5rQWRkcjsKCWJ5dGVjIDIyIC8vIFRNUExfZmVlU2lua0FkZHIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjYKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTY4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTAgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDAKCWIgKmdldEdvT25saW5lRmVlKnJldHVybgoKKmlmNDdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIDA7CglpbnRjIDAgLy8gMAoKKmdldEdvT25saW5lRmVlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5ODUKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBjaGVja0lmQmluQ2xvc2VkKCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHJvdW5kIGlzIGluIGEgJ25ldyBjYWxjdWxhdGlvbiBiaW4nIChhcHByb3hpbWF0ZWx5IGRhaWx5KQpjaGVja0lmQmluQ2xvc2VkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTIKCS8vIGN1cnJlbnRCaW5TaXplID0gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5MwoJLy8gZ2xvYmFscy5yb3VuZCA+PSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyAoY3VycmVudEJpblNpemUgYXMgdWludDY0KQoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDY0Cgk8PQoKCS8vIGN1cnJlbnRCaW5TaXplIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMTQgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoJKwoJPj0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vICppZjQ5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjQ5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTcKCS8vIGFwcHJveFJvdW5kc1BlclllYXI6IHVpbnQxMjggPSBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC8gY3VycmVudEJpblNpemUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMiAvLyBhdmdTdGFrZTogdWludDEyOAoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OQoJLy8gYXZnU3Rha2UgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAwOQoJLy8gYXZnU3Rha2UgPiAzMDAwMDAwMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDVkOTY0YjgwMAoJYj4KCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDEwCgkvLyBhbHBoYSA9IDkwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlYyAyMCAvLyAgImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0CglmcmFtZV9kaWcgNCAvLyBhbHBoYTogdW5zYWZlIHVpbnQxMjgKCWItCgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWZyYW1lX2RpZyAzIC8vIGFwcjogdWludDEyOAoJZnJhbWVfZGlnIDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGVjIDcgLy8gICJzdGFrZUFjY3VtdWxhdG9yIgoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIGFzIHVpbnQxMjgpICogKHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgpIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyA1IC8vIDE2CgktCglzd2FwCglzdWJzdHJpbmczCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIwCgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKKmlmNDhfZW5kOgoJcmV0c3ViCgovLyBzZXRSb3VuZHNQZXJEYXkoKTogdm9pZApzZXRSb3VuZHNQZXJEYXk6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyNgoJLy8gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgPSBBVkdfUk9VTkRTX1BFUl9EQVkKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJcHVzaGludCAzMDg1NwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDdjZmNjMDQgLy8gbWV0aG9kICJpbml0U3RvcmFnZShwYXkpdm9pZCIKCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJcHVzaGJ5dGVzIDB4NDIxYjVhYmUgLy8gbWV0aG9kICJyZW1vdmVTdGFrZShhZGRyZXNzLHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjU4OTJkNTYgLy8gbWV0aG9kICJjbGFpbVRva2Vucygpdm9pZCIKCXB1c2hieXRlcyAweDVjZmJiMDU3IC8vIG1ldGhvZCAiZ2V0U3Rha2VySW5mbyhhZGRyZXNzKShhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg2M2YzZjI4YiAvLyBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODZhMzcyNWMgLy8gbWV0aG9kICJ1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGVmYzI2MDhkIC8vIG1ldGhvZCAiZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDAwZTE0ZmIgLy8gbWV0aG9kICJnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTI0ZTI3MTcgLy8gbWV0aG9kICJsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkIgoJYnl0ZWMgMjYgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA2NCAzMiAxNiAxMjggMjAwIDUgMzAwIDEwMDAgNCAxXzAwMF8wMDAgMl8xMDBfMDAwIDggMTAwMDAwIDQwMCAyIDQwIDQ4IFRNUExfbmZkUmVnaXN0cnlBcHBJZApieXRlY2Jsb2NrIDB4IDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgMHg3Mzc0NjE2YjY1NzI3MyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgMHg3MDZmNmY2YzQ5NjQgMHgwYTgxMDEgMHg3Mzc0NjE2YjY1NjQgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MDAwMDAwMDAwMDAwMDAwMCAweDcyNmY3NTZlNjQ3MzUwNjU3MjQ0NjE3OSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IDB4NzI2NTc3NjE3MjY0NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgMHg3NWFmZjYxZCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgMHg2NTc3NmQ2MSAweDE1MWY3Yzc1IDB4YTJkYzUxYjUgMHg1NzI3NjdkMSAweDRkZjhkODZlIDB4MGMyMjQ1ZTEgMHgwMCBUTVBMX2ZlZVNpbmtBZGRyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpLAoJLy8gICAgICAgJ1RlbXBvcmFyeTogY29udHJhY3QgaXMgdXBncmFkZWFibGUgYnV0IG9ubHkgZHVyaW5nIHRlc3RpbmcgYW5kIG9ubHkgZnJvbSBhIGRldmVsb3BtZW50IGFjY291bnQnCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJcHVzaGludCAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTcKCS8vIHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlID0gY3JlYXRpbmdDb250cmFjdElkCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlYyA0IC8vICAicG9vbElkIgoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjIKCS8vIHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSA9IG1pbkVudHJ5U3Rha2UKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWZyYW1lX2RpZyAtNCAvLyBtaW5FbnRyeVN0YWtlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMwoJLy8gdGhpcy5sYXN0UGF5b3V0LnZhbHVlID0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTQgLy8gICJsYXN0UGF5b3V0IgoJZ2xvYmFsIFJvdW5kCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjQKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgPSAwCglieXRlYyAxOSAvLyAgImVwb2NoTnVtYmVyIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjgKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IDAgYXMgdWludDEyOAoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjkKCS8vIHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgInJld2FyZEFjY3VtdWxhdG9yIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGVjIDIwIC8vICAiZXdtYSIKCWJ5dGVjIDE2IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNDIKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJaW50YyAxNiAvLyA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3IgaW5pdFN0b3JhZ2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBpbml0U3RvcmFnZShwYXkpdm9pZAoJY2FsbHN1YiBpbml0U3RvcmFnZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gaW5pdFN0b3JhZ2UobWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBDYWxsZWQgYWZ0ZXIgd2UncmUgY3JlYXRlZCBhbmQgdGhlbiBmdW5kZWQsIHNvIHdlIGNhbiBjcmVhdGUgb3VyIGxhcmdlIHN0YWtlcnMgbGVkZ2VyIHN0b3JhZ2UKLy8gQ2FsbGVyIGhhcyB0byBnZXQgTUJSIGFtb3VudHMgZnJvbSBWYWxpZGF0b3JSZWdpc3RyeSB0byBrbm93IGhvdyBtdWNoIHRvIGZ1bmQgdXMgdG8gY292ZXIgdGhlIGJveCBzdG9yYWdlIGNvc3QKLy8gSWYgdGhpcyBpcyBwb29sIDEgQU5EIHRoZSB2YWxpZGF0b3IgaGFzIHNwZWNpZmllZCBhIHJld2FyZCB0b2tlbiwgb3B0LWluIHRvIHRoYXQgdG9rZW4KLy8gc28gdGhhdCB0aGUgdmFsaWRhdG9yIGNhbiBzZWVkIHRoZSBwb29sIHdpdGggZnV0dXJlIHJld2FyZHMgb2YgdGhhdCB0b2tlbi4KLy8gQHBhcmFtIG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyBzdGFraW5nIHBvb2xzJyBzdG9yYWdlCmluaXRTdG9yYWdlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTMKCS8vIGFzc2VydCghdGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBhbHJlYWR5IGluaXRpYWxpemVkJykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNSAvLyAgbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1NwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTgKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTYwCgkvLyBpc1Rva2VuRWxpZ2libGUgPSB2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTUzIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJZnJhbWVfYnVyeSAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjEKCS8vIGV4dHJhTUJSID0gaXNUb2tlbkVsaWdpYmxlICYmIHRoaXMucG9vbElkLnZhbHVlID09PSAxID8gQVNTRVRfSE9MRElOR19GRUUgOiAwCglmcmFtZV9kaWcgMSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWR1cAoJYnogKnNraXBfYW5kMAoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnRjIDE1IC8vIDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnRjIDAgLy8gMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50YyAxNSAvLyAxMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGV4dHJhTUJSOiB1aW50NjQKCSsKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWZyYW1lX2J1cnkgMyAvLyBQb29sSW5pdE1icjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OAoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogUG9vbEluaXRNYnIgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgMyAvLyBQb29sSW5pdE1icjogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJQb29sSW5pdE1iciJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTY5CgkvLyB0aGlzLnN0YWtlcnMuY3JlYXRlKCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjgwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzEKCS8vIGlzVG9rZW5FbGlnaWJsZSAmJiB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJZnJhbWVfZGlnIDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCglkdXAKCWJ6ICpza2lwX2FuZDEKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc0CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzUKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc2CgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZWRBbW91bnRQYXltZW50KSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgYWRkU3Rha2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHN0YWtlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBBZGRzIHN0YWtlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgovLyBDYW4gT05MWSBiZSBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdCB0aGF0IGNyZWF0ZWQgdXMKLy8gTXVzdCByZWNlaXZlIHBheW1lbnQgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IGZvciBhbW91bnQgYmVpbmcgc3Rha2VkLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCBwcmlvciBwYXltZW50IGNvbWluZyBmcm9tIHZhbGlkYXRvciBjb250cmFjdCB0byB1cyBvbiBiZWhhbGYgb2Ygc3Rha2VyLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhY2NvdW50IGFkZGluZyBuZXcgc3Rha2UKLy8gQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdGFraW5nIHBvb2wgaXMgZnVsbC4KLy8gQHJldHVybnMge3VpbnQ2NH0gbmV3ICdlbnRyeSByb3VuZCcgcm91bmQgbnVtYmVyIG9mIHN0YWtlIGFkZAphZGRTdGFrZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQodGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBtdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0JykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gc3Rha2UgY2FuIG9ubHkgYmUgYWRkZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTkKCS8vIGFzc2VydChzdGFrZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjAyCgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwNgoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6IkFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoic3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNQoJLy8gZW50cnlSb3VuZCA9IGdsb2JhbHMucm91bmQgKyBBTEdPUkFORF9TVEFLSU5HX0JMT0NLX0RFTEFZCglnbG9iYWwgUm91bmQKCXB1c2hpbnQgMzIwCgkrCglmcmFtZV9idXJ5IDAgLy8gZW50cnlSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNgoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxOAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjIwCgkvLyByb3VuZHNMZWZ0SW5CaW4gPSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSAtIGdsb2JhbHMucm91bmQKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaXRvYgoJZnJhbWVfZGlnIDIgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCgliKwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBpIDwgdGhpcy5zdGFrZXJzLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDkgLy8gMzAwCgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI5CgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMgoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzMKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID0gZW50cnlSb3VuZAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglwdXNoaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzgKCS8vIHJldHVybiBlbnRyeVJvdW5kOwoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CgliICphZGRTdGFrZSpyZXR1cm4KCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNDAKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgY21wU3Rha2VyLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMjoKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQxCgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjRfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQ1CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIFN0YWtpbmcgcG9vbCBmdWxsCgllcnIKCippZjVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1MgoJLy8gYXNzZXJ0KHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50ID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcpCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1NAoJLy8gYXNzZXJ0KHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0uYWNjb3VudCA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyA0IC8vIDMyCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjU1CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gewoJLy8gICAgICAgYWNjb3VudDogc3Rha2VyLAoJLy8gICAgICAgYmFsYW5jZTogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgICB0b3RhbFJld2FyZGVkOiAwLAoJLy8gICAgICAgcmV3YXJkVG9rZW5CYWxhbmNlOiAwLAoJLy8gICAgICAgZW50cnlSb3VuZDogZW50cnlSb3VuZCwKCS8vICAgICB9CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdG9iCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTMgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyA5IC8vIDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTQKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgk9PQoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vICppZjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk1CgkvLyBhbW91bnRUb1Vuc3Rha2UgPT09IDAKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NwoJLy8gYW1vdW50VG9VbnN0YWtlID0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9idXJ5IC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgoqaWY5X2VuZDoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5OQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPCBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCTwKCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIEluc3VmZmljaWVudCBiYWxhbmNlCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDIKCS8vIGNtcFN0YWtlci5iYWxhbmNlIC09IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJLQoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNQoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNgoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA+IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTFfZW5kCgoJLy8gKmlmMTFfY29uc2VxdWVudAoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA4CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzExCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMxNwoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQzCgkvLyBhbW91bnQ6IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDQKCS8vIHJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ1CgkvLyBub3RlOiAndW5zdGFrZWQnCglwdXNoYnl0ZXMgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyAxMyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludGMgMCAvLyAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1OQoJLy8gcm91bmRzTGVmdEluQmluID0gdGhpcy5iaW5Sb3VuZFN0YXJ0LnZhbHVlICsgdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgLSBnbG9iYWxzLnJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJKwoJZ2xvYmFsIFJvdW5kCgktCglmcmFtZV9idXJ5IDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzYwCgkvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOCA9IChhbW91bnRUb1Vuc3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyA1IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgNiAvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAtIHN1YnRyYWN0QW1vdW50CglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY4CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OQoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTZfZW5kCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDAyCgkvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA0CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA3CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA0IC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpLAoJLy8gICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMTEgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDMzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnN0YWtlUmVtb3ZlZD4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIDAsIC8vIG5vIGFsZ28gcmVtb3ZlZAoJLy8gICAgICAgICAgICAgYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkLAoJLy8gICAgICAgICAgICAgZmFsc2UsIC8vIHN0YWtlciBpc24ndCBiZWluZyByZW1vdmVkLgoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MzQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDAgLy8gMAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDQzCgkvLyByZXR1cm47CglyZXRzdWIKCippZjE1X2VuZDoKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCglyZXRzdWIKCi8vIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0U3Rha2VySW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMjEgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgNCAvLyAzMgoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjMKCS8vIHJldHVybiB0aGlzLnN0YWtlcnMudmFsdWVbaV07CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKmdldFN0YWtlckluZm8qcmV0dXJuCgoqaWYxOV9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDU4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoKKmdldFN0YWtlckluZm8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfcGF5VG9rZW5SZXdhcmQ6CgkvLyBhbW91bnRUb1NlbmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHJld2FyZFRva2VuOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VyKSBmb3IgcGF5VG9rZW5SZXdhcmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgcGF5VG9rZW5SZXdhcmQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHBheVRva2VuUmV3YXJkKHN0YWtlcjogQWRkcmVzcywgcmV3YXJkVG9rZW46IHVpbnQ2NCwgYW1vdW50VG9TZW5kOiB1aW50NjQpOiB2b2lkCi8vCi8vIFtJbnRlcm5hbCBwcm90b2NvbCBtZXRob2RdIFJlbW92ZSBhIHNwZWNpZmllZCBhbW91bnQgb2YgJ2NvbW11bml0eSB0b2tlbicgcmV3YXJkcyBmb3IgYSBzdGFrZXIuCi8vIFRoaXMgY2FuIE9OTFkgYmUgY2FsbGVkIGJ5IG91ciB2YWxpZGF0b3IgYW5kIG9ubHkgaWYgd2UncmUgcG9vbCAxIC0gd2l0aCB0aGUgdG9rZW4uCi8vIE5vdGU6IHRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBhcyBwYXJ0IG9mIE9XTkVSIHdhbnRpbmcgdG8gc2VuZCB0aGUgcmV3YXJkIHRva2VucwovLyBzb21ld2hlcmUgZWxzZSAoaWUgaWYgdGhleSdyZSBzdW5zZXR0aW5nIHRoZWlyIHZhbGlkYXRvciBhbmQgbmVlZCB0aGUgcmV3YXJkIHRva2VucyBiYWNrKS4KLy8gSXQncyB1cCB0byB0aGUgdmFsaWRhdG9yIHRvIGVuc3VyZSB0aGF0IHRoZSBiYWxhbmNlIGluIHJld2FyZFRva2VuSGVsZEJhY2sgaXMgaG9ub3JlZC4KLy8gQHBhcmFtIHN0YWtlciAtIHRoZSBzdGFrZXIgYWNjb3VudCB0byBzZW5kIHJld2FyZHMgdG8KLy8gQHBhcmFtIHJld2FyZFRva2VuIC0gaWQgb2YgcmV3YXJkIHRva2VuICh0byBhdm9pZCByZS1lbnRyYW5jeSBpbiBjYWxsaW5nIHZhbGlkYXRvciBiYWNrIHRvIGdldCBpZCkKLy8gQHBhcmFtIGFtb3VudFRvU2VuZCAtIGFtb3VudCB0byBzZW5kIHRoZSBzdGFrZXIgKHRoZXJlIGlzIHNpZ25pZmljYW50IHRydXN0IGhlcmUoISkgLSBhbHNvIHdoeSBvbmx5IHZhbGlkYXRvciBjYW4gY2FsbCB1cwpwYXlUb2tlblJld2FyZDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICd0aGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBtdXN0IGJlIHBvb2wgMSBpbiBvcmRlciB0byBiZSBjYWxsZWQgdG8gcGF5IG91dCB0b2tlbiByZXdhcmRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg2CgkvLyBhc3NlcnQocmV3YXJkVG9rZW4gIT09IDAsICdjYW4gb25seSBjbGFpbSB0b2tlbiByZXdhcmRzIGZyb20gdmFsaWRhdG9yIHRoYXQgaGFzIHRoZW0nKQoJZnJhbWVfZGlnIC0yIC8vIHJld2FyZFRva2VuOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGNhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4OQoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW4pLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJcHVzaGJ5dGVzIDB4NjE2YzY3NmY2NDU2NjU3MiAvLyAiYWxnb2RWZXIiCglmcmFtZV9kaWcgLTEgLy8gYWxnb2RWZXI6IHN0cmluZwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCiphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlOgoJLy8gZXhlY3V0ZSBlcG9jaEJhbGFuY2VVcGRhdGUoKXZvaWQKCWNhbGxzdWIgZXBvY2hCYWxhbmNlVXBkYXRlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlcG9jaEJhbGFuY2VVcGRhdGUoKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBiYWxhbmNlIG9mIHN0YWtlcnMgaW4gdGhlIHBvb2wgYmFzZWQgb24gdGhlIHJlY2VpdmVkICdyZXdhcmRzJyAoY3VycmVudCBiYWxhbmNlIHZzIGtub3duIHN0YWtlZCBiYWxhbmNlKQovLyBzdGFrZXJzIG91dHN0YW5kaW5nIGJhbGFuY2UgaXMgYWRqdXN0ZWQgYmFzZWQgb24gdGhlaXIgJSBvZiBzdGFrZSBhbmQgdGltZSBpbiB0aGUgY3VycmVudCBlcG9jaCAtIHNvIHRoYXQgYmFsYW5jZQovLyBjb21wb3VuZHMgb3ZlciB0aW1lIGFuZCBzdGFrZXIgY2FuIHJlbW92ZSB0aGF0IGFtb3VudCBhdCB3aWxsLgovLyBUaGUgdmFsaWRhdG9yIGlzIHBhaWQgdGhlaXIgcGVyY2VudGFnZSBlYWNoIGVwb2NoIHBheW91dC4KLy8KLy8gTm90ZTogQU5ZT05FIGNhbiBjYWxsIHRoaXMuCmVwb2NoQmFsYW5jZVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDM2CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMAoJLy8gdmFsaWRhdG9yQ29uZmlnID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JDb25maWc+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE1IC8vICBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGVjIDE0IC8vICAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MQoJLy8gaXNUb2tlbkVsaWdpYmxlID0gdmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQgIT09IDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWZyYW1lX2J1cnkgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTUyCgkvLyBwb29sT25lQXBwSUQgPSB0aGlzLmFwcC5pZAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfYnVyeSA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MwoJLy8gcG9vbE9uZUFkZHJlc3MgPSB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSA3IC8vIHBvb2xPbmVBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU4CgkvLyBpc1Rva2VuRWxpZ2libGUKCWZyYW1lX2RpZyA1IC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU5CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSAhPT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyMyAvLyAgbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgMV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjIzX2Vsc2UKCgkvLyAqaWYyM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcxCgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zZXRUb2tlblBheW91dFJhdGlvPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNCAvLyAgbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3MwoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOCAvLyB0b2tlblBheW91dFJhdGlvOiBQb29sVG9rZW5QYXlvdXRSYXRpbwoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc3CgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCkKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc5CgkvLyBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJY29uY2F0Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCippZjIzX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODYKCS8vIHZhbGlkYXRvclN0YXRlID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JTdGF0ZT4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg4CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTAKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB2YWxpZGF0b3JTdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTggOAoJYnRvaQoJZnJhbWVfYnVyeSAxMCAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk2CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgLSB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludGMgMCAvLyAwCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglpbnRjIDE0IC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxNCAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCippZjI2X2VuZDoKCippZjI1X2VuZDoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzNQoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9PT0gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDAKCS8vIGFsZ29SZXdhcmRBdmFpbCA8IDFfMDAwXzAwMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDEyIC8vIDFfMDAwXzAwMAoJPAoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MQoJLy8gbG9nKCchdG9rZW4mJiFub2FsZ28gdG8gcGF5JykKCXB1c2hieXRlcyAweDIxNzQ2ZjZiNjU2ZTI2MjYyMTZlNmY2MTZjNjc2ZjIwNzQ2ZjIwNzA2MTc5IC8vICIhdG9rZW4mJiFub2FsZ28gdG8gcGF5IgoJbG9nCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyOF9lbmQ6CgoqaWYyN19lbmQ6CgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDYKCS8vIGlzUG9vbFNhdHVyYXRlZAoJZnJhbWVfZGlnIDEyIC8vIGlzUG9vbFNhdHVyYXRlZDogYm9vbAoJYnogKmlmMjlfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQ5CgkvLyBkaW1pbmlzaGVkUmV3YXJkID0gd2lkZVJhdGlvKFthbGdvUmV3YXJkQXZhaWwsIGFsZ29TYXR1cmF0aW9uQW10XSwgW3ZhbGlkYXRvclN0YXRlLnRvdGFsQWxnb1N0YWtlZF0pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBhbGdvU2F0dXJhdGlvbkFtdDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDEwIDgKCWJ0b2kKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTEKCS8vIGV4Y2Vzc1RvRmVlU2luayA9IGFsZ29SZXdhcmRBdmFpbCAtIGRpbWluaXNoZWRSZXdhcmQKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgYW1vdW50OiBleGNlc3NUb0ZlZVNpbmssCgkvLyAgICAgICAgIHJlY2VpdmVyOiB0aGlzLmdldEZlZVNpbmsoKSwKCS8vICAgICAgICAgbm90ZTogJ3Bvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsnLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MwoJLy8gYW1vdW50OiBleGNlc3NUb0ZlZVNpbmsKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU0CgkvLyByZWNlaXZlcjogdGhpcy5nZXRGZWVTaW5rKCkKCWNhbGxzdWIgZ2V0RmVlU2luawoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTUKCS8vIG5vdGU6ICdwb29sIHNhdHVyYXRlZCwgZXhjZXNzIHRvIGZlZSBzaW5rJwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmMyMDczNjE3NDc1NzI2MTc0NjU2NDJjMjA2NTc4NjM2NTczNzMyMDc0NmYyMDY2NjU2NTIwNzM2OTZlNmIgLy8gInBvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OAoJLy8gYWxnb1Jld2FyZEF2YWlsID0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OQoJLy8gdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjYyCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW2FsZ29SZXdhcmRBdmFpbCwgdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciBhcyB1aW50NjRdLAoJLy8gICAgICAgICBbMV8wMDBfMDAwXQoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY2OAoJLy8gYWxnb1Jld2FyZEF2YWlsIC09IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0CglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgktCglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njc1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA+IDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3OAoJLy8gbWFuYWdlclRvcE9mZiA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MAoJLy8gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAmJgoJLy8gICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLmJhbGFuY2UgLSB2YWxpZGF0b3JDb25maWcubWFuYWdlci5taW5CYWxhbmNlIDwgMl8xMDBfMDAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDMyCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaW50YyAxMyAvLyAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoJPAoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMjEgLy8gbWFuYWdlclRvcE9mZjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NAoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgYW1vdW50OiBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgICAgICAgbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjIwNzI2NTc3NjE3MjY0MjA3NDZmMjA2ZDYxNmU2MTY3NjU3MjIwNjY2ZjcyMjA2Njc1NmU2NDY5NmU2NzIwNjU3MDZmNjM2ODIwNzU3MDY0NjE3NDY1NzMgLy8gInZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzFfZW5kOgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkwCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCAtIG1hbmFnZXJUb3BPZmYgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoJLQoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2OTEKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcywKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NCAvLyAidmFsaWRhdG9yIHJld2FyZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCippZjMwX2VuZDoKCippZjI5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MDYKCS8vIGluY3JlYXNlZFN0YWtlID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMAoJLy8gYWxnb1Jld2FyZEF2YWlsICE9PSAwIHx8IHRva2VuUmV3YXJkQXZhaWwgIT09IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJfHwKCipza2lwX29yMToKCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzEKCS8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNDAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDE2IC8vIDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzcKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczOAoJLy8gY21wU3Rha2VyLmVudHJ5Um91bmQgPj0gdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPj0KCWJ6ICppZjM2X2Vsc2UKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgliICppZjM2X2VuZAoKKmlmMzZfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NDUKCS8vIHRpbWVJblBvb2wgPSB0aGlzRXBvY2hCZWdpbiAtIGNtcFN0YWtlci5lbnRyeVJvdW5kCglmcmFtZV9kaWcgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCS0KCWZyYW1lX2J1cnkgMjYgLy8gdGltZUluUG9vbDogdWludDY0CgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ5CgkvLyB0aW1lSW5Qb29sIDwgZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk8CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzUwCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MQoJLy8gdGltZVBlcmNlbnRhZ2UgPSAodGltZUluUG9vbCAqIDEwMDApIC8gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxMCAvLyAxMDAwCgltdWx3CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MgoJLy8gdG9rZW5SZXdhcmRBdmFpbCAtPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MwoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWYzOF9lbmQ6CgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjYKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsLCB0aW1lUGVyY2VudGFnZV0sCgkvLyAgICAgICAgICAgICAgICAgICBbdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUsIDEwMDBdCgkvLyAgICAgICAgICAgICAgICAgKQoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAyNyAvLyB0aW1lUGVyY2VudGFnZTogdWludDY0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMTAgLy8gMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc3OQoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjM3X2VuZDoKCippZjM2X2VuZDoKCippZjM1X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMjQgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTEKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgNSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA4IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMgoJLy8gY21wU3Rha2VyLmFjY291bnQgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYgY21wU3Rha2VyLmVudHJ5Um91bmQgPCB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPAoJJiYKCipza2lwX2FuZDQ6CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAzCgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwNQoJLy8gdGltZUluUG9vbCA+PSBlcG9jaFJvdW5kTGVuZ3RoCglmcmFtZV9kaWcgMzMgLy8gdGltZUluUG9vbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCT49CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTAKCS8vIHRva2VuUmV3YXJkQXZhaWwgPiAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxMQoJLy8gc3Rha2VyVG9rZW5SZXdhcmQgPSB3aWRlUmF0aW8oW2NtcFN0YWtlci5iYWxhbmNlLCB0b2tlblJld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNAoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNQoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTcKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbyhbY21wU3Rha2VyLmJhbGFuY2UsIGFsZ29SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjEKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMwoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTEgLy8gICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJYXBwX2dsb2JhbF9nZXQKCSsKCWdsb2JhbCBSb3VuZAoJLQoJZnJhbWVfYnVyeSAzNiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGluY3JlYXNlZFN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPQoJLy8gICAgICAgdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKGluY3JlYXNlZFN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDcKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc3Rha2VVcGRhdGVkVmlhUmV3YXJkcz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ5CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZ29PbmxpbmU6CgkvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIHZvdGVMYXN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHN0YXRlUHJvb2ZQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNlbGVjdGlvblBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gdm90ZVBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZmVlUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxNyAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4NQoJLy8gdm90ZVBLOiB2b3RlUEsKCWZyYW1lX2RpZyAtMiAvLyB2b3RlUEs6IGJ5dGVzCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODYKCS8vIHNlbGVjdGlvblBLOiBzZWxlY3Rpb25QSwoJZnJhbWVfZGlnIC0zIC8vIHNlbGVjdGlvblBLOiBieXRlcwoJaXR4bl9maWVsZCBTZWxlY3Rpb25QSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODcKCS8vIHN0YXRlUHJvb2ZQSzogc3RhdGVQcm9vZlBLCglmcmFtZV9kaWcgLTQgLy8gc3RhdGVQcm9vZlBLOiBieXRlcwoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg4CgkvLyB2b3RlRmlyc3Q6IHZvdGVGaXJzdAoJZnJhbWVfZGlnIC01IC8vIHZvdGVGaXJzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODkKCS8vIHZvdGVMYXN0OiB2b3RlTGFzdAoJZnJhbWVfZGlnIC02IC8vIHZvdGVMYXN0OiB1aW50NjQKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkwCgkvLyB2b3RlS2V5RGlsdXRpb246IHZvdGVLZXlEaWx1dGlvbgoJZnJhbWVfZGlnIC03IC8vIHZvdGVLZXlEaWx1dGlvbjogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4OTEKCS8vIGZlZTogdGhpcy5nZXRHb09ubGluZUZlZSgpCgljYWxsc3ViIGdldEdvT25saW5lRmVlCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZ29PZmZsaW5lKCl2b2lkCiphYmlfcm91dGVfZ29PZmZsaW5lOgoJLy8gZXhlY3V0ZSBnb09mZmxpbmUoKXZvaWQKCWNhbGxzdWIgZ29PZmZsaW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09mZmxpbmUoKTogdm9pZAovLwovLyBNYXJrcyBhIHN0YWtpbmcgcG9vbCBrZXkgT0ZGTElORS4KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQpnb09mZmxpbmU6Cglwcm90byAwIDAKCgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDMKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgkhPQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkwNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA3CgkvLyBzZW5kT2ZmbGluZUtleVJlZ2lzdHJhdGlvbih7fSkKCWl0eG5fYmVnaW4KCWludGMgMTcgLy8gIGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAyMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglwdXNoYnl0ZXMgMHg3NjY1NzI2OTY2Nzk1ZjZlNjY2NDVmNjE2NDY0NzIgLy8gInZlcmlmeV9uZmRfYWRkciIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTE5CgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBieSBwb29scyAhPSAxIC0gY2FsbGluZyBVUywgcG9vbCAjMQovLyBXZSBuZWVkIHRvIHZlcmlmeSB0aGF0IHdlIGFyZSBpbiBmYWN0IGJlaW5nIGNhbGxlZCBieSBhbm90aGVyIG9mIE9VUiBwb29scyAobm90IHVzKQovLyBhbmQgdGhlbiB3ZSdsbCBjYWxsIHRoZSB2YWxpZGF0b3Igb24gdGhlaXIgYmVoYWxmIHRvIHVwZGF0ZSB0aGUgdG9rZW4gcGF5b3V0cwovLyBAcGFyYW0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHVwbGUKcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvcklkLnZhbHVlID09PSBwb29sS2V5LmlkLCAnY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhJykKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CgoJLy8gY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMxCgkvLyBhc3NlcnQodGhpcy5wb29sSWQudmFsdWUgPT09IDEsICdjYWxsZWUgbXVzdCBiZSBwb29sIDEnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBjYWxsZWUgbXVzdCBiZSBwb29sIDEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCAhPT0gMSwgJ2NhbGxlciBtdXN0IE5PVCBiZSBwb29sIDEnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCgkvLyBjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM0CgkvLyBjYWxsZXJQb29sQXBwSUQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFBvb2xBcHBJZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcG9vbEtleS5pZCwgcG9vbEtleS5wb29sSWRdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI0IC8vICBtZXRob2QgInNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCk6IGJvb2xlYW4KaXNPd25lck9yTWFuYWdlckNhbGxlcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OAoJLy8gT3duZXJBbmRNYW5hZ2VyID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDJmYTIyYzRiIC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTAKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTIKCS8vIHJldHVybiB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclswXSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclsxXTsKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIE93bmVyQW5kTWFuYWdlcjogKGFkZHJlc3MsYWRkcmVzcykKCWV4dHJhY3QgMCAzMgoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAzMiAzMgoJPT0KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0RmVlU2luaygpOiBBZGRyZXNzCmdldEZlZVNpbms6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTU2CgkvLyByZXR1cm4gdGhpcy5mZWVTaW5rQWRkcjsKCWJ5dGVjIDI3IC8vIFRNUExfZmVlU2lua0FkZHIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjYKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTY4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTAgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDAKCWIgKmdldEdvT25saW5lRmVlKnJldHVybgoKKmlmNDdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIDA7CglpbnRjIDAgLy8gMAoKKmdldEdvT25saW5lRmVlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5ODUKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBjaGVja0lmQmluQ2xvc2VkKCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHJvdW5kIGlzIGluIGEgJ25ldyBjYWxjdWxhdGlvbiBiaW4nIChhcHByb3hpbWF0ZWx5IGRhaWx5KQpjaGVja0lmQmluQ2xvc2VkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTIKCS8vIGN1cnJlbnRCaW5TaXplID0gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5MwoJLy8gZ2xvYmFscy5yb3VuZCA+PSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyAoY3VycmVudEJpblNpemUgYXMgdWludDY0KQoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDY0Cgk8PQoKCS8vIGN1cnJlbnRCaW5TaXplIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMTQgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoJKwoJPj0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vICppZjQ5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjQ5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTcKCS8vIGFwcHJveFJvdW5kc1BlclllYXI6IHVpbnQxMjggPSBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC8gY3VycmVudEJpblNpemUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMiAvLyBhdmdTdGFrZTogdWludDEyOAoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OQoJLy8gYXZnU3Rha2UgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAwOQoJLy8gYXZnU3Rha2UgPiAzMDAwMDAwMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDVkOTY0YjgwMAoJYj4KCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDEwCgkvLyBhbHBoYSA9IDkwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlYyAyMCAvLyAgImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0CglmcmFtZV9kaWcgNCAvLyBhbHBoYTogdW5zYWZlIHVpbnQxMjgKCWItCgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWZyYW1lX2RpZyAzIC8vIGFwcjogdWludDEyOAoJZnJhbWVfZGlnIDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGVjIDcgLy8gICJzdGFrZUFjY3VtdWxhdG9yIgoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIGFzIHVpbnQxMjgpICogKHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgpIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyA1IC8vIDE2CgktCglzd2FwCglzdWJzdHJpbmczCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIwCgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKKmlmNDhfZW5kOgoJcmV0c3ViCgovLyBzZXRSb3VuZHNQZXJEYXkoKTogdm9pZApzZXRSb3VuZHNQZXJEYXk6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyNgoJLy8gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgPSBBVkdfUk9VTkRTX1BFUl9EQVkKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJcHVzaGludCAzMDg1NwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDdjZmNjMDQgLy8gbWV0aG9kICJpbml0U3RvcmFnZShwYXkpdm9pZCIKCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJcHVzaGJ5dGVzIDB4NDIxYjVhYmUgLy8gbWV0aG9kICJyZW1vdmVTdGFrZShhZGRyZXNzLHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjU4OTJkNTYgLy8gbWV0aG9kICJjbGFpbVRva2Vucygpdm9pZCIKCXB1c2hieXRlcyAweDVjZmJiMDU3IC8vIG1ldGhvZCAiZ2V0U3Rha2VySW5mbyhhZGRyZXNzKShhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg2M2YzZjI4YiAvLyBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODZhMzcyNWMgLy8gbWV0aG9kICJ1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGVmYzI2MDhkIC8vIG1ldGhvZCAiZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDAwZTE0ZmIgLy8gbWV0aG9kICJnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTI0ZTI3MTcgLy8gbWV0aG9kICJsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkIgoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/reti/artifacts/StakingPool.arc56_draft.json b/examples/reti/artifacts/StakingPool.arc56_draft.json index 70690f28a..97c6db774 100644 --- a/examples/reti/artifacts/StakingPool.arc56_draft.json +++ b/examples/reti/artifacts/StakingPool.arc56_draft.json @@ -503,7 +503,7 @@ "approval": { "sourceInfo": [ { - "teal": 11, + "teal": 15, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 1, @@ -511,61 +511,49 @@ ] }, { - "teal": 12, + "teal": 16, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 3, - 4 + 3 ] }, { - "teal": 19, + "teal": 17, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 5, - 6 + 4 ] }, { - "teal": 20, + "teal": 18, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 7 + 5 ] }, { - "teal": 21, + "teal": 19, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 8 + 6, + 7 ] }, { - "teal": 22, + "teal": 20, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 9 + 8 ] }, { - "teal": 23, + "teal": 21, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 9, 10, - 11 - ] - }, - { - "teal": 24, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ - 12 - ] - }, - { - "teal": 25, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ + 11, + 12, 13, 14, 15, @@ -587,65 +575,65 @@ 31, 32, 33, - 34, - 35, - 36, - 37, - 38 + 34 ] }, { - "teal": 29, + "teal": 25, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 39 + 35 ] }, { - "teal": 34, + "teal": 30, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 40, - 41, - 42 + 36, + 37, + 38 ] }, { - "teal": 35, + "teal": 31, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 43 + 39 ] }, { - "teal": 36, + "teal": 32, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 44 + 40 ] }, { - "teal": 40, + "teal": 36, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 45, - 46, - 47 + 41, + 42, + 43 ] }, { - "teal": 47, + "teal": 43, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ - 48, - 49 + 44, + 45 ] }, { - "teal": 48, + "teal": 44, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ + 46, + 47, + 48, + 49, 50, 51, 52, @@ -675,31 +663,43 @@ 76, 77, 78, - 79, - 80, - 81, - 82, - 83 + 79 ] }, { - "teal": 49, + "teal": 45, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ - 84 + 80 ] }, { - "teal": 52, + "teal": 48, "source": "examples/reti/stakingPool.algo.ts:94", "errorMessage": "Temporary: contract is upgradeable but only during testing and only from a development account", "pc": [ - 85 + 81 ] }, { - "teal": 53, + "teal": 49, "source": "examples/reti/stakingPool.algo.ts:93", + "pc": [ + 82 + ] + }, + { + "teal": 54, + "source": "examples/reti/stakingPool.algo.ts:107", + "pc": [ + 83, + 84, + 85 + ] + }, + { + "teal": 55, + "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 86 ] @@ -769,720 +769,720 @@ ] }, { - "teal": 74, + "teal": 72, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ - 103, - 104, - 105 + 103 ] }, { - "teal": 75, + "teal": 82, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ + 104, + 105, 106 ] }, { - "teal": 76, - "source": "examples/reti/stakingPool.algo.ts:107", - "pc": [ - 107 - ] - }, - { - "teal": 86, - "source": "examples/reti/stakingPool.algo.ts:107", - "pc": [ - 108, - 109, - 110 - ] - }, - { - "teal": 91, + "teal": 87, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 111, - 112 + 107, + 108 ] }, { - "teal": 92, + "teal": 88, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 113 + 109 ] }, { - "teal": 93, + "teal": 89, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 114 + 110 ] }, { - "teal": 94, + "teal": 90, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 115, - 116, - 117 + 111, + 112, + 113 ] }, { - "teal": 99, + "teal": 95, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 118, - 119 + 114, + 115 ] }, { - "teal": 100, + "teal": 96, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 120 + 116 ] }, { - "teal": 101, + "teal": 97, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 121 + 117 ] }, { - "teal": 102, + "teal": 98, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 122 + 118 ] }, { - "teal": 106, + "teal": 102, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 123, - 124 + 119, + 120 ] }, { - "teal": 107, + "teal": 103, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 125 + 121 ] }, { - "teal": 108, + "teal": 104, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 126 + 122 ] }, { - "teal": 109, + "teal": 105, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 127 + 123 ] }, { - "teal": 110, + "teal": 106, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 128, - 129, - 130 + 124, + 125, + 126 ] }, { - "teal": 115, + "teal": 111, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 131, - 132 + 127, + 128 ] }, { - "teal": 116, + "teal": 112, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 133 + 129 ] }, { - "teal": 117, + "teal": 113, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 134 + 130 ] }, { - "teal": 118, + "teal": 114, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 135 + 131 ] }, { - "teal": 122, + "teal": 118, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 136, - 137 + 132, + 133 ] }, { - "teal": 123, + "teal": 119, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 138 + 134 ] }, { - "teal": 124, + "teal": 120, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 139 + 135 ] }, { - "teal": 125, + "teal": 121, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 140 + 136 ] }, { - "teal": 130, + "teal": 126, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 141, - 142 + 137, + 138 ] }, { - "teal": 131, + "teal": 127, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 143, - 144, - 145, - 146 + 139, + 140, + 141, + 142 ] }, { - "teal": 132, + "teal": 128, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 147 + 143 ] }, { - "teal": 135, + "teal": 131, "source": "examples/reti/stakingPool.algo.ts:116", "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ - 148 + 144 ] }, { - "teal": 139, + "teal": 135, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 149 + 145 ] }, { - "teal": 140, + "teal": 136, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 150, - 151 + 146, + 147 ] }, { - "teal": 141, + "teal": 137, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 152 + 148 ] }, { - "teal": 145, + "teal": 141, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 153 + 149 ] }, { - "teal": 146, + "teal": 142, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 154, - 155 + 150, + 151 ] }, { - "teal": 147, + "teal": 143, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 156 + 152 ] }, { - "teal": 151, + "teal": 147, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 157, - 158 + 153, + 154 ] }, { - "teal": 152, + "teal": 148, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 159, - 160 + 155, + 156 ] }, { - "teal": 153, + "teal": 149, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 161 + 157 ] }, { - "teal": 157, + "teal": 153, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 162, - 163 + 158, + 159 ] }, { - "teal": 158, + "teal": 154, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 164 + 160 ] }, { - "teal": 159, + "teal": 155, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 165 + 161 ] }, { - "teal": 163, + "teal": 159, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 166, - 167 + 162, + 163 ] }, { - "teal": 164, + "teal": 160, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 168 + 164 ] }, { - "teal": 165, + "teal": 161, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 169 + 165 ] }, { - "teal": 169, + "teal": 165, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 170, - 171 + 166, + 167 ] }, { - "teal": 170, + "teal": 166, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 172, - 173 + 168, + 169 ] }, { - "teal": 171, + "teal": 167, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 174 + 170 ] }, { - "teal": 175, + "teal": 171, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 175, - 176 + 171, + 172 ] }, { - "teal": 176, + "teal": 172, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 177, - 178 + 173, + 174 ] }, { - "teal": 177, + "teal": 173, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 179 + 175 ] }, { - "teal": 181, + "teal": 177, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 180, - 181 + 176, + 177 ] }, { - "teal": 182, + "teal": 178, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 182 + 178 ] }, { - "teal": 183, + "teal": 179, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 183 + 179 ] }, { - "teal": 187, + "teal": 183, "source": "examples/reti/stakingPool.algo.ts:126", "pc": [ - 184, - 185, - 186 + 180, + 181, + 182 ] }, { - "teal": 191, + "teal": 187, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 187, - 188 + 183, + 184 ] }, { - "teal": 192, + "teal": 188, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 189, - 190 + 185, + 186 ] }, { - "teal": 193, + "teal": 189, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 191, - 192 + 187, + 188 ] }, { - "teal": 194, + "teal": 190, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 193, - 194 + 189, + 190 ] }, { - "teal": 195, + "teal": 191, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 195 + 191 ] }, { - "teal": 196, + "teal": 192, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 196 + 192 ] }, { - "teal": 197, + "teal": 193, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 197 + 193 ] }, { - "teal": 198, + "teal": 194, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 198 + 194 ] }, { - "teal": 202, + "teal": 198, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 199, - 200 + 195, + 196 ] }, { - "teal": 203, + "teal": 199, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 201, - 202 + 197, + 198 ] }, { - "teal": 204, + "teal": 200, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 203 + 199 ] }, { - "teal": 208, + "teal": 204, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 204, - 205 + 200, + 201 ] }, { - "teal": 209, + "teal": 205, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 206 + 202 ] }, { - "teal": 210, + "teal": 206, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 207 + 203 ] }, { - "teal": 214, + "teal": 210, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 208, - 209 + 204, + 205 ] }, { - "teal": 215, + "teal": 211, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 210, - 211 + 206, + 207 ] }, { - "teal": 216, + "teal": 212, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 212 + 208 ] }, { - "teal": 217, + "teal": 213, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ - 213 + 209 ] }, { - "teal": 222, + "teal": 218, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 214, - 215, - 216 + 210, + 211, + 212 ] }, { - "teal": 223, + "teal": 219, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 217 + 213 ] }, { - "teal": 224, + "teal": 220, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 218 + 214 ] }, { - "teal": 230, + "teal": 226, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 219, - 220, - 221 + 215, + 216, + 217 ] }, { - "teal": 231, + "teal": 227, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 222 + 218 ] }, { - "teal": 235, + "teal": 231, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ - 223, - 224, - 225 + 219, + 220, + 221 ] }, { - "teal": 239, + "teal": 235, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 226, - 227, - 228 + 222, + 223, + 224 ] }, { - "teal": 240, + "teal": 236, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 229, - 230 + 225, + 226 ] }, { - "teal": 241, + "teal": 237, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 231, - 232 + 227, + 228 ] }, { - "teal": 242, + "teal": 238, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 233 + 229 ] }, { - "teal": 243, + "teal": 239, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 234 + 230 ] }, { - "teal": 244, + "teal": 240, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ - 235 + 231 ] }, { - "teal": 249, + "teal": 245, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 236, - 237 + 232, + 233 ] }, { - "teal": 250, + "teal": 246, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 238 + 234 ] }, { - "teal": 251, + "teal": 247, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 239 + 235 ] }, { - "teal": 252, + "teal": 248, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 240 + 236 + ] + }, + { + "teal": 249, + "source": "examples/reti/stakingPool.algo.ts:152", + "pc": [ + 237, + 238 + ] + }, + { + "teal": 250, + "source": "examples/reti/stakingPool.algo.ts:152", + "pc": [ + 239 ] }, { - "teal": 253, + "teal": 251, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 241, - 242 + 240 ] }, { "teal": 254, "source": "examples/reti/stakingPool.algo.ts:152", + "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction", "pc": [ - 243 + 241 ] }, { - "teal": 255, + "teal": 257, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ + 242, + 243, 244 ] }, { "teal": 258, "source": "examples/reti/stakingPool.algo.ts:152", - "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction", "pc": [ 245 ] }, { - "teal": 261, + "teal": 259, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 246, - 247, - 248 + 246 ] }, { - "teal": 262, + "teal": 269, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ + 247, + 248, 249 ] }, { - "teal": 263, + "teal": 272, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 250 @@ -1493,84 +1493,84 @@ "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 251, - 252, - 253 + 252 ] }, { - "teal": 276, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 277, + "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 254 + 253 ] }, { - "teal": 277, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 278, + "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 255, - 256 + 254 ] }, { - "teal": 281, + "teal": 279, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 257 + 255 ] }, { - "teal": 282, + "teal": 280, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 258 + 256 ] }, { - "teal": 283, + "teal": 281, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 259 + 257 ] }, { "teal": 284, "source": "examples/reti/stakingPool.algo.ts:153", + "errorMessage": "staking pool already initialized", "pc": [ - 260 + 258 ] }, { - "teal": 285, - "source": "examples/reti/stakingPool.algo.ts:153", + "teal": 291, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 261 + 259 ] }, { - "teal": 288, - "source": "examples/reti/stakingPool.algo.ts:153", - "errorMessage": "staking pool already initialized", + "teal": 292, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 262 + 260 ] }, { - "teal": 295, + "teal": 293, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 263 + 261, + 262 ] }, { - "teal": 296, + "teal": 294, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ + 263, 264 ] }, { - "teal": 297, + "teal": 295, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 265, @@ -1578,96 +1578,102 @@ ] }, { - "teal": 298, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 299, + "source": "examples/reti/stakingPool.algo.ts:157", + "pc": [ + 267 + ] + }, + { + "teal": 300, + "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ - 267, 268 ] }, { - "teal": 299, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 301, + "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ 269, 270 ] }, { - "teal": 303, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 305, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 271 ] }, { - "teal": 304, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 306, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 272 ] }, { - "teal": 305, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 307, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ - 273, - 274 + 273 ] }, { - "teal": 309, + "teal": 308, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ + 274, 275 ] }, { - "teal": 310, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 311, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 276 ] }, { - "teal": 311, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 312, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 277 + 277, + 278 ] }, { - "teal": 312, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 315, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 278, 279 ] }, { - "teal": 315, + "teal": 316, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 280 + 280, + 281 ] }, { - "teal": 316, + "teal": 317, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 281, 282 ] }, { - "teal": 319, + "teal": 318, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 283 ] }, { - "teal": 320, + "teal": 319, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 284, @@ -1675,140 +1681,134 @@ ] }, { - "teal": 321, - "source": "examples/reti/stakingPool.algo.ts:156", - "pc": [ - 286 - ] - }, - { - "teal": 322, + "teal": 320, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 287 + 286, + 287, + 288 ] }, { - "teal": 323, + "teal": 321, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 288, - 289 + 289, + 290 ] }, { - "teal": 324, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 325, + "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 290, 291, 292 ] }, { - "teal": 325, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 326, + "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 293, - 294 + 294, + 295 ] }, { - "teal": 329, + "teal": 327, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 295, 296 ] }, { - "teal": 330, + "teal": 328, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 297, - 298, - 299 + 297 ] }, { - "teal": 331, + "teal": 329, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 300 + 298 ] }, { - "teal": 332, + "teal": 330, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 301 + 299, + 300 ] }, { - "teal": 333, - "source": "examples/reti/stakingPool.algo.ts:160", + "teal": 334, + "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 301, 302 ] }, { - "teal": 334, - "source": "examples/reti/stakingPool.algo.ts:160", + "teal": 335, + "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 303, - 304 + 303 ] }, { - "teal": 338, + "teal": 336, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 304, 305, 306 ] }, { - "teal": 339, + "teal": 337, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 307 + 307, + 308 ] }, { - "teal": 340, + "teal": 338, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 308, - 309, - 310 + 309 ] }, { - "teal": 341, + "teal": 339, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 311, - 312 + 310 ] }, { - "teal": 342, + "teal": 340, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 313 + 311 ] }, { - "teal": 343, + "teal": 341, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 314 + 312 ] }, { "teal": 344, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 313, + 314, 315 ] }, @@ -1816,108 +1816,108 @@ "teal": 345, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 316 + 316, + 317 ] }, { - "teal": 348, + "teal": 346, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 317, 318, - 319 + 319, + 320 ] }, { "teal": 349, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 320, 321 ] }, { - "teal": 350, + "teal": 352, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 322, - 323, - 324 + 323 ] }, { - "teal": 353, - "source": "examples/reti/stakingPool.algo.ts:161", + "teal": 359, + "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ + 324, 325 ] }, { - "teal": 356, - "source": "examples/reti/stakingPool.algo.ts:161", + "teal": 360, + "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ 326, 327 ] }, { - "teal": 363, + "teal": 361, "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ - 328, - 329 + 328 ] }, { - "teal": 364, - "source": "examples/reti/stakingPool.algo.ts:164", + "teal": 362, + "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ + 329, 330, 331 ] }, { - "teal": 365, - "source": "examples/reti/stakingPool.algo.ts:163", + "teal": 363, + "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ - 332 + 332, + 333, + 334 ] }, { - "teal": 366, - "source": "examples/reti/stakingPool.algo.ts:165", + "teal": 364, + "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ - 333, - 334, 335 ] }, { - "teal": 367, - "source": "examples/reti/stakingPool.algo.ts:165", + "teal": 365, + "source": "examples/reti/stakingPool.algo.ts:162", "pc": [ 336, - 337, - 338 + 337 ] }, { - "teal": 368, - "source": "examples/reti/stakingPool.algo.ts:164", + "teal": 370, + "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ + 338, 339 ] }, { - "teal": 369, - "source": "examples/reti/stakingPool.algo.ts:162", + "teal": 371, + "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 340, 341 ] }, { - "teal": 374, + "teal": 372, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 342, @@ -1925,38 +1925,38 @@ ] }, { - "teal": 375, + "teal": 373, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 344, - 345 + 344 ] }, { "teal": 376, "source": "examples/reti/stakingPool.algo.ts:168", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 346, - 347 + 345 ] }, { - "teal": 377, + "teal": 379, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 348 + 346, + 347 ] }, { "teal": 380, "source": "examples/reti/stakingPool.algo.ts:168", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ + 348, 349 ] }, { - "teal": 383, + "teal": 381, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 350, @@ -1964,283 +1964,290 @@ ] }, { - "teal": 384, + "teal": 382, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 352, - 353 + 352 ] }, { "teal": 385, "source": "examples/reti/stakingPool.algo.ts:168", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}", "pc": [ - 354, - 355 + 353 ] }, { - "teal": 386, - "source": "examples/reti/stakingPool.algo.ts:168", + "teal": 389, + "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ - 356 + 354 ] }, { - "teal": 389, - "source": "examples/reti/stakingPool.algo.ts:168", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}", + "teal": 390, + "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ + 355, + 356, 357 ] }, { - "teal": 393, + "teal": 391, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 358 ] }, { - "teal": 394, + "teal": 392, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ - 359, - 360, - 361 + 359 ] }, { - "teal": 395, - "source": "examples/reti/stakingPool.algo.ts:169", + "teal": 397, + "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 362 + 360, + 361 ] }, { - "teal": 396, - "source": "examples/reti/stakingPool.algo.ts:169", + "teal": 398, + "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 363 + 362 ] }, { - "teal": 401, + "teal": 399, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ + 363, 364, 365 ] }, { - "teal": 402, + "teal": 400, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 366 + 366, + 367 ] }, { - "teal": 403, + "teal": 401, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 367, - 368, - 369 + 368 ] }, { - "teal": 404, + "teal": 402, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 370, - 371 + 369 ] }, { - "teal": 405, + "teal": 403, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 372 + 370 ] }, { - "teal": 406, + "teal": 404, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 373 + 371 ] }, { "teal": 407, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ + 372, + 373, 374 ] }, { - "teal": 408, - "source": "examples/reti/stakingPool.algo.ts:171", + "teal": 416, + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 375 ] }, { - "teal": 411, - "source": "examples/reti/stakingPool.algo.ts:171", + "teal": 417, + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 376, - 377, - 378 + 377 ] }, { - "teal": 420, + "teal": 418, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ + 378, 379 ] }, { - "teal": 421, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 422, + "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 380, 381 ] }, { - "teal": 422, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 423, + "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 382, - 383 + 383, + 384 ] }, { - "teal": 426, + "teal": 424, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ - 384, 385 ] }, { - "teal": 427, + "teal": 425, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 386, - 387, - 388 + 387 ] }, { - "teal": 428, - "source": "examples/reti/stakingPool.algo.ts:174", + "teal": 429, + "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ + 388, 389 ] }, { - "teal": 429, - "source": "examples/reti/stakingPool.algo.ts:174", + "teal": 430, + "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ 390, 391 ] }, { - "teal": 433, - "source": "examples/reti/stakingPool.algo.ts:175", + "teal": 434, + "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ - 392, - 393 + 392 ] }, { - "teal": 434, - "source": "examples/reti/stakingPool.algo.ts:175", + "teal": 435, + "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ - 394, - 395 + 393, + 394 ] }, { "teal": 438, - "source": "examples/reti/stakingPool.algo.ts:176", + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ - 396 + 395 ] }, { "teal": 439, - "source": "examples/reti/stakingPool.algo.ts:176", + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ - 397, - 398 + 396, + 397 ] }, { "teal": 442, "source": "examples/reti/stakingPool.algo.ts:173", + "pc": [ + 398 + ] + }, + { + "teal": 445, + "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 399 ] }, { - "teal": 443, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 450, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 400, 401 ] }, { - "teal": 446, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 453, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 402 + 402, + 403, + 404 ] }, { - "teal": 449, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 454, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 403 + 405 ] }, { - "teal": 454, + "teal": 455, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 404, - 405 + 406 ] }, { - "teal": 457, + "teal": 456, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 406, 407, 408 ] }, { - "teal": 458, + "teal": 457, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 409 ] }, { - "teal": 459, + "teal": 460, "source": "examples/reti/stakingPool.algo.ts:191", + "errorMessage": "argument 0 (staker) for addStake must be a address", "pc": [ 410 ] }, { - "teal": 460, + "teal": 463, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 411, @@ -2248,118 +2255,111 @@ ] }, { - "teal": 461, + "teal": 464, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 413 ] }, { - "teal": 464, + "teal": 465, "source": "examples/reti/stakingPool.algo.ts:191", - "errorMessage": "argument 0 (staker) for addStake must be a address", "pc": [ 414 ] }, { - "teal": 467, + "teal": 466, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 415, - 416 + 415 ] }, { - "teal": 468, + "teal": 467, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 416, 417 ] }, { - "teal": 469, + "teal": 468, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 418 ] }, { - "teal": 470, + "teal": 469, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 419 ] }, { - "teal": 471, - "source": "examples/reti/stakingPool.algo.ts:191", - "pc": [ - 420, - 421 - ] - }, - { - "teal": 472, + "teal": 472, "source": "examples/reti/stakingPool.algo.ts:191", + "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 422 + 420 ] }, { - "teal": 473, + "teal": 475, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 421, + 422, 423 ] }, { "teal": 476, "source": "examples/reti/stakingPool.algo.ts:191", - "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ 424 ] }, { - "teal": 479, + "teal": 477, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 425, - 426, - 427 + 425 ] }, { - "teal": 480, + "teal": 478, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 428 + 426 ] }, { - "teal": 481, + "teal": 479, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 429 + 427 ] }, { - "teal": 482, + "teal": 480, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 430 + 428 ] }, { - "teal": 483, + "teal": 493, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 429, + 430, 431 ] }, { - "teal": 484, + "teal": 496, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 432 @@ -2370,63 +2370,69 @@ "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 433, - 434, - 435 + 434 ] }, { - "teal": 500, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 501, + "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 436 + 435 ] }, { - "teal": 501, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 502, + "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 437, - 438 + 436 ] }, { - "teal": 505, + "teal": 503, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 439 + 437 ] }, { - "teal": 506, + "teal": 504, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 440 + 438 ] }, { "teal": 507, "source": "examples/reti/stakingPool.algo.ts:192", + "errorMessage": "staking pool must be initialized first", + "pc": [ + 439 + ] + }, + { + "teal": 514, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ + 440, 441 ] }, { - "teal": 508, - "source": "examples/reti/stakingPool.algo.ts:192", + "teal": 515, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 442 ] }, { - "teal": 511, - "source": "examples/reti/stakingPool.algo.ts:192", - "errorMessage": "staking pool must be initialized first", + "teal": 516, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 443 ] }, { - "teal": 518, + "teal": 517, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 444, @@ -2434,98 +2440,98 @@ ] }, { - "teal": 519, + "teal": 518, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 446 ] }, { - "teal": 520, + "teal": 519, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 447 ] }, { - "teal": 521, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 522, + "source": "examples/reti/stakingPool.algo.ts:195", + "errorMessage": "stake can only be added via the validator contract", "pc": [ - 448, - 449 + 448 ] }, { - "teal": 522, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 526, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ + 449, 450 ] }, { - "teal": 523, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 527, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 451 + 451, + 452 ] }, { - "teal": 526, - "source": "examples/reti/stakingPool.algo.ts:195", - "errorMessage": "stake can only be added via the validator contract", + "teal": 528, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 452 + 453 ] }, { - "teal": 530, + "teal": 529, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 453, 454 ] }, { - "teal": 531, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 533, + "source": "examples/reti/stakingPool.algo.ts:202", "pc": [ 455, - 456 + 456, + 457 ] }, { - "teal": 532, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 542, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 457 + 458, + 459 ] }, { - "teal": 533, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 543, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 458 + 460, + 461 ] }, { - "teal": 537, - "source": "examples/reti/stakingPool.algo.ts:202", + "teal": 544, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 459, - 460, - 461 + 462 ] }, { - "teal": 546, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 545, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 462, 463 ] }, { - "teal": 547, + "teal": 546, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 464, @@ -2533,98 +2539,92 @@ ] }, { - "teal": 548, + "teal": 547, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 466 ] }, { - "teal": 549, + "teal": 548, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 467 ] }, - { - "teal": 550, - "source": "examples/reti/stakingPool.algo.ts:207", - "pc": [ - 468, - 469 - ] - }, { "teal": 551, "source": "examples/reti/stakingPool.algo.ts:207", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}", "pc": [ - 470 + 468 ] }, { - "teal": 552, - "source": "examples/reti/stakingPool.algo.ts:207", + "teal": 554, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 471 + 469, + 470 ] }, { "teal": 555, - "source": "examples/reti/stakingPool.algo.ts:207", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}", + "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ + 471, 472 ] }, { - "teal": 558, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 556, + "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ 473, 474 ] }, { - "teal": 559, + "teal": 557, "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ - 475, - 476 + 475 ] }, { "teal": 560, "source": "examples/reti/stakingPool.algo.ts:208", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 477, - 478 + 476 ] }, { - "teal": 561, - "source": "examples/reti/stakingPool.algo.ts:208", + "teal": 563, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 479 + 477, + 478 ] }, { "teal": 564, - "source": "examples/reti/stakingPool.algo.ts:208", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ + 479, 480 ] }, { - "teal": 567, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 565, + "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 481, 482 ] }, { - "teal": 568, + "teal": 566, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 483, @@ -2632,160 +2632,166 @@ ] }, { - "teal": 569, + "teal": 567, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ - 485, - 486 + 485 ] }, { "teal": 570, "source": "examples/reti/stakingPool.algo.ts:209", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}", "pc": [ - 487, - 488 + 486 ] }, { - "teal": 571, - "source": "examples/reti/stakingPool.algo.ts:209", + "teal": 574, + "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 489 + 487, + 488 ] }, { - "teal": 574, - "source": "examples/reti/stakingPool.algo.ts:209", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}", + "teal": 575, + "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 490 + 489, + 490, + 491 ] }, { - "teal": 578, + "teal": 576, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 491, 492 ] }, { - "teal": 579, + "teal": 577, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 493, - 494, - 495 + 494 ] }, { - "teal": 580, - "source": "examples/reti/stakingPool.algo.ts:215", + "teal": 581, + "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ - 496 + 495 ] }, { - "teal": 581, - "source": "examples/reti/stakingPool.algo.ts:215", + "teal": 582, + "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ - 497, - 498 + 496, + 497 ] }, { - "teal": 585, - "source": "examples/reti/stakingPool.algo.ts:216", + "teal": 586, + "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ + 498, 499 ] }, { - "teal": 586, - "source": "examples/reti/stakingPool.algo.ts:216", + "teal": 587, + "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 500, - 501 + 500 ] }, { - "teal": 590, + "teal": 588, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 502, - 503 + 501, + 502 ] }, { - "teal": 591, + "teal": 589, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ + 503, 504 ] }, { - "teal": 592, + "teal": 590, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 505, - 506 + 505 ] }, { - "teal": 593, + "teal": 591, + "source": "examples/reti/stakingPool.algo.ts:218", + "pc": [ + 506, + 507 + ] + }, + { + "teal": 592, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 507, 508 ] }, { - "teal": 594, + "teal": 593, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 509 ] }, { - "teal": 595, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 597, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 510, 511 ] }, { - "teal": 596, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 598, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 512 ] }, { - "teal": 597, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 599, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 513 + 513, + 514 ] }, { - "teal": 601, + "teal": 600, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 514, 515 ] }, { - "teal": 602, + "teal": 601, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 516 ] }, { - "teal": 603, + "teal": 602, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 517, @@ -2793,92 +2799,98 @@ ] }, { - "teal": 604, + "teal": 603, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 519 ] }, { - "teal": 605, + "teal": 604, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 520 + 520, + 521 ] }, { - "teal": 606, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 609, + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 521, - 522 + 522, + 523 ] }, { - "teal": 607, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 610, + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 523 + 524 ] }, { - "teal": 608, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 611, + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 524, 525 ] }, { - "teal": 613, - "source": "examples/reti/stakingPool.algo.ts:221", + "teal": 612, + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 526, 527 ] }, + { + "teal": 613, + "source": "examples/reti/stakingPool.algo.ts:222", + "pc": [ + 528, + 529 + ] + }, { "teal": 614, - "source": "examples/reti/stakingPool.algo.ts:221", + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 528 + 530 ] }, { "teal": 615, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 529 + 531, + 532 ] }, { "teal": 616, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 530, - 531 + 533 ] }, { "teal": 617, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 532, - 533 + 534 ] }, { "teal": 618, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 534 + 535 ] }, { "teal": 619, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 535, 536 ] }, @@ -2893,32 +2905,27 @@ "teal": 621, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 538 - ] - }, - { - "teal": 622, - "source": "examples/reti/stakingPool.algo.ts:222", - "pc": [ + 538, 539 ] }, { - "teal": 623, + "teal": 622, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 540 ] }, { - "teal": 624, + "teal": 625, "source": "examples/reti/stakingPool.algo.ts:222", + "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 541 ] }, { - "teal": 625, + "teal": 626, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 542, @@ -2926,25 +2933,30 @@ ] }, { - "teal": 626, + "teal": 627, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 544 ] }, { - "teal": 629, + "teal": 628, "source": "examples/reti/stakingPool.algo.ts:222", - "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 545 ] }, + { + "teal": 629, + "source": "examples/reti/stakingPool.algo.ts:222", + "pc": [ + 546 + ] + }, { "teal": 630, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 546, 547 ] }, @@ -2952,75 +2964,63 @@ "teal": 631, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 548 + 548, + 549 ] }, { "teal": 632, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 549 + 550 ] }, { "teal": 633, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 550 + 551 ] }, { "teal": 634, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 551 + 552 ] }, { "teal": 635, - "source": "examples/reti/stakingPool.algo.ts:222", + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 552, 553 ] }, { - "teal": 636, - "source": "examples/reti/stakingPool.algo.ts:222", + "teal": 639, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 554 ] }, { - "teal": 637, - "source": "examples/reti/stakingPool.algo.ts:222", - "pc": [ - 555 - ] - }, - { - "teal": 638, - "source": "examples/reti/stakingPool.algo.ts:222", + "teal": 640, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 555, 556 ] }, { - "teal": 639, - "source": "examples/reti/stakingPool.algo.ts:221", - "pc": [ - 557 - ] - }, - { - "teal": 643, + "teal": 645, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 557, 558 ] }, { - "teal": 644, + "teal": 646, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 559, @@ -3028,123 +3028,123 @@ ] }, { - "teal": 649, + "teal": 647, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 561, - 562 + 561 ] }, { - "teal": 650, + "teal": 648, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 562, 563, 564 ] }, { - "teal": 651, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 653, + "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 565 + 565, + 566 ] }, { - "teal": 652, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 654, + "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 566, 567, 568 ] }, { - "teal": 657, + "teal": 655, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 569, - 570 + 569 ] }, { - "teal": 658, + "teal": 656, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ + 570, 571, 572 ] }, { - "teal": 659, - "source": "examples/reti/stakingPool.algo.ts:226", + "teal": 661, + "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 573 ] }, { - "teal": 660, - "source": "examples/reti/stakingPool.algo.ts:226", + "teal": 662, + "source": "examples/reti/stakingPool.algo.ts:227", + "pc": [ + 574 + ] + }, + { + "teal": 663, + "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 574, 575, 576 ] }, { - "teal": 665, + "teal": 664, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 577 ] }, { - "teal": 666, - "source": "examples/reti/stakingPool.algo.ts:227", - "pc": [ - 578 - ] - }, - { - "teal": 667, + "teal": 665, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 579, - 580 + 578, + 579 ] }, { - "teal": 668, + "teal": 666, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ + 580, 581 ] }, { - "teal": 669, + "teal": 667, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 582, - 583 + 582 ] }, { - "teal": 670, + "teal": 668, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 584, - 585 + 583, + 584 ] }, { - "teal": 671, + "teal": 669, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ + 585, 586 ] }, { - "teal": 672, + "teal": 670, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 587, @@ -3152,7 +3152,7 @@ ] }, { - "teal": 673, + "teal": 671, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 589, @@ -3160,130 +3160,130 @@ ] }, { - "teal": 674, + "teal": 672, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 591, - 592 + 591 ] }, { - "teal": 675, - "source": "examples/reti/stakingPool.algo.ts:227", + "teal": 677, + "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 593, - 594 + 592, + 593 ] }, { - "teal": 676, - "source": "examples/reti/stakingPool.algo.ts:227", + "teal": 678, + "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 595 + 594 ] }, { - "teal": 681, + "teal": 679, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 596, - 597 + 595 ] }, { - "teal": 682, + "teal": 680, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 598 + 596 ] }, { - "teal": 683, + "teal": 681, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 599 + 597 ] }, { - "teal": 684, + "teal": 682, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 600 + 598, + 599 ] }, { - "teal": 685, + "teal": 683, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 601 + 600 ] }, { - "teal": 686, + "teal": 684, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 602, - 603 + 601, + 602 ] }, { - "teal": 687, - "source": "examples/reti/stakingPool.algo.ts:229", + "teal": 689, + "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ + 603, 604 ] }, { - "teal": 688, - "source": "examples/reti/stakingPool.algo.ts:229", + "teal": 690, + "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 605, - 606 + 606, + 607 ] }, { - "teal": 693, + "teal": 691, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ - 607, - 608 + 608, + 609 ] }, { - "teal": 694, + "teal": 692, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ - 609, - 610, - 611 + 610 ] }, { - "teal": 695, + "teal": 693, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ + 611, 612, 613 ] }, { - "teal": 696, - "source": "examples/reti/stakingPool.algo.ts:230", + "teal": 698, + "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 614 + 614, + 615 ] }, { - "teal": 697, - "source": "examples/reti/stakingPool.algo.ts:230", + "teal": 699, + "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 615, 616, 617 ] }, { - "teal": 702, + "teal": 700, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 618, @@ -3291,84 +3291,84 @@ ] }, { - "teal": 703, + "teal": 701, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 620, - 621 + 621, + 622 ] }, { - "teal": 704, + "teal": 702, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 622, 623 ] }, { - "teal": 705, + "teal": 703, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 624, - 625, - 626 + 625 ] }, { - "teal": 706, + "teal": 704, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ + 626, 627 ] }, { - "teal": 707, + "teal": 705, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 628, - 629 + 628 ] }, { - "teal": 708, + "teal": 706, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 630, - 631 + 629 ] }, { - "teal": 709, + "teal": 707, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 632 + 630 ] }, { - "teal": 710, + "teal": 708, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 633 + 631, + 632 ] }, { - "teal": 711, - "source": "examples/reti/stakingPool.algo.ts:232", + "teal": 712, + "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ + 633, 634 ] }, { - "teal": 712, - "source": "examples/reti/stakingPool.algo.ts:232", + "teal": 713, + "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 635, 636 ] }, { - "teal": 716, + "teal": 714, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 637, @@ -3376,15 +3376,21 @@ ] }, { - "teal": 717, + "teal": 715, + "source": "examples/reti/stakingPool.algo.ts:233", + "pc": [ + 639 + ] + }, + { + "teal": 716, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ - 639, 640 ] }, { - "teal": 718, + "teal": 717, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 641, @@ -3392,29 +3398,29 @@ ] }, { - "teal": 719, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 721, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 643 + 643, + 644 ] }, { - "teal": 720, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 722, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 644 + 645 ] }, { - "teal": 721, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 723, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 645, 646 ] }, { - "teal": 725, + "teal": 724, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 647, @@ -3422,154 +3428,154 @@ ] }, { - "teal": 726, + "teal": 725, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 649 ] }, { - "teal": 727, + "teal": 726, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 650 + 650, + 651 ] }, { - "teal": 728, + "teal": 727, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 651, 652 ] }, { - "teal": 729, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 731, + "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ - 653 + 653, + 654 ] }, { - "teal": 730, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 732, + "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ - 654, - 655 + 655, + 656, + 657 ] }, { - "teal": 731, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 738, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 656 + 658, + 659 ] }, { - "teal": 735, - "source": "examples/reti/stakingPool.algo.ts:238", + "teal": 739, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 657, - 658 + 660 ] }, { - "teal": 736, - "source": "examples/reti/stakingPool.algo.ts:238", + "teal": 740, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 659, - 660, 661 ] }, + { + "teal": 741, + "source": "examples/reti/stakingPool.algo.ts:240", + "pc": [ + 662 + ] + }, { "teal": 742, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 662, - 663 + 663, + 664, + 665 ] }, { "teal": 743, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 664 + 666, + 667 ] }, { "teal": 744, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 665 + 668, + 669, + 670 ] }, { "teal": 745, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 666 + 671, + 672 ] }, { "teal": 746, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 667, - 668, - 669 + 673 ] }, { "teal": 747, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 670, - 671 - ] - }, - { - "teal": 748, - "source": "examples/reti/stakingPool.algo.ts:240", - "pc": [ - 672, - 673, 674 ] }, { - "teal": 749, + "teal": 750, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 675, - 676 + 676, + 677 ] }, { - "teal": 750, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 755, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 677 + 678, + 679 ] }, { - "teal": 751, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 756, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 678 + 680 ] }, { - "teal": 754, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 757, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 679, - 680, 681 ] }, { - "teal": 759, + "teal": 758, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 682, @@ -3577,29 +3583,29 @@ ] }, { - "teal": 760, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 765, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 684 + 684, + 685 ] }, { - "teal": 761, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 766, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 685 + 686 ] }, { - "teal": 762, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 767, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 686, 687 ] }, { - "teal": 769, + "teal": 768, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 688, @@ -3607,77 +3613,71 @@ ] }, { - "teal": 770, + "teal": 769, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 690 + 690, + 691, + 692 ] }, { - "teal": 771, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 775, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 691 + 693, + 694 ] }, { - "teal": 772, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 776, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 692, - 693 + 695 ] }, { - "teal": 773, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 777, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 694, - 695, 696 ] }, { - "teal": 779, + "teal": 778, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 697, - 698 - ] - }, - { - "teal": 780, - "source": "examples/reti/stakingPool.algo.ts:245", - "pc": [ + 698, 699 ] }, { - "teal": 781, - "source": "examples/reti/stakingPool.algo.ts:245", + "teal": 782, + "source": "examples/reti/stakingPool.algo.ts:247", + "errorMessage": "Staking pool full", "pc": [ 700 ] }, { - "teal": 782, - "source": "examples/reti/stakingPool.algo.ts:245", + "teal": 787, + "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 701, - 702, - 703 + 702 ] }, { - "teal": 786, - "source": "examples/reti/stakingPool.algo.ts:247", - "errorMessage": "Staking pool full", + "teal": 788, + "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ + 703, 704 ] }, { - "teal": 791, + "teal": 789, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 705, @@ -3685,48 +3685,60 @@ ] }, { - "teal": 792, + "teal": 790, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ - 707, - 708 + 707 ] }, { - "teal": 793, + "teal": 791, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ - 709, - 710 + 708 ] }, { "teal": 794, "source": "examples/reti/stakingPool.algo.ts:252", + "errorMessage": "must stake at least the minimum for this pool", + "pc": [ + 709 + ] + }, + { + "teal": 798, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ + 710, 711 ] }, { - "teal": 795, - "source": "examples/reti/stakingPool.algo.ts:252", + "teal": 799, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 712 ] }, { - "teal": 798, - "source": "examples/reti/stakingPool.algo.ts:252", - "errorMessage": "must stake at least the minimum for this pool", + "teal": 800, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 713 ] }, + { + "teal": 801, + "source": "examples/reti/stakingPool.algo.ts:254", + "pc": [ + 714 + ] + }, { "teal": 802, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 714, 715 ] }, @@ -3748,284 +3760,272 @@ "teal": 805, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 718 + 718, + 719 ] }, { "teal": 806, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 719 + 720 ] }, { "teal": 807, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 720 + 721, + 722 ] }, { "teal": 808, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 721 + 723 ] }, { "teal": 809, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 722, - 723 + 724, + 725 ] }, { "teal": 810, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 724 - ] - }, - { - "teal": 811, - "source": "examples/reti/stakingPool.algo.ts:254", - "pc": [ - 725, 726 ] }, { - "teal": 812, + "teal": 811, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 727 ] }, { - "teal": 813, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 821, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 728, 729 ] }, { - "teal": 814, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 822, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 730 ] }, { - "teal": 815, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 823, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 731 ] }, + { + "teal": 824, + "source": "examples/reti/stakingPool.algo.ts:255", + "pc": [ + 732 + ] + }, { "teal": 825, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ - 732, 733 ] }, { "teal": 826, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:256", "pc": [ - 734 + 734, + 735 ] }, { "teal": 827, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 735 + 736, + 737 ] }, { "teal": 828, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 736 + 738, + 739 ] }, { "teal": 829, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 737 + 740 ] }, { "teal": 830, - "source": "examples/reti/stakingPool.algo.ts:256", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 738, - 739 + 741 ] }, { "teal": 831, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ - 740, - 741 + 742, + 743 ] }, { "teal": 832, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ - 742, - 743 + 744 ] }, { "teal": 833, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ - 744 + 745, + 746 ] }, { "teal": 834, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ - 745 + 747 ] }, { "teal": 835, - "source": "examples/reti/stakingPool.algo.ts:258", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 746, - 747 + 748, + 749 ] }, { "teal": 836, - "source": "examples/reti/stakingPool.algo.ts:258", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 748 + 750 ] }, { "teal": 837, - "source": "examples/reti/stakingPool.algo.ts:259", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 749, - 750 + 751 ] }, { "teal": 838, - "source": "examples/reti/stakingPool.algo.ts:259", + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ - 751 + 752 ] }, { "teal": 839, - "source": "examples/reti/stakingPool.algo.ts:260", - "pc": [ - 752, - 753 - ] - }, - { - "teal": 840, - "source": "examples/reti/stakingPool.algo.ts:260", + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ + 753, 754 ] }, { - "teal": 841, - "source": "examples/reti/stakingPool.algo.ts:260", + "teal": 840, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 755 ] }, { - "teal": 842, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 844, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 756 + 756, + 757 ] }, { - "teal": 843, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 845, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 757, 758 ] }, { - "teal": 844, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 846, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 759 ] }, { - "teal": 848, + "teal": 847, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 760, - 761 + 760 ] }, { - "teal": 849, + "teal": 848, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ + 761, 762 ] }, { - "teal": 850, + "teal": 849, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 763 ] }, { - "teal": 851, + "teal": 850, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 764 ] }, { - "teal": 852, - "source": "examples/reti/stakingPool.algo.ts:262", + "teal": 854, + "source": "examples/reti/stakingPool.algo.ts:263", "pc": [ 765, 766 ] }, { - "teal": 853, - "source": "examples/reti/stakingPool.algo.ts:262", - "pc": [ - 767 - ] - }, - { - "teal": 854, - "source": "examples/reti/stakingPool.algo.ts:262", + "teal": 858, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 767, 768 ] }, { - "teal": 858, - "source": "examples/reti/stakingPool.algo.ts:263", + "teal": 861, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 769, 770 @@ -4035,21 +4035,21 @@ "teal": 862, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 771, - 772 + 771 ] }, { - "teal": 865, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 867, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 772, 773, 774 ] }, { - "teal": 866, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 868, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 775 ] @@ -4071,69 +4071,69 @@ ] }, { - "teal": 875, + "teal": 873, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 780, - 781, - 782 + 780 ] }, { - "teal": 876, + "teal": 874, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 783 + 781, + 782 ] }, { - "teal": 877, + "teal": 875, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 784 + 783 ] }, { "teal": 878, "source": "examples/reti/stakingPool.algo.ts:277", + "errorMessage": "argument 1 (staker) for removeStake must be a address", "pc": [ - 785, - 786 + 784 ] }, { - "teal": 879, + "teal": 881, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 785, + 786, 787 ] }, { "teal": 882, "source": "examples/reti/stakingPool.algo.ts:277", - "errorMessage": "argument 1 (staker) for removeStake must be a address", "pc": [ 788 ] }, { - "teal": 885, + "teal": 883, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 789, - 790, - 791 + 789 ] }, { - "teal": 886, + "teal": 897, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 790, + 791, 792 ] }, { - "teal": 887, + "teal": 900, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 793 @@ -4144,60 +4144,61 @@ "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 794, - 795, - 796 + 795 ] }, { - "teal": 904, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 906, + "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ + 796, 797 ] }, { - "teal": 905, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 907, + "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 798, 799 ] }, { - "teal": 910, + "teal": 908, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ - 800, - 801 + 800 ] }, { - "teal": 911, + "teal": 909, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ + 801, 802, 803 ] }, { - "teal": 912, - "source": "examples/reti/stakingPool.algo.ts:280", + "teal": 917, + "source": "examples/reti/stakingPool.algo.ts:282", "pc": [ - 804 + 804, + 805, + 806 ] }, { - "teal": 913, - "source": "examples/reti/stakingPool.algo.ts:280", + "teal": 920, + "source": "examples/reti/stakingPool.algo.ts:281", + "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator", "pc": [ - 805, - 806, 807 ] }, { - "teal": 921, - "source": "examples/reti/stakingPool.algo.ts:282", + "teal": 925, + "source": "examples/reti/stakingPool.algo.ts:287", "pc": [ 808, 809, @@ -4205,31 +4206,30 @@ ] }, { - "teal": 924, - "source": "examples/reti/stakingPool.algo.ts:281", - "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator", + "teal": 929, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 811 ] }, { - "teal": 929, - "source": "examples/reti/stakingPool.algo.ts:287", + "teal": 930, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 812, - 813, - 814 + 813 ] }, { - "teal": 933, + "teal": 935, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ + 814, 815 ] }, { - "teal": 934, + "teal": 936, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 816, @@ -4237,123 +4237,123 @@ ] }, { - "teal": 939, + "teal": 937, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ - 818, - 819 + 818 ] }, { - "teal": 940, + "teal": 938, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ + 819, 820, 821 ] }, { - "teal": 941, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 943, + "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 822 + 822, + 823 ] }, { - "teal": 942, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 944, + "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 823, 824, 825 ] }, { - "teal": 947, + "teal": 945, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 826, - 827 + 826 ] }, { - "teal": 948, + "teal": 946, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ + 827, 828, 829 ] }, { - "teal": 949, - "source": "examples/reti/stakingPool.algo.ts:290", + "teal": 951, + "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 830 ] }, { - "teal": 950, - "source": "examples/reti/stakingPool.algo.ts:290", + "teal": 952, + "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 831, - 832, - 833 + 831 ] }, { - "teal": 955, + "teal": 953, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 834 + 832, + 833 ] }, { - "teal": 956, + "teal": 954, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 835 + 834 ] }, { - "teal": 957, + "teal": 955, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 836, - 837 + 835, + 836 ] }, { - "teal": 958, + "teal": 956, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ + 837, 838 ] }, { - "teal": 959, + "teal": 957, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 839, - 840 + 839 ] }, { - "teal": 960, + "teal": 958, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 841, - 842 + 840, + 841 ] }, { - "teal": 961, + "teal": 959, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ + 842, 843 ] }, { - "teal": 962, + "teal": 960, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 844, @@ -4361,7 +4361,7 @@ ] }, { - "teal": 963, + "teal": 961, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 846, @@ -4369,249 +4369,249 @@ ] }, { - "teal": 964, + "teal": 962, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 848, - 849 + 848 ] }, { - "teal": 965, - "source": "examples/reti/stakingPool.algo.ts:291", + "teal": 967, + "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 850, - 851 + 849, + 850 ] }, { - "teal": 966, - "source": "examples/reti/stakingPool.algo.ts:291", + "teal": 968, + "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 852 + 851 ] }, { - "teal": 971, + "teal": 969, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 853, - 854 + 852 ] }, { - "teal": 972, + "teal": 970, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 855 + 853 ] }, { - "teal": 973, + "teal": 971, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 856 + 854 ] }, { - "teal": 974, + "teal": 972, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 857 + 855, + 856 ] }, { - "teal": 975, + "teal": 973, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 858 + 857 ] }, { - "teal": 976, + "teal": 974, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 859, - 860 + 858, + 859 ] }, { - "teal": 977, - "source": "examples/reti/stakingPool.algo.ts:293", + "teal": 979, + "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ + 860, 861 ] }, { - "teal": 978, - "source": "examples/reti/stakingPool.algo.ts:293", + "teal": 980, + "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 862, - 863 + 863, + 864 ] }, { - "teal": 983, + "teal": 981, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ - 864, - 865 + 865, + 866 ] }, { - "teal": 984, + "teal": 982, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ - 866, - 867, - 868 + 867 ] }, { - "teal": 985, + "teal": 983, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ + 868, 869, 870 ] }, { - "teal": 986, - "source": "examples/reti/stakingPool.algo.ts:294", + "teal": 989, + "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 871 + 871, + 872 ] }, { - "teal": 987, - "source": "examples/reti/stakingPool.algo.ts:294", + "teal": 990, + "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 872, - 873, - 874 + 873 ] }, { - "teal": 993, + "teal": 991, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 875, - 876 + 874 ] }, { - "teal": 994, + "teal": 992, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ + 875, + 876, 877 ] }, { - "teal": 995, - "source": "examples/reti/stakingPool.algo.ts:295", + "teal": 997, + "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 878 + 878, + 879 ] }, { - "teal": 996, - "source": "examples/reti/stakingPool.algo.ts:295", + "teal": 998, + "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 879, 880, - 881 + 881, + 882 ] }, { - "teal": 1001, + "teal": 999, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 882, 883 ] }, { - "teal": 1002, + "teal": 1000, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 884, - 885, - 886 + 885 ] }, { - "teal": 1003, - "source": "examples/reti/stakingPool.algo.ts:297", + "teal": 1006, + "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ + 886, 887 ] }, { - "teal": 1004, - "source": "examples/reti/stakingPool.algo.ts:297", + "teal": 1007, + "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 888, - 889 + 889, + 890 ] }, { - "teal": 1010, + "teal": 1008, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ - 890, 891 ] }, { - "teal": 1011, + "teal": 1009, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 892, - 893, - 894 + 893 ] }, { - "teal": 1012, + "teal": 1010, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ - 895 + 894 ] }, { - "teal": 1013, + "teal": 1011, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ + 895, 896, 897 ] }, { - "teal": 1014, - "source": "examples/reti/stakingPool.algo.ts:299", + "teal": 1015, + "source": "examples/reti/stakingPool.algo.ts:300", + "errorMessage": "Insufficient balance", "pc": [ 898 ] }, { - "teal": 1015, - "source": "examples/reti/stakingPool.algo.ts:299", + "teal": 1020, + "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 899, - 900, - 901 + 900 ] }, { - "teal": 1019, - "source": "examples/reti/stakingPool.algo.ts:300", - "errorMessage": "Insufficient balance", + "teal": 1021, + "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ + 901, 902 ] }, { - "teal": 1024, + "teal": 1022, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 903, @@ -4619,242 +4619,242 @@ ] }, { - "teal": 1025, + "teal": 1023, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 905, - 906 + 906, + 907 ] }, { - "teal": 1026, + "teal": 1024, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 907, 908 ] }, { - "teal": 1027, + "teal": 1025, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 909, - 910, - 911 + 910 ] }, { - "teal": 1028, + "teal": 1026, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 912 + 911 ] }, { - "teal": 1029, + "teal": 1027, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 913, - 914 + 912 ] }, { - "teal": 1030, + "teal": 1028, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 915 + 913 ] }, { - "teal": 1031, + "teal": 1029, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 916 + 914, + 915 ] }, { - "teal": 1032, - "source": "examples/reti/stakingPool.algo.ts:302", + "teal": 1033, + "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ + 916, 917 ] }, { - "teal": 1033, - "source": "examples/reti/stakingPool.algo.ts:302", + "teal": 1034, + "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 918, - 919 + 918 ] }, { - "teal": 1037, + "teal": 1035, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 920, - 921 + 919, + 920 ] }, { - "teal": 1038, + "teal": 1036, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 922 + 921 ] }, { - "teal": 1039, + "teal": 1037, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 923, - 924 + 922, + 923 ] }, { - "teal": 1040, + "teal": 1038, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 925 + 924 ] }, { - "teal": 1041, + "teal": 1039, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 926, - 927 + 925 ] }, { - "teal": 1042, - "source": "examples/reti/stakingPool.algo.ts:303", + "teal": 1043, + "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ - 928 + 926 ] }, { - "teal": 1043, - "source": "examples/reti/stakingPool.algo.ts:303", + "teal": 1044, + "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ - 929 + 927, + 928 ] }, { - "teal": 1047, - "source": "examples/reti/stakingPool.algo.ts:305", + "teal": 1049, + "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ + 929, 930 ] }, { - "teal": 1048, - "source": "examples/reti/stakingPool.algo.ts:305", + "teal": 1050, + "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 931, - 932 + 932, + 933 ] }, { - "teal": 1053, + "teal": 1051, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 933, 934 ] }, { - "teal": 1054, + "teal": 1052, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 935, - 936, - 937 + 935 ] }, { - "teal": 1055, + "teal": 1053, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 938 + 936 ] }, { - "teal": 1056, + "teal": 1054, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ + 937, + 938, 939 ] }, { - "teal": 1057, - "source": "examples/reti/stakingPool.algo.ts:306", + "teal": 1060, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 940 + 940, + 941 ] }, { - "teal": 1058, - "source": "examples/reti/stakingPool.algo.ts:306", + "teal": 1061, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 941, - 942, - 943 + 942 ] }, { - "teal": 1064, + "teal": 1062, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 944, - 945 + 943 ] }, { - "teal": 1065, + "teal": 1063, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 946 + 944 ] }, { - "teal": 1066, + "teal": 1064, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ + 945, + 946, 947 ] }, { - "teal": 1067, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1072, + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 948 ] }, { - "teal": 1068, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1073, + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 949, - 950, - 951 + 949 ] }, { - "teal": 1076, + "teal": 1074, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 952 + 950, + 951 ] }, { - "teal": 1077, + "teal": 1075, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ + 952, 953 ] }, { - "teal": 1078, + "teal": 1076, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 954, @@ -4862,300 +4862,300 @@ ] }, { - "teal": 1079, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1080, + "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 956, - 957 + 956 ] }, { - "teal": 1080, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1081, + "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 958, - 959 + 957 ] }, { - "teal": 1084, + "teal": 1082, "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 960 + 958, + 959 ] }, { - "teal": 1085, - "source": "examples/reti/stakingPool.algo.ts:310", + "teal": 1086, + "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 961 + 960 ] }, { - "teal": 1086, - "source": "examples/reti/stakingPool.algo.ts:310", + "teal": 1087, + "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 962, - 963 + 961 ] }, { - "teal": 1090, + "teal": 1088, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 964 + 962 ] }, { - "teal": 1091, + "teal": 1089, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 965 + 963, + 964 ] }, { "teal": 1092, - "source": "examples/reti/stakingPool.algo.ts:311", + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 966 + 965 ] }, { "teal": 1093, - "source": "examples/reti/stakingPool.algo.ts:311", + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 967, - 968 + 966, + 967 ] }, { "teal": 1096, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 969 + 968 ] }, { "teal": 1097, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 970, - 971 + 969, + 970 ] }, { - "teal": 1100, + "teal": 1098, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 972 + 971 ] }, { - "teal": 1101, + "teal": 1099, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 973, - 974 + 972 ] }, { - "teal": 1102, + "teal": 1100, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 975 + 973, + 974 ] }, { - "teal": 1103, + "teal": 1101, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 976 + 975, + 976, + 977 ] }, { - "teal": 1104, + "teal": 1102, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 977, - 978 + 978, + 979 ] }, { - "teal": 1105, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1110, + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 979, - 980, - 981 + 980 ] }, { - "teal": 1106, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1111, + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 982, - 983 + 981, + 982 ] }, { - "teal": 1114, + "teal": 1112, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ + 983, 984 ] }, { - "teal": 1115, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1116, + "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 985, 986 ] }, { - "teal": 1116, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1117, + "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 987, - 988 + 988, + 989 ] }, { - "teal": 1120, + "teal": 1118, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ - 989, 990 ] }, { - "teal": 1121, + "teal": 1119, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 991, - 992, - 993 + 992 ] }, { - "teal": 1122, - "source": "examples/reti/stakingPool.algo.ts:318", + "teal": 1123, + "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ + 993, 994 ] }, { - "teal": 1123, - "source": "examples/reti/stakingPool.algo.ts:318", + "teal": 1124, + "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ 995, 996 ] }, { - "teal": 1127, - "source": "examples/reti/stakingPool.algo.ts:319", + "teal": 1128, + "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 997, 998 ] }, { - "teal": 1128, - "source": "examples/reti/stakingPool.algo.ts:319", + "teal": 1129, + "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 999, - 1000 + 1000, + 1001 ] }, { - "teal": 1132, + "teal": 1130, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ - 1001, 1002 ] }, { - "teal": 1133, + "teal": 1131, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 1003, - 1004, - 1005 + 1004 ] }, { "teal": 1134, - "source": "examples/reti/stakingPool.algo.ts:320", + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1006 + 1005 ] }, { "teal": 1135, - "source": "examples/reti/stakingPool.algo.ts:320", + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1007, - 1008 + 1006, + 1007 ] }, { "teal": 1138, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1009 + 1008 ] }, { - "teal": 1139, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1142, + "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1010, - 1011 + 1009, + 1010 ] }, { - "teal": 1142, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1143, + "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1012 + 1011, + 1012, + 1013 ] }, { - "teal": 1146, + "teal": 1144, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1013, 1014 ] }, { - "teal": 1147, + "teal": 1145, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1015, - 1016, - 1017 + 1016 ] }, { - "teal": 1148, - "source": "examples/reti/stakingPool.algo.ts:322", + "teal": 1149, + "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ + 1017, 1018 ] }, { - "teal": 1149, - "source": "examples/reti/stakingPool.algo.ts:322", + "teal": 1150, + "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1019, 1020 ] }, { - "teal": 1153, + "teal": 1151, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1021, @@ -5163,7 +5163,7 @@ ] }, { - "teal": 1154, + "teal": 1152, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1023, @@ -5171,64 +5171,64 @@ ] }, { - "teal": 1155, - "source": "examples/reti/stakingPool.algo.ts:323", + "teal": 1153, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 1025, - 1026 + 1026, + 1027 ] }, { - "teal": 1156, - "source": "examples/reti/stakingPool.algo.ts:323", + "teal": 1158, + "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1027, - 1028 + 1028, + 1029 ] }, { - "teal": 1157, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1159, + "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1029, 1030, - 1031 + 1031, + 1032 ] }, { - "teal": 1162, + "teal": 1160, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1032, 1033 ] }, { - "teal": 1163, + "teal": 1161, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1034, - 1035, - 1036 + 1035 ] }, { - "teal": 1164, - "source": "examples/reti/stakingPool.algo.ts:328", + "teal": 1165, + "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ + 1036, 1037 ] }, { - "teal": 1165, - "source": "examples/reti/stakingPool.algo.ts:328", + "teal": 1166, + "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1038, 1039 ] }, { - "teal": 1169, + "teal": 1167, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1040, @@ -5236,7 +5236,7 @@ ] }, { - "teal": 1170, + "teal": 1168, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1042, @@ -5244,389 +5244,389 @@ ] }, { - "teal": 1171, - "source": "examples/reti/stakingPool.algo.ts:329", + "teal": 1178, + "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1044, 1045 ] }, { - "teal": 1172, - "source": "examples/reti/stakingPool.algo.ts:329", + "teal": 1179, + "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1046, - 1047 + 1047, + 1048 ] }, { - "teal": 1182, + "teal": 1180, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1048, 1049 ] }, { - "teal": 1183, + "teal": 1181, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1050, - 1051, - 1052 + 1050 ] }, { - "teal": 1184, + "teal": 1182, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1053 + 1051 ] }, { - "teal": 1185, + "teal": 1183, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1054 + 1052 ] }, { - "teal": 1186, + "teal": 1184, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ + 1053, + 1054, 1055 ] }, { - "teal": 1187, + "teal": 1185, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1056 + 1056, + 1057 ] }, { - "teal": 1188, + "teal": 1186, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1057, 1058, - 1059 + 1059, + 1060 ] }, { - "teal": 1189, + "teal": 1187, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1060, 1061 ] }, { - "teal": 1190, + "teal": 1188, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1062, - 1063, - 1064 - ] - }, - { - "teal": 1191, - "source": "examples/reti/stakingPool.algo.ts:335", - "pc": [ - 1065 + 1063 ] }, { - "teal": 1192, + "teal": 1189, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1066, - 1067 + 1064 ] }, { - "teal": 1193, + "teal": 1190, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1068 + 1065 ] }, { - "teal": 1194, + "teal": 1191, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1069 + 1066 ] }, { "teal": 1195, - "source": "examples/reti/stakingPool.algo.ts:335", - "pc": [ - 1070 - ] - }, - { - "teal": 1199, "source": "examples/reti/stakingPool.algo.ts:334", "errorMessage": "cannot reduce balance below minimum allowed stake unless all is removed", "pc": [ - 1071 + 1067 ] }, { - "teal": 1207, + "teal": 1203, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1072 + 1068 ] }, { - "teal": 1208, + "teal": 1204, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1073 + 1069 ] }, { - "teal": 1209, + "teal": 1205, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1074, - 1075 + 1070, + 1071 ] }, { - "teal": 1213, + "teal": 1209, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ - 1076, - 1077 + 1072, + 1073 ] }, { - "teal": 1214, + "teal": 1210, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ - 1078, - 1079 + 1074, + 1075 ] }, { - "teal": 1218, + "teal": 1214, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ - 1080, - 1081 + 1076, + 1077 ] }, { - "teal": 1219, + "teal": 1215, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ - 1082, - 1083 + 1078, + 1079 ] }, { - "teal": 1223, + "teal": 1219, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ + 1080, + 1081, + 1082, + 1083, 1084, 1085, 1086, 1087, 1088, - 1089, - 1090, - 1091, - 1092, - 1093 + 1089 ] }, { - "teal": 1224, + "teal": 1220, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ - 1094, - 1095 + 1090, + 1091 ] }, { - "teal": 1227, + "teal": 1223, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1096 + 1092 ] }, { - "teal": 1228, + "teal": 1224, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1097, - 1098 + 1093, + 1094 ] }, { - "teal": 1231, + "teal": 1227, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1099 + 1095 ] }, { - "teal": 1235, + "teal": 1231, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ - 1100 + 1096 ] }, { - "teal": 1236, + "teal": 1232, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ - 1101, - 1102 + 1097, + 1098 ] }, { - "teal": 1241, + "teal": 1237, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1103, - 1104 + 1099, + 1100 ] }, { - "teal": 1242, + "teal": 1238, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1105, - 1106, - 1107 + 1101, + 1102, + 1103 ] }, { - "teal": 1243, + "teal": 1239, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1108 + 1104 ] }, { - "teal": 1244, + "teal": 1240, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1109 + 1105 ] }, { - "teal": 1245, + "teal": 1241, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1110 + 1106 ] }, { - "teal": 1246, + "teal": 1242, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1111, - 1112, - 1113 + 1107, + 1108, + 1109 ] }, { - "teal": 1251, + "teal": 1247, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1114, - 1115 + 1110, + 1111 ] }, { - "teal": 1252, + "teal": 1248, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1116 + 1112 ] }, { - "teal": 1253, + "teal": 1249, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1117 + 1113 ] }, { - "teal": 1254, + "teal": 1250, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1118 + 1114 ] }, { - "teal": 1255, + "teal": 1251, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1119, - 1120 + 1115, + 1116 ] }, { - "teal": 1256, + "teal": 1252, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1121 + 1117 ] }, { - "teal": 1257, + "teal": 1253, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1122 + 1118 ] }, { - "teal": 1261, + "teal": 1257, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1123, - 1124 + 1119, + 1120 ] }, { - "teal": 1262, + "teal": 1258, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1125 + 1121 ] }, { - "teal": 1263, + "teal": 1259, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1126, - 1127 + 1122, + 1123 ] }, { - "teal": 1264, + "teal": 1260, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1128 + 1124 ] }, { - "teal": 1265, + "teal": 1261, "source": "examples/reti/stakingPool.algo.ts:351", + "pc": [ + 1125, + 1126 + ] + }, + { + "teal": 1265, + "source": "examples/reti/stakingPool.algo.ts:352", + "pc": [ + 1127, + 1128 + ] + }, + { + "teal": 1266, + "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1129, 1130 ] }, { - "teal": 1269, + "teal": 1267, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1131, @@ -5634,7 +5634,7 @@ ] }, { - "teal": 1270, + "teal": 1268, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1133, @@ -5642,23 +5642,23 @@ ] }, { - "teal": 1271, - "source": "examples/reti/stakingPool.algo.ts:352", + "teal": 1272, + "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1135, 1136 ] }, { - "teal": 1272, - "source": "examples/reti/stakingPool.algo.ts:352", + "teal": 1273, + "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1137, 1138 ] }, { - "teal": 1276, + "teal": 1274, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1139, @@ -5666,7 +5666,7 @@ ] }, { - "teal": 1277, + "teal": 1275, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1141, @@ -5674,38 +5674,44 @@ ] }, { - "teal": 1278, - "source": "examples/reti/stakingPool.algo.ts:353", + "teal": 1279, + "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ - 1143, - 1144 + 1143 ] }, { - "teal": 1279, - "source": "examples/reti/stakingPool.algo.ts:353", + "teal": 1280, + "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ - 1145, - 1146 + 1144, + 1145 ] }, { - "teal": 1283, - "source": "examples/reti/stakingPool.algo.ts:354", + "teal": 1285, + "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ + 1146, 1147 ] }, { - "teal": 1284, - "source": "examples/reti/stakingPool.algo.ts:354", + "teal": 1286, + "source": "examples/reti/stakingPool.algo.ts:357", + "pc": [ + 1148 + ] + }, + { + "teal": 1287, + "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1148, 1149 ] }, { - "teal": 1289, + "teal": 1288, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1150, @@ -5713,66 +5719,66 @@ ] }, { - "teal": 1290, + "teal": 1289, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1152 ] }, { - "teal": 1291, + "teal": 1290, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1153 + 1153, + 1154 ] }, { - "teal": 1292, + "teal": 1291, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1154, 1155 ] }, { - "teal": 1293, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1295, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1156 + 1156, + 1157 ] }, { - "teal": 1294, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1296, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1157, 1158 ] }, { - "teal": 1295, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1297, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1159 + 1159, + 1160 ] }, { - "teal": 1299, + "teal": 1298, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1160, 1161 ] }, { - "teal": 1300, + "teal": 1299, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1162 ] }, { - "teal": 1301, + "teal": 1300, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1163, @@ -5780,95 +5786,96 @@ ] }, { - "teal": 1302, + "teal": 1301, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1165 ] }, { - "teal": 1303, + "teal": 1302, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1166 + 1166, + 1167 ] }, { - "teal": 1304, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1306, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1167, - 1168 + 1168, + 1169 ] }, { - "teal": 1305, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1307, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1169 + 1170 ] }, { - "teal": 1306, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1308, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1170, - 1171 + 1171, + 1172 ] }, { - "teal": 1310, + "teal": 1309, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1172, 1173 ] }, { - "teal": 1311, + "teal": 1310, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1174 ] }, { - "teal": 1312, + "teal": 1311, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1175, - 1176 + 1175 ] }, { - "teal": 1313, + "teal": 1312, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1177 + 1176 ] }, { - "teal": 1314, + "teal": 1313, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1177, 1178 ] }, { - "teal": 1315, + "teal": 1314, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1179 ] }, { - "teal": 1316, + "teal": 1317, "source": "examples/reti/stakingPool.algo.ts:360", + "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 1180 ] }, { - "teal": 1317, + "teal": 1318, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1181, @@ -5876,95 +5883,94 @@ ] }, { - "teal": 1318, + "teal": 1319, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1183 ] }, { - "teal": 1321, + "teal": 1320, "source": "examples/reti/stakingPool.algo.ts:360", - "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 1184 ] }, { - "teal": 1322, + "teal": 1321, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1185, - 1186 + 1185 ] }, { - "teal": 1323, + "teal": 1322, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1187 + 1186 ] }, { - "teal": 1324, + "teal": 1323, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1187, 1188 ] }, { - "teal": 1325, + "teal": 1324, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1189 ] }, { - "teal": 1326, + "teal": 1325, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1190 ] }, { - "teal": 1327, + "teal": 1326, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1191, - 1192 + 1191 ] }, { - "teal": 1328, + "teal": 1327, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1192, 1193 ] }, { - "teal": 1329, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1331, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1194 + 1194, + 1195 ] }, { - "teal": 1330, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1332, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1195 + 1196 ] }, { - "teal": 1331, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1333, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1196, 1197 ] }, { - "teal": 1335, + "teal": 1334, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1198, @@ -5972,50 +5978,51 @@ ] }, { - "teal": 1336, + "teal": 1335, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1200 ] }, { - "teal": 1337, + "teal": 1336, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1201 ] }, { - "teal": 1338, + "teal": 1337, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1202, - 1203 + 1202 ] }, { - "teal": 1339, + "teal": 1338, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ + 1203, 1204 ] }, { - "teal": 1340, + "teal": 1339, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1205 ] }, { - "teal": 1341, + "teal": 1342, "source": "examples/reti/stakingPool.algo.ts:361", + "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits", "pc": [ 1206 ] }, { - "teal": 1342, + "teal": 1343, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1207, @@ -6023,25 +6030,30 @@ ] }, { - "teal": 1343, + "teal": 1344, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1209 ] }, { - "teal": 1346, + "teal": 1345, "source": "examples/reti/stakingPool.algo.ts:361", - "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits", "pc": [ 1210 ] }, + { + "teal": 1346, + "source": "examples/reti/stakingPool.algo.ts:361", + "pc": [ + 1211 + ] + }, { "teal": 1347, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1211, 1212 ] }, @@ -6049,346 +6061,340 @@ "teal": 1348, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1213 + 1213, + 1214 ] }, { "teal": 1349, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1214 + 1215 ] }, { "teal": 1350, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1215 + 1216 ] }, { "teal": 1351, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1216 + 1217 ] }, { "teal": 1352, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1217, 1218 ] }, { - "teal": 1353, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1365, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1219 ] }, { - "teal": 1354, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1366, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1220 ] }, { - "teal": 1355, - "source": "examples/reti/stakingPool.algo.ts:361", - "pc": [ - 1221 - ] - }, - { - "teal": 1356, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1367, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ + 1221, 1222 ] }, { - "teal": 1369, + "teal": 1368, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1223 + 1223, + 1224 ] }, { - "teal": 1370, + "teal": 1369, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1224 + 1225, + 1226 ] }, { - "teal": 1371, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1373, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ - 1225, - 1226 + 1227 ] }, { - "teal": 1372, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1374, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ - 1227, 1228 ] }, { - "teal": 1373, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1375, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ 1229, 1230 ] }, { - "teal": 1377, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1385, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1231 ] }, { - "teal": 1378, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1386, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1232 ] }, { - "teal": 1379, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1387, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1233, - 1234 + 1233 ] }, { - "teal": 1389, + "teal": 1388, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ + 1234, 1235 ] }, { - "teal": 1390, + "teal": 1389, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1236 ] }, { - "teal": 1391, + "teal": 1390, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1237 ] }, { - "teal": 1392, - "source": "examples/reti/stakingPool.algo.ts:369", - "pc": [ - 1238, - 1239 - ] - }, - { - "teal": 1393, + "teal": 1391, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1240 + 1238 ] }, { - "teal": 1394, + "teal": 1392, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ + 1239, + 1240, 1241 ] }, { - "teal": 1395, + "teal": 1393, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1242 ] }, { - "teal": 1396, + "teal": 1394, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1243, - 1244, - 1245 + 1243 ] }, { - "teal": 1397, + "teal": 1395, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1246 + 1244, + 1245 ] }, { - "teal": 1398, - "source": "examples/reti/stakingPool.algo.ts:369", + "teal": 1396, + "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ + 1246, 1247 ] }, { - "teal": 1399, - "source": "examples/reti/stakingPool.algo.ts:369", + "teal": 1397, + "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ 1248, 1249 ] }, { - "teal": 1400, - "source": "examples/reti/stakingPool.algo.ts:370", + "teal": 1398, + "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ 1250, 1251 ] }, { - "teal": 1401, - "source": "examples/reti/stakingPool.algo.ts:370", + "teal": 1399, + "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ - 1252, - 1253 + 1252 ] }, { - "teal": 1402, + "teal": 1400, "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ - 1254, - 1255 + 1253, + 1254 ] }, { - "teal": 1403, - "source": "examples/reti/stakingPool.algo.ts:371", + "teal": 1401, + "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ + 1255, 1256 ] }, { - "teal": 1404, - "source": "examples/reti/stakingPool.algo.ts:371", + "teal": 1402, + "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ - 1257, - 1258 + 1257 ] }, { - "teal": 1405, + "teal": 1403, "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ - 1259, - 1260 + 1258, + 1259 ] }, { - "teal": 1406, - "source": "examples/reti/stakingPool.algo.ts:372", + "teal": 1404, + "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ + 1260, 1261 ] }, { - "teal": 1407, - "source": "examples/reti/stakingPool.algo.ts:372", + "teal": 1405, + "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1262, 1263 ] }, { - "teal": 1408, + "teal": 1406, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1264, - 1265 + 1264 ] }, { - "teal": 1409, + "teal": 1407, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1266, - 1267 + 1265, + 1266 ] }, { - "teal": 1410, + "teal": 1408, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1268 + 1267 ] }, { - "teal": 1411, + "teal": 1409, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1269, - 1270 + 1268, + 1269 ] }, { "teal": 1412, - "source": "examples/reti/stakingPool.algo.ts:373", + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1271 + 1270 ] }, { "teal": 1413, - "source": "examples/reti/stakingPool.algo.ts:373", + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1272, - 1273 + 1271, + 1272 ] }, { "teal": 1416, "source": "examples/reti/stakingPool.algo.ts:366", + "pc": [ + 1273 + ] + }, + { + "teal": 1420, + "source": "examples/reti/stakingPool.algo.ts:376", "pc": [ 1274 ] }, { - "teal": 1417, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1427, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1275, 1276 ] }, { - "teal": 1420, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1428, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1277 ] }, { - "teal": 1424, - "source": "examples/reti/stakingPool.algo.ts:376", + "teal": 1429, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1278 ] }, { - "teal": 1431, + "teal": 1430, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1279, @@ -6396,69 +6402,63 @@ ] }, { - "teal": 1432, - "source": "examples/reti/stakingPool.algo.ts:289", - "pc": [ - 1281 - ] - }, - { - "teal": 1433, + "teal": 1431, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ - 1282 + 1281, + 1282, + 1283 ] }, { - "teal": 1434, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 1435, + "source": "examples/reti/stakingPool.algo.ts:379", + "errorMessage": "account not found", "pc": [ - 1283, 1284 ] }, { - "teal": 1435, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 1436, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 1285, - 1286, - 1287 + 1285 ] }, { - "teal": 1439, - "source": "examples/reti/stakingPool.algo.ts:379", - "errorMessage": "account not found", + "teal": 1441, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ + 1286, + 1287, 1288 ] }, { - "teal": 1440, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 1442, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1289 ] }, { - "teal": 1445, + "teal": 1443, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ - 1290, - 1291, - 1292 + 1290 ] }, { - "teal": 1446, + "teal": 1451, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ + 1291, + 1292, 1293 ] }, { - "teal": 1447, + "teal": 1454, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1294 @@ -6469,50 +6469,50 @@ "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1295, - 1296, - 1297 + 1296 ] }, { - "teal": 1458, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1459, + "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ + 1297, 1298 ] }, { - "teal": 1459, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1460, + "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ 1299, 1300 ] }, { - "teal": 1463, - "source": "examples/reti/stakingPool.algo.ts:391", + "teal": 1464, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1301, - 1302 + 1301 ] }, { - "teal": 1464, - "source": "examples/reti/stakingPool.algo.ts:391", + "teal": 1465, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1303, - 1304 + 1302, + 1303 ] }, { - "teal": 1468, + "teal": 1470, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ + 1304, 1305 ] }, { - "teal": 1469, + "teal": 1471, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1306, @@ -6520,123 +6520,123 @@ ] }, { - "teal": 1474, + "teal": 1472, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1308, - 1309 + 1308 ] }, { - "teal": 1475, + "teal": 1473, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ + 1309, 1310, 1311 ] }, { - "teal": 1476, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1478, + "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1312 + 1312, + 1313 ] }, { - "teal": 1477, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1479, + "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1313, 1314, 1315 ] }, { - "teal": 1482, + "teal": 1480, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1316, - 1317 + 1316 ] }, { - "teal": 1483, + "teal": 1481, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ + 1317, 1318, 1319 ] }, { - "teal": 1484, - "source": "examples/reti/stakingPool.algo.ts:394", + "teal": 1486, + "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1320 ] }, { - "teal": 1485, - "source": "examples/reti/stakingPool.algo.ts:394", + "teal": 1487, + "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1321, - 1322, - 1323 + 1321 ] }, { - "teal": 1490, + "teal": 1488, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1324 + 1322, + 1323 ] }, { - "teal": 1491, + "teal": 1489, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1325 + 1324 ] }, { - "teal": 1492, + "teal": 1490, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1326, - 1327 + 1325, + 1326 ] }, { - "teal": 1493, + "teal": 1491, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ + 1327, 1328 ] }, { - "teal": 1494, + "teal": 1492, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1329, - 1330 + 1329 ] }, { - "teal": 1495, + "teal": 1493, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1331, - 1332 + 1330, + 1331 ] }, { - "teal": 1496, + "teal": 1494, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ + 1332, 1333 ] }, { - "teal": 1497, + "teal": 1495, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1334, @@ -6644,7 +6644,7 @@ ] }, { - "teal": 1498, + "teal": 1496, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1336, @@ -6652,251 +6652,251 @@ ] }, { - "teal": 1499, + "teal": 1497, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1338, - 1339 + 1338 ] }, { - "teal": 1500, - "source": "examples/reti/stakingPool.algo.ts:395", + "teal": 1502, + "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1340, - 1341 + 1339, + 1340 ] }, { - "teal": 1501, - "source": "examples/reti/stakingPool.algo.ts:395", + "teal": 1503, + "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1342 + 1341 ] }, { - "teal": 1506, + "teal": 1504, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1343, - 1344 + 1342 ] }, { - "teal": 1507, + "teal": 1505, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1345 + 1343 ] }, { - "teal": 1508, + "teal": 1506, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1346 + 1344 ] }, { - "teal": 1509, + "teal": 1507, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1347 + 1345, + 1346 ] }, { - "teal": 1510, + "teal": 1508, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1348 + 1347 ] }, { - "teal": 1511, + "teal": 1509, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1349, - 1350 + 1348, + 1349 ] }, { - "teal": 1512, - "source": "examples/reti/stakingPool.algo.ts:397", + "teal": 1514, + "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ + 1350, 1351 ] }, { - "teal": 1513, - "source": "examples/reti/stakingPool.algo.ts:397", + "teal": 1515, + "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1352, - 1353 + 1353, + 1354 ] }, { - "teal": 1518, + "teal": 1516, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ - 1354, - 1355 + 1355, + 1356 ] }, { - "teal": 1519, + "teal": 1517, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ - 1356, - 1357, - 1358 + 1357 ] }, { - "teal": 1520, + "teal": 1518, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ + 1358, 1359, 1360 ] }, { - "teal": 1521, - "source": "examples/reti/stakingPool.algo.ts:398", + "teal": 1524, + "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1361 + 1361, + 1362 ] }, { - "teal": 1522, - "source": "examples/reti/stakingPool.algo.ts:398", + "teal": 1525, + "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1362, 1363, - 1364 + 1364, + 1365 ] }, { - "teal": 1528, + "teal": 1526, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1365, 1366 ] }, { - "teal": 1529, + "teal": 1527, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1367, - 1368, - 1369 + 1367 ] }, { - "teal": 1530, + "teal": 1528, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1370 + 1368 ] }, { - "teal": 1531, + "teal": 1529, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ + 1369, + 1370, 1371 ] }, { - "teal": 1532, - "source": "examples/reti/stakingPool.algo.ts:399", + "teal": 1534, + "source": "examples/reti/stakingPool.algo.ts:400", "pc": [ 1372 ] }, { - "teal": 1533, - "source": "examples/reti/stakingPool.algo.ts:399", + "teal": 1539, + "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ - 1373, - 1374, - 1375 + 1373 ] }, { - "teal": 1538, - "source": "examples/reti/stakingPool.algo.ts:400", + "teal": 1540, + "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ - 1376 + 1374, + 1375 ] }, { - "teal": 1543, - "source": "examples/reti/stakingPool.algo.ts:402", + "teal": 1545, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ + 1376, 1377 ] }, { - "teal": 1544, - "source": "examples/reti/stakingPool.algo.ts:402", + "teal": 1546, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1378, - 1379 + 1378 ] }, { - "teal": 1549, + "teal": 1547, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1380, - 1381 + 1379 ] }, { - "teal": 1550, + "teal": 1548, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1382 + 1380 ] }, { - "teal": 1551, + "teal": 1549, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ + 1381, + 1382, 1383 ] }, { - "teal": 1552, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1557, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1384 ] }, { - "teal": 1553, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1558, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1385, - 1386, - 1387 + 1385 ] }, { - "teal": 1561, + "teal": 1559, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1388 + 1386, + 1387 ] }, { - "teal": 1562, + "teal": 1560, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ + 1388, 1389 ] }, { - "teal": 1563, + "teal": 1561, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1390, @@ -6904,96 +6904,102 @@ ] }, { - "teal": 1564, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1565, + "source": "examples/reti/stakingPool.algo.ts:406", + "pc": [ + 1392 + ] + }, + { + "teal": 1566, + "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ - 1392, 1393 ] }, { - "teal": 1565, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1567, + "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ 1394, 1395 ] }, { - "teal": 1569, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1571, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1396 ] }, { - "teal": 1570, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1572, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1397 ] }, { - "teal": 1571, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1573, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ - 1398, - 1399 + 1398 ] }, { - "teal": 1575, + "teal": 1574, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ + 1399, 1400 ] }, { - "teal": 1576, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1577, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1401 ] }, { - "teal": 1577, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1578, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1402 + 1402, + 1403 ] }, { - "teal": 1578, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1581, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1403, 1404 ] }, { - "teal": 1581, + "teal": 1582, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1405 + 1405, + 1406 ] }, { - "teal": 1582, + "teal": 1583, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1406, 1407 ] }, { - "teal": 1585, + "teal": 1584, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1408 ] }, { - "teal": 1586, + "teal": 1585, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1409, @@ -7001,203 +7007,197 @@ ] }, { - "teal": 1587, - "source": "examples/reti/stakingPool.algo.ts:405", - "pc": [ - 1411 - ] - }, - { - "teal": 1588, + "teal": 1586, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1412 + 1411, + 1412, + 1413 ] }, { - "teal": 1589, + "teal": 1587, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1413, - 1414 + 1414, + 1415 ] }, { - "teal": 1590, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1595, + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1415, - 1416, - 1417 + 1416 ] }, { - "teal": 1591, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1596, + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1418, - 1419 + 1417, + 1418 ] }, { - "teal": 1599, + "teal": 1597, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ + 1419, 1420 ] }, { - "teal": 1600, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1601, + "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1421, 1422 ] }, { - "teal": 1601, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1602, + "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1423, - 1424 + 1424, + 1425 ] }, { - "teal": 1605, + "teal": 1603, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ - 1425, 1426 ] }, { - "teal": 1606, + "teal": 1604, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1427, - 1428, - 1429 + 1428 ] }, { - "teal": 1607, - "source": "examples/reti/stakingPool.algo.ts:413", + "teal": 1608, + "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ + 1429, 1430 ] }, { - "teal": 1608, - "source": "examples/reti/stakingPool.algo.ts:413", + "teal": 1609, + "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ 1431, 1432 ] }, { - "teal": 1612, - "source": "examples/reti/stakingPool.algo.ts:414", + "teal": 1613, + "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1433, 1434 ] }, { - "teal": 1613, - "source": "examples/reti/stakingPool.algo.ts:414", + "teal": 1614, + "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1435, - 1436 + 1436, + 1437 ] }, { - "teal": 1617, + "teal": 1615, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ - 1437, 1438 ] }, { - "teal": 1618, + "teal": 1616, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1439, - 1440, - 1441 + 1440 ] }, { "teal": 1619, - "source": "examples/reti/stakingPool.algo.ts:415", + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1442 + 1441 ] }, { "teal": 1620, - "source": "examples/reti/stakingPool.algo.ts:415", + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1443, - 1444 + 1442, + 1443 ] }, { "teal": 1623, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1445 + 1444 ] }, { - "teal": 1624, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1627, + "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1446, - 1447 + 1445, + 1446 ] }, { - "teal": 1627, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1628, + "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1448 + 1447, + 1448, + 1449 ] }, { - "teal": 1631, + "teal": 1629, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1449, 1450 ] }, { - "teal": 1632, + "teal": 1630, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1451, - 1452, - 1453 + 1452 ] }, { - "teal": 1633, - "source": "examples/reti/stakingPool.algo.ts:417", + "teal": 1634, + "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ + 1453, 1454 ] }, { - "teal": 1634, - "source": "examples/reti/stakingPool.algo.ts:417", + "teal": 1635, + "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1455, 1456 ] }, { - "teal": 1638, + "teal": 1636, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1457, @@ -7205,7 +7205,7 @@ ] }, { - "teal": 1639, + "teal": 1637, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1459, @@ -7213,64 +7213,64 @@ ] }, { - "teal": 1640, - "source": "examples/reti/stakingPool.algo.ts:418", + "teal": 1638, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1461, - 1462 + 1462, + 1463 ] }, { - "teal": 1641, - "source": "examples/reti/stakingPool.algo.ts:418", + "teal": 1643, + "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1463, - 1464 + 1464, + 1465 ] }, { - "teal": 1642, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1644, + "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1465, 1466, - 1467 + 1467, + 1468 ] }, { - "teal": 1647, + "teal": 1645, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1468, 1469 ] }, { - "teal": 1648, + "teal": 1646, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1470, - 1471, - 1472 + 1471 ] }, { - "teal": 1649, - "source": "examples/reti/stakingPool.algo.ts:423", + "teal": 1650, + "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ + 1472, 1473 ] }, { - "teal": 1650, - "source": "examples/reti/stakingPool.algo.ts:423", + "teal": 1651, + "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1474, 1475 ] }, { - "teal": 1654, + "teal": 1652, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1476, @@ -7278,7 +7278,7 @@ ] }, { - "teal": 1655, + "teal": 1653, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1478, @@ -7286,23 +7286,29 @@ ] }, { - "teal": 1656, - "source": "examples/reti/stakingPool.algo.ts:424", + "teal": 1658, + "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1480, 1481 ] }, { - "teal": 1657, - "source": "examples/reti/stakingPool.algo.ts:424", + "teal": 1659, + "source": "examples/reti/stakingPool.algo.ts:428", + "pc": [ + 1482 + ] + }, + { + "teal": 1660, + "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1482, 1483 ] }, { - "teal": 1662, + "teal": 1661, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1484, @@ -7310,321 +7316,321 @@ ] }, { - "teal": 1663, + "teal": 1662, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1486 ] }, { - "teal": 1664, + "teal": 1663, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1487 + 1487, + 1488 ] }, { - "teal": 1665, + "teal": 1664, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1488, 1489 ] }, { - "teal": 1666, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1677, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1490 ] }, { - "teal": 1667, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1678, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1491, - 1492 + 1491 ] }, { - "teal": 1668, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1679, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ + 1492, 1493 ] }, { - "teal": 1681, + "teal": 1680, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1494 + 1494, + 1495 ] }, { - "teal": 1682, + "teal": 1681, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1495 + 1496, + 1497 ] }, { - "teal": 1683, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1685, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ - 1496, - 1497 + 1498 ] }, { - "teal": 1684, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1686, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ - 1498, 1499 ] }, { - "teal": 1685, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1687, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ 1500, 1501 ] }, { - "teal": 1689, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1697, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1502 ] }, { - "teal": 1690, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1698, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1503 ] }, { - "teal": 1691, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1699, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1504, - 1505 + 1504 ] }, { - "teal": 1701, + "teal": 1700, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ + 1505, 1506 ] }, { - "teal": 1702, + "teal": 1701, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1507 ] }, { - "teal": 1703, + "teal": 1702, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1508 ] }, + { + "teal": 1703, + "source": "examples/reti/stakingPool.algo.ts:436", + "pc": [ + 1509 + ] + }, { "teal": 1704, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1509, - 1510 + 1510, + 1511, + 1512 ] }, { "teal": 1705, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1511 + 1513 ] }, { "teal": 1706, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1512 + 1514 ] }, { "teal": 1707, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1513 + 1515, + 1516 ] }, { "teal": 1708, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ - 1514, - 1515, - 1516 + 1517, + 1518 ] }, { "teal": 1709, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ - 1517 + 1519, + 1520 ] }, { "teal": 1710, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ - 1518 + 1521, + 1522 ] }, { "teal": 1711, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ - 1519, - 1520 + 1523, + 1524 ] }, { "teal": 1712, - "source": "examples/reti/stakingPool.algo.ts:437", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1521, - 1522 + 1525, + 1526 ] }, { "teal": 1713, - "source": "examples/reti/stakingPool.algo.ts:437", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1523, - 1524 + 1527 ] }, { "teal": 1714, - "source": "examples/reti/stakingPool.algo.ts:438", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1525, - 1526 + 1528, + 1529 ] }, { "teal": 1715, - "source": "examples/reti/stakingPool.algo.ts:438", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1527, - 1528 + 1530 ] }, { "teal": 1716, - "source": "examples/reti/stakingPool.algo.ts:439", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1529, - 1530 + 1531, + 1532 ] }, { "teal": 1717, - "source": "examples/reti/stakingPool.algo.ts:439", - "pc": [ - 1531 - ] - }, - { - "teal": 1718, - "source": "examples/reti/stakingPool.algo.ts:439", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1532, 1533 ] }, { - "teal": 1719, + "teal": 1718, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1534 + 1534, + 1535 ] }, { - "teal": 1720, + "teal": 1719, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1535, 1536 ] }, { - "teal": 1721, + "teal": 1720, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1537 + 1537, + 1538 ] }, { - "teal": 1722, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1723, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1538, 1539 ] }, { - "teal": 1723, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1724, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1540 + 1540, + 1541 ] }, { - "teal": 1724, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1727, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1541, 1542 ] }, { - "teal": 1727, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1731, + "source": "examples/reti/stakingPool.algo.ts:443", "pc": [ 1543 ] }, { - "teal": 1728, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1738, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1544, 1545 ] }, { - "teal": 1731, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1739, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1546 ] }, { - "teal": 1735, - "source": "examples/reti/stakingPool.algo.ts:443", + "teal": 1740, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1547 ] }, { - "teal": 1742, + "teal": 1741, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1548, @@ -7632,167 +7638,161 @@ ] }, { - "teal": 1743, + "teal": 1742, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1550 + 1550, + 1551, + 1552 ] }, { - "teal": 1744, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1746, + "source": "examples/reti/stakingPool.algo.ts:446", + "errorMessage": "account not found", "pc": [ - 1551 + 1553 ] }, { - "teal": 1745, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1747, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ - 1552, - 1553 + 1554 ] }, { - "teal": 1746, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1752, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1554, 1555, 1556 ] }, { - "teal": 1750, - "source": "examples/reti/stakingPool.algo.ts:446", - "errorMessage": "account not found", + "teal": 1755, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1557 + 1557, + 1558, + 1559 ] }, { - "teal": 1751, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1756, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1558 + 1560 ] }, { - "teal": 1756, + "teal": 1757, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1559, - 1560 + 1561 ] }, { - "teal": 1759, + "teal": 1758, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1561, 1562, 1563 ] }, { - "teal": 1760, + "teal": 1759, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1564 ] }, { - "teal": 1761, + "teal": 1762, "source": "examples/reti/stakingPool.algo.ts:457", + "errorMessage": "argument 0 (staker) for getStakerInfo must be a address", "pc": [ 1565 ] }, { - "teal": 1762, + "teal": 1765, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1566, - 1567 - ] - }, - { - "teal": 1763, - "source": "examples/reti/stakingPool.algo.ts:457", - "pc": [ + 1567, 1568 ] }, { "teal": 1766, "source": "examples/reti/stakingPool.algo.ts:457", - "errorMessage": "argument 0 (staker) for getStakerInfo must be a address", "pc": [ 1569 ] }, { - "teal": 1769, + "teal": 1767, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1570, - 1571, - 1572 + 1570 ] }, { - "teal": 1770, + "teal": 1768, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1573 + 1571 ] }, { - "teal": 1771, + "teal": 1769, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1574 + 1572 ] }, { - "teal": 1772, + "teal": 1779, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ + 1573, + 1574, 1575 ] }, { - "teal": 1773, + "teal": 1782, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1576 ] }, { - "teal": 1783, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1786, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1577, - 1578, - 1579 + 1577 ] }, { - "teal": 1786, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1787, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1580 + 1578, + 1579 ] }, { - "teal": 1790, + "teal": 1792, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ + 1580, 1581 ] }, { - "teal": 1791, + "teal": 1793, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1582, @@ -7800,123 +7800,123 @@ ] }, { - "teal": 1796, + "teal": 1794, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1584, - 1585 + 1584 ] }, { - "teal": 1797, + "teal": 1795, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ + 1585, 1586, 1587 ] }, { - "teal": 1798, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1800, + "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1588 + 1588, + 1589 ] }, { - "teal": 1799, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1801, + "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1589, 1590, 1591 ] }, { - "teal": 1804, + "teal": 1802, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1592, - 1593 + 1592 ] }, { - "teal": 1805, + "teal": 1803, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ + 1593, 1594, 1595 ] }, { - "teal": 1806, - "source": "examples/reti/stakingPool.algo.ts:459", + "teal": 1808, + "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1596 ] }, { - "teal": 1807, - "source": "examples/reti/stakingPool.algo.ts:459", + "teal": 1809, + "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1597, - 1598, - 1599 + 1597 ] }, { - "teal": 1812, + "teal": 1810, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1600 + 1598, + 1599 ] }, { - "teal": 1813, + "teal": 1811, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1601 + 1600 ] }, { - "teal": 1814, + "teal": 1812, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1602, - 1603 + 1601, + 1602 ] }, { - "teal": 1815, + "teal": 1813, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ + 1603, 1604 ] }, { - "teal": 1816, + "teal": 1814, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1605, - 1606 + 1605 ] }, { - "teal": 1817, + "teal": 1815, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1607, - 1608 + 1606, + 1607 ] }, { - "teal": 1818, + "teal": 1816, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ + 1608, 1609 ] }, { - "teal": 1819, + "teal": 1817, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1610, @@ -7924,7 +7924,7 @@ ] }, { - "teal": 1820, + "teal": 1818, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1612, @@ -7932,33 +7932,45 @@ ] }, { - "teal": 1821, + "teal": 1819, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1614, - 1615 + 1614 ] }, { - "teal": 1822, - "source": "examples/reti/stakingPool.algo.ts:460", + "teal": 1825, + "source": "examples/reti/stakingPool.algo.ts:462", + "pc": [ + 1615, + 1616 + ] + }, + { + "teal": 1826, + "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1616, 1617 ] }, { - "teal": 1823, - "source": "examples/reti/stakingPool.algo.ts:460", + "teal": 1827, + "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1618 ] }, + { + "teal": 1828, + "source": "examples/reti/stakingPool.algo.ts:462", + "pc": [ + 1619 + ] + }, { "teal": 1829, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1619, 1620 ] }, @@ -7966,89 +7978,89 @@ "teal": 1830, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1621 + 1621, + 1622 ] }, { "teal": 1831, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1622 + 1623 ] }, { "teal": 1832, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1623 + 1624, + 1625 ] }, { "teal": 1833, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1624 + 1626 ] }, { "teal": 1834, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1625, - 1626 + 1627, + 1628 ] }, { "teal": 1835, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1627 + 1629 ] }, { "teal": 1836, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1628, - 1629 + 1630, + 1631, + 1632 ] }, { - "teal": 1837, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1841, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1630 + 1633, + 1634 ] }, { - "teal": 1838, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1842, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1631, - 1632 + 1635 ] }, { - "teal": 1839, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1843, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1633 + 1636 ] }, { - "teal": 1840, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1844, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1634, - 1635, - 1636 + 1637 ] }, { "teal": 1845, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1637, 1638 ] }, @@ -8056,112 +8068,100 @@ "teal": 1846, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1639 - ] - }, - { - "teal": 1847, - "source": "examples/reti/stakingPool.algo.ts:463", - "pc": [ + 1639, 1640 ] }, { - "teal": 1848, + "teal": 1847, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1641 ] }, { - "teal": 1849, - "source": "examples/reti/stakingPool.algo.ts:463", - "pc": [ - 1642 - ] - }, - { - "teal": 1850, + "teal": 1848, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ + 1642, 1643, 1644 ] }, { - "teal": 1851, - "source": "examples/reti/stakingPool.algo.ts:463", + "teal": 1855, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1645 + 1645, + 1646 ] }, { - "teal": 1852, - "source": "examples/reti/stakingPool.algo.ts:463", + "teal": 1856, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1646, - 1647, - 1648 + 1647 ] }, { - "teal": 1859, + "teal": 1857, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1649, - 1650 + 1648 ] }, { - "teal": 1860, + "teal": 1858, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1651 + 1649, + 1650 ] }, { - "teal": 1861, + "teal": 1859, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1652 + 1651, + 1652, + 1653 ] }, { - "teal": 1862, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1863, + "source": "examples/reti/stakingPool.algo.ts:466", + "errorMessage": "account not found", "pc": [ - 1653, 1654 ] }, { - "teal": 1863, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1867, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1655, - 1656, - 1657 + 1656 ] }, { - "teal": 1867, - "source": "examples/reti/stakingPool.algo.ts:466", - "errorMessage": "account not found", + "teal": 1868, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1658 + 1657 ] }, { - "teal": 1871, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1873, + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1658, 1659, 1660 ] }, { - "teal": 1872, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1874, + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1661 ] @@ -8199,85 +8199,91 @@ ] }, { - "teal": 1885, + "teal": 1883, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1670, - 1671, - 1672 + 1670 ] }, { - "teal": 1886, + "teal": 1884, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1673 + 1671, + 1672 ] }, { - "teal": 1887, + "teal": 1885, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1674 + 1673 ] }, { "teal": 1888, "source": "examples/reti/stakingPool.algo.ts:479", + "errorMessage": "argument 2 (staker) for payTokenReward must be a address", "pc": [ - 1675, - 1676 + 1674 ] }, { - "teal": 1889, + "teal": 1891, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1675, + 1676, 1677 ] }, { "teal": 1892, "source": "examples/reti/stakingPool.algo.ts:479", - "errorMessage": "argument 2 (staker) for payTokenReward must be a address", "pc": [ 1678 ] }, { - "teal": 1895, + "teal": 1893, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1679, - 1680, - 1681 + 1679 ] }, { - "teal": 1896, + "teal": 1906, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1680, + 1681, 1682 ] }, { - "teal": 1897, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1913, + "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ - 1683 + 1683, + 1684 ] }, { - "teal": 1910, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1914, + "source": "examples/reti/stakingPool.algo.ts:482", + "pc": [ + 1685 + ] + }, + { + "teal": 1915, + "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ - 1684, - 1685, 1686 ] }, { - "teal": 1917, + "teal": 1916, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1687, @@ -8285,166 +8291,160 @@ ] }, { - "teal": 1918, + "teal": 1917, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1689 ] }, { - "teal": 1919, + "teal": 1918, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1690 ] }, { - "teal": 1920, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1921, + "source": "examples/reti/stakingPool.algo.ts:481", + "errorMessage": "this can only be called via the validator contract", "pc": [ - 1691, - 1692 + 1691 ] }, { - "teal": 1921, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1925, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ + 1692, 1693 ] }, { - "teal": 1922, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1926, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1694 ] }, { - "teal": 1925, - "source": "examples/reti/stakingPool.algo.ts:481", - "errorMessage": "this can only be called via the validator contract", + "teal": 1927, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1695 ] }, { - "teal": 1929, + "teal": 1928, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ - 1696, - 1697 + 1696 ] }, { - "teal": 1930, + "teal": 1931, "source": "examples/reti/stakingPool.algo.ts:485", + "errorMessage": "must be pool 1 in order to be called to pay out token rewards", "pc": [ - 1698 + 1697 ] }, { - "teal": 1931, - "source": "examples/reti/stakingPool.algo.ts:485", + "teal": 1935, + "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ + 1698, 1699 ] }, { - "teal": 1932, - "source": "examples/reti/stakingPool.algo.ts:485", + "teal": 1936, + "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ 1700 ] }, { - "teal": 1935, - "source": "examples/reti/stakingPool.algo.ts:485", - "errorMessage": "must be pool 1 in order to be called to pay out token rewards", - "pc": [ - 1701 - ] - }, - { - "teal": 1939, + "teal": 1937, "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ - 1702, - 1703 + 1701 ] }, { "teal": 1940, "source": "examples/reti/stakingPool.algo.ts:486", + "errorMessage": "can only claim token rewards from validator that has them", "pc": [ - 1704 + 1702 ] }, { - "teal": 1941, - "source": "examples/reti/stakingPool.algo.ts:486", + "teal": 1948, + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1705 + 1703 ] }, { - "teal": 1944, - "source": "examples/reti/stakingPool.algo.ts:486", - "errorMessage": "can only claim token rewards from validator that has them", + "teal": 1949, + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1706 + 1704, + 1705 ] }, { - "teal": 1952, + "teal": 1950, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ + 1706, 1707 ] }, { - "teal": 1953, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1954, + "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1708, 1709 ] }, { - "teal": 1954, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1955, + "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1710, 1711 ] }, { - "teal": 1958, - "source": "examples/reti/stakingPool.algo.ts:490", + "teal": 1959, + "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1712, 1713 ] }, { - "teal": 1959, - "source": "examples/reti/stakingPool.algo.ts:490", + "teal": 1960, + "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1714, 1715 ] }, { - "teal": 1963, - "source": "examples/reti/stakingPool.algo.ts:491", + "teal": 1964, + "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1716, 1717 ] }, { - "teal": 1964, - "source": "examples/reti/stakingPool.algo.ts:491", + "teal": 1965, + "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1718, 1719 @@ -8452,172 +8452,172 @@ }, { "teal": 1968, - "source": "examples/reti/stakingPool.algo.ts:492", + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1720, - 1721 + 1720 ] }, { "teal": 1969, - "source": "examples/reti/stakingPool.algo.ts:492", + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1722, - 1723 + 1721, + 1722 ] }, { "teal": 1972, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1724 + 1723 ] }, { "teal": 1973, - "source": "examples/reti/stakingPool.algo.ts:489", + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1725, - 1726 + 1724 ] }, { - "teal": 1976, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1978, + "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ + 1725, + 1726, 1727 ] }, { - "teal": 1977, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1979, + "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1728 + 1728, + 1729, + 1730 ] }, { "teal": 1982, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1729, - 1730, - 1731 + 1731, + 1732, + 1733 ] }, { "teal": 1983, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1732, - 1733, 1734 ] }, { - "teal": 1986, + "teal": 1984, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1735, - 1736, - 1737 + 1735 ] }, { - "teal": 1987, + "teal": 1996, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ + 1736, + 1737, 1738 ] }, - { - "teal": 1988, - "source": "examples/reti/stakingPool.algo.ts:505", - "pc": [ - 1739 - ] - }, { "teal": 2000, - "source": "examples/reti/stakingPool.algo.ts:505", - "pc": [ - 1740, - 1741, - 1742 - ] - }, - { - "teal": 2004, "source": "examples/reti/stakingPool.algo.ts:506", "pc": [ - 1743, - 1744, - 1745 + 1739, + 1740, + 1741 ] }, { - "teal": 2007, + "teal": 2003, "source": "examples/reti/stakingPool.algo.ts:506", "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 1746 + 1742 ] }, { - "teal": 2011, + "teal": 2007, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ + 1743, + 1744, + 1745, + 1746, 1747, 1748, 1749, 1750, 1751, - 1752, - 1753, - 1754, - 1755, - 1756 + 1752 ] }, { - "teal": 2012, + "teal": 2008, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ - 1757, - 1758 + 1753, + 1754 ] }, { - "teal": 2013, + "teal": 2009, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ - 1759 + 1755 ] }, { - "teal": 2014, + "teal": 2010, "source": "examples/reti/stakingPool.algo.ts:505", + "pc": [ + 1756 + ] + }, + { + "teal": 2015, + "source": "examples/reti/stakingPool.algo.ts:518", + "pc": [ + 1757, + 1758, + 1759 + ] + }, + { + "teal": 2016, + "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1760 ] }, { - "teal": 2019, + "teal": 2017, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ - 1761, - 1762, - 1763 + 1761 ] }, { - "teal": 2020, + "teal": 2028, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ + 1762, + 1763, 1764 ] }, { - "teal": 2021, + "teal": 2031, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1765 @@ -8628,41 +8628,41 @@ "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1766, - 1767, - 1768 + 1767 ] }, { - "teal": 2035, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 2039, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1769 + 1768 ] }, { - "teal": 2036, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 2040, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1770, - 1771 + 1769 ] }, { - "teal": 2043, + "teal": 2041, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1772 + 1770, + 1771 ] }, { - "teal": 2044, + "teal": 2042, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ + 1772, 1773 ] }, { - "teal": 2045, + "teal": 2043, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1774, @@ -8670,96 +8670,102 @@ ] }, { - "teal": 2046, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2047, + "source": "examples/reti/stakingPool.algo.ts:521", + "pc": [ + 1776 + ] + }, + { + "teal": 2048, + "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ - 1776, 1777 ] }, { - "teal": 2047, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2049, + "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ 1778, 1779 ] }, { - "teal": 2051, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2053, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1780 ] }, { - "teal": 2052, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2054, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1781 ] }, { - "teal": 2053, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2055, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ - 1782, - 1783 + 1782 ] }, { - "teal": 2057, + "teal": 2056, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ + 1783, 1784 ] }, { - "teal": 2058, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2059, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1785 ] }, { - "teal": 2059, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2060, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1786 + 1786, + 1787 ] }, { - "teal": 2060, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2063, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1787, 1788 ] }, { - "teal": 2063, + "teal": 2064, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1789 + 1789, + 1790 ] }, { - "teal": 2064, + "teal": 2065, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1790, 1791 ] }, { - "teal": 2067, + "teal": 2066, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1792 ] }, { - "teal": 2068, + "teal": 2067, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1793, @@ -8767,94 +8773,88 @@ ] }, { - "teal": 2069, - "source": "examples/reti/stakingPool.algo.ts:520", - "pc": [ - 1795 - ] - }, - { - "teal": 2070, + "teal": 2068, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1796 + 1795, + 1796, + 1797 ] }, { - "teal": 2071, + "teal": 2069, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1797, - 1798 + 1798, + 1799 ] }, { - "teal": 2072, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2073, + "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ - 1799, 1800, 1801 ] }, { - "teal": 2073, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2074, + "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1802, - 1803 + 1803, + 1804 ] }, { - "teal": 2077, + "teal": 2075, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ - 1804, 1805 ] }, { - "teal": 2078, + "teal": 2076, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1806, - 1807, - 1808 + 1807 ] }, { - "teal": 2079, - "source": "examples/reti/stakingPool.algo.ts:529", + "teal": 2080, + "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ + 1808, 1809 ] }, { - "teal": 2080, - "source": "examples/reti/stakingPool.algo.ts:529", + "teal": 2081, + "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ 1810, 1811 ] }, { - "teal": 2084, - "source": "examples/reti/stakingPool.algo.ts:530", + "teal": 2085, + "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1812, 1813 ] }, { - "teal": 2085, - "source": "examples/reti/stakingPool.algo.ts:530", + "teal": 2086, + "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1814, 1815 ] }, { - "teal": 2089, + "teal": 2087, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1816, @@ -8862,15 +8862,21 @@ ] }, { - "teal": 2090, + "teal": 2088, + "source": "examples/reti/stakingPool.algo.ts:531", + "pc": [ + 1818 + ] + }, + { + "teal": 2089, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ - 1818, 1819 ] }, { - "teal": 2091, + "teal": 2090, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1820, @@ -8878,106 +8884,106 @@ ] }, { - "teal": 2092, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2095, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1822 + 1822, + 1823, + 1824 ] }, { - "teal": 2093, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2096, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1823 + 1825, + 1826 ] }, { - "teal": 2094, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2097, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1824, - 1825 + 1827 ] }, { - "teal": 2099, + "teal": 2098, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1826, - 1827, 1828 ] }, { - "teal": 2100, + "teal": 2099, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1829, - 1830 + 1829 ] }, { - "teal": 2101, + "teal": 2100, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1831 + 1830, + 1831, + 1832 ] }, { - "teal": 2102, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2105, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1832 + 1833, + 1834 ] }, { - "teal": 2103, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2106, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1833 + 1835 ] }, { - "teal": 2104, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2107, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1834, - 1835, - 1836 + 1836, + 1837 ] }, { - "teal": 2109, + "teal": 2108, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1837, 1838 ] }, { - "teal": 2110, + "teal": 2109, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1839 + 1839, + 1840 ] }, { - "teal": 2111, + "teal": 2110, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1840, 1841 ] }, { - "teal": 2112, + "teal": 2111, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1842 ] }, { - "teal": 2113, + "teal": 2112, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1843, @@ -8985,549 +8991,543 @@ ] }, { - "teal": 2114, - "source": "examples/reti/stakingPool.algo.ts:535", - "pc": [ - 1845 - ] - }, - { - "teal": 2115, - "source": "examples/reti/stakingPool.algo.ts:535", + "teal": 2116, + "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ + 1845, 1846 ] }, { - "teal": 2116, - "source": "examples/reti/stakingPool.algo.ts:535", + "teal": 2117, + "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ 1847, 1848 ] }, { - "teal": 2120, + "teal": 2118, "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ - 1849, - 1850 + 1849 ] }, { "teal": 2121, "source": "examples/reti/stakingPool.algo.ts:539", + "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call", "pc": [ - 1851, - 1852 + 1850 ] }, { - "teal": 2122, - "source": "examples/reti/stakingPool.algo.ts:539", + "teal": 2126, + "source": "examples/reti/stakingPool.algo.ts:542", "pc": [ + 1851, + 1852, 1853 ] }, { - "teal": 2125, - "source": "examples/reti/stakingPool.algo.ts:539", - "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call", + "teal": 2130, + "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1854 + 1854, + 1855 ] }, { - "teal": 2130, - "source": "examples/reti/stakingPool.algo.ts:542", + "teal": 2131, + "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1855, 1856, 1857 ] }, { - "teal": 2134, + "teal": 2132, "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1858, - 1859 + 1858 ] }, { - "teal": 2135, - "source": "examples/reti/stakingPool.algo.ts:545", + "teal": 2136, + "source": "examples/reti/stakingPool.algo.ts:546", + "pc": [ + 1859, + 1860 + ] + }, + { + "teal": 2137, + "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ - 1860, 1861 ] }, { - "teal": 2136, - "source": "examples/reti/stakingPool.algo.ts:545", + "teal": 2138, + "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1862 ] }, { - "teal": 2140, + "teal": 2139, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ - 1863, - 1864 + 1863 ] }, { - "teal": 2141, + "teal": 2140, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ + 1864, 1865 ] }, { - "teal": 2142, + "teal": 2141, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1866 ] }, { - "teal": 2143, + "teal": 2142, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1867 ] }, { - "teal": 2144, - "source": "examples/reti/stakingPool.algo.ts:546", + "teal": 2146, + "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1868, 1869 ] }, { - "teal": 2145, - "source": "examples/reti/stakingPool.algo.ts:546", - "pc": [ - 1870 - ] - }, - { - "teal": 2146, - "source": "examples/reti/stakingPool.algo.ts:546", + "teal": 2147, + "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1871 + 1870, + 1871, + 1872 ] }, { - "teal": 2150, + "teal": 2148, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1872, 1873 ] }, { - "teal": 2151, + "teal": 2149, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1874, - 1875, - 1876 + 1874 ] }, { - "teal": 2152, + "teal": 2150, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1877 + 1875 ] }, { - "teal": 2153, + "teal": 2151, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1878 + 1876, + 1877 ] }, { - "teal": 2154, - "source": "examples/reti/stakingPool.algo.ts:551", + "teal": 2155, + "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ - 1879 + 1878, + 1879, + 1880 ] }, { - "teal": 2155, - "source": "examples/reti/stakingPool.algo.ts:551", + "teal": 2156, + "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ - 1880, - 1881 + 1881, + 1882 ] }, { - "teal": 2159, - "source": "examples/reti/stakingPool.algo.ts:552", + "teal": 2160, + "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ - 1882, 1883, 1884 ] }, { - "teal": 2160, - "source": "examples/reti/stakingPool.algo.ts:552", + "teal": 2161, + "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ 1885, 1886 ] }, { - "teal": 2164, - "source": "examples/reti/stakingPool.algo.ts:553", + "teal": 2166, + "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1887, 1888 ] }, { - "teal": 2165, - "source": "examples/reti/stakingPool.algo.ts:553", + "teal": 2167, + "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1889, - 1890 + 1890, + 1891 ] }, { - "teal": 2170, - "source": "examples/reti/stakingPool.algo.ts:558", + "teal": 2173, + "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1891, - 1892 + 1892, + 1893 ] }, { - "teal": 2171, - "source": "examples/reti/stakingPool.algo.ts:558", + "teal": 2174, + "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1893, - 1894, - 1895 + 1894 ] }, { - "teal": 2177, + "teal": 2175, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1896, - 1897 + 1895 ] }, { - "teal": 2178, + "teal": 2176, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1898 + 1896 ] }, { - "teal": 2179, + "teal": 2177, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ + 1897, + 1898, 1899 ] }, { - "teal": 2180, - "source": "examples/reti/stakingPool.algo.ts:559", + "teal": 2185, + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1900 ] }, { - "teal": 2181, - "source": "examples/reti/stakingPool.algo.ts:559", + "teal": 2186, + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1901, - 1902, - 1903 + 1901 ] }, { - "teal": 2189, + "teal": 2187, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1904 + 1902, + 1903 ] }, { - "teal": 2190, + "teal": 2188, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ + 1904, 1905 ] }, { - "teal": 2191, + "teal": 2189, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1906, 1907 ] }, - { - "teal": 2192, - "source": "examples/reti/stakingPool.algo.ts:561", - "pc": [ - 1908, - 1909 - ] - }, { "teal": 2193, - "source": "examples/reti/stakingPool.algo.ts:561", - "pc": [ - 1910, - 1911 - ] - }, - { - "teal": 2197, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1912 + 1908 ] }, { - "teal": 2198, + "teal": 2194, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1913 + 1909 ] }, { - "teal": 2199, + "teal": 2195, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1914, - 1915 + 1910, + 1911 ] }, { - "teal": 2203, + "teal": 2199, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1916 + 1912 ] }, { - "teal": 2204, + "teal": 2200, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1917 + 1913 ] }, { - "teal": 2205, + "teal": 2201, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1918 + 1914 ] }, { - "teal": 2206, + "teal": 2202, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1919, - 1920 + 1915, + 1916 ] }, { - "teal": 2207, + "teal": 2203, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ + 1917, + 1918, + 1919, + 1920, 1921, 1922, 1923, 1924, 1925, - 1926, + 1926 + ] + }, + { + "teal": 2204, + "source": "examples/reti/stakingPool.algo.ts:563", + "pc": [ 1927, - 1928, - 1929, - 1930 + 1928 + ] + }, + { + "teal": 2207, + "source": "examples/reti/stakingPool.algo.ts:561", + "pc": [ + 1929 ] }, { "teal": 2208, - "source": "examples/reti/stakingPool.algo.ts:563", + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1931, - 1932 + 1930, + 1931 ] }, { "teal": 2211, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1933 + 1932 ] }, { "teal": 2212, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1934, - 1935 + 1933, + 1934 ] }, { - "teal": 2215, + "teal": 2213, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1936 + 1935 ] }, { - "teal": 2216, + "teal": 2214, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1937, - 1938 + 1936 ] }, { - "teal": 2217, + "teal": 2215, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1939 + 1937, + 1938 ] }, { - "teal": 2218, + "teal": 2216, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1940 + 1939, + 1940, + 1941 ] }, { - "teal": 2219, + "teal": 2217, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1941, 1942 ] }, { - "teal": 2220, + "teal": 2218, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1943, - 1944, - 1945 + 1944 ] }, { - "teal": 2221, - "source": "examples/reti/stakingPool.algo.ts:561", + "teal": 2222, + "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ + 1945, 1946 ] }, { - "teal": 2222, - "source": "examples/reti/stakingPool.algo.ts:561", + "teal": 2223, + "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1947, 1948 ] }, { - "teal": 2226, + "teal": 2224, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ - 1949, - 1950 + 1949 ] }, { - "teal": 2227, + "teal": 2225, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ - 1951, - 1952 + 1950, + 1951 ] }, { - "teal": 2228, - "source": "examples/reti/stakingPool.algo.ts:565", + "teal": 2231, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ + 1952, 1953 ] }, { - "teal": 2229, - "source": "examples/reti/stakingPool.algo.ts:565", + "teal": 2232, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1954, - 1955 + 1954 ] }, { - "teal": 2235, + "teal": 2233, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1956, - 1957 + 1955 ] }, { - "teal": 2236, + "teal": 2234, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1958 + 1956 ] }, { - "teal": 2237, + "teal": 2235, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ + 1957, + 1958, 1959 ] }, { - "teal": 2238, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2243, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1960 ] }, { - "teal": 2239, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2244, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1961, - 1962, - 1963 + 1961 ] }, { - "teal": 2247, + "teal": 2245, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1964 + 1962, + 1963 ] }, { - "teal": 2248, + "teal": 2246, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ + 1964, 1965 ] }, { - "teal": 2249, + "teal": 2247, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1966, @@ -9535,96 +9535,102 @@ ] }, { - "teal": 2250, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2251, + "source": "examples/reti/stakingPool.algo.ts:572", + "pc": [ + 1968 + ] + }, + { + "teal": 2252, + "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ - 1968, 1969 ] }, { - "teal": 2251, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2253, + "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ 1970, 1971 ] }, { - "teal": 2255, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2257, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1972 ] }, { - "teal": 2256, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2258, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1973 ] }, { - "teal": 2257, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2259, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ - 1974, - 1975 + 1974 ] }, { - "teal": 2261, + "teal": 2260, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ + 1975, 1976 ] }, { - "teal": 2262, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2263, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1977 ] }, { - "teal": 2263, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2264, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1978 + 1978, + 1979 ] }, { - "teal": 2264, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2267, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1979, 1980 ] }, { - "teal": 2267, + "teal": 2268, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1981 + 1981, + 1982 ] }, { - "teal": 2268, + "teal": 2269, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1982, 1983 ] }, { - "teal": 2271, + "teal": 2270, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1984 ] }, { - "teal": 2272, + "teal": 2271, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1985, @@ -9632,69 +9638,63 @@ ] }, { - "teal": 2273, - "source": "examples/reti/stakingPool.algo.ts:571", - "pc": [ - 1987 - ] - }, - { - "teal": 2274, + "teal": 2272, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1988 + 1987, + 1988, + 1989 ] }, { - "teal": 2275, + "teal": 2273, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1989, - 1990 + 1990, + 1991 ] }, { - "teal": 2276, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2274, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1991, 1992, - 1993 + 1993, + 1994 ] }, { - "teal": 2277, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2282, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1994, 1995 ] }, { - "teal": 2278, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2283, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1996, - 1997, - 1998 + 1996 ] }, { - "teal": 2286, + "teal": 2284, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1999 + 1997, + 1998 ] }, { - "teal": 2287, + "teal": 2285, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ + 1999, 2000 ] }, { - "teal": 2288, + "teal": 2286, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2001, @@ -9702,142 +9702,148 @@ ] }, { - "teal": 2289, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2290, + "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2003, 2004 ] }, { - "teal": 2290, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2291, + "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2005, 2006 ] }, { - "teal": 2294, - "source": "examples/reti/stakingPool.algo.ts:578", + "teal": 2295, + "source": "examples/reti/stakingPool.algo.ts:579", + "pc": [ + 2007 + ] + }, + { + "teal": 2296, + "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2007, 2008 ] }, { - "teal": 2295, - "source": "examples/reti/stakingPool.algo.ts:578", + "teal": 2297, + "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2009, - 2010 + 2009 ] }, { - "teal": 2299, + "teal": 2298, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ + 2010, 2011 ] }, { - "teal": 2300, + "teal": 2299, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2012 ] }, { - "teal": 2301, + "teal": 2300, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2013 ] }, { - "teal": 2302, + "teal": 2301, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2014, - 2015 + 2014 ] }, { - "teal": 2303, + "teal": 2302, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2016 + 2015, + 2016, + 2017 ] }, { - "teal": 2304, + "teal": 2303, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2017 + 2018 ] }, { - "teal": 2305, + "teal": 2304, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2018 + 2019 ] }, { - "teal": 2306, + "teal": 2305, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2019, 2020, 2021 ] }, { - "teal": 2307, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2308, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2022 ] }, { - "teal": 2308, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2309, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2023 + 2023, + 2024 ] }, { - "teal": 2309, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2312, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2024, 2025 ] }, { - "teal": 2312, + "teal": 2313, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2026 + 2026, + 2027 ] }, { - "teal": 2313, + "teal": 2314, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2027, 2028 ] }, { - "teal": 2316, + "teal": 2315, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2029 ] }, { - "teal": 2317, + "teal": 2316, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2030, @@ -9845,161 +9851,161 @@ ] }, { - "teal": 2318, + "teal": 2317, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2032 + 2032, + 2033, + 2034 ] }, { - "teal": 2319, + "teal": 2318, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2033 + 2035, + 2036 ] }, { - "teal": 2320, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2328, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2034, - 2035 + 2037 ] }, { - "teal": 2321, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2329, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2036, - 2037, 2038 ] }, { - "teal": 2322, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2330, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2039, 2040 ] }, { - "teal": 2332, + "teal": 2331, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2041 + 2041, + 2042, + 2043, + 2044, + 2045, + 2046 ] }, { - "teal": 2333, + "teal": 2332, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2042 + 2047, + 2048 ] }, { - "teal": 2334, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2336, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ - 2043, - 2044 + 2049 ] }, { - "teal": 2335, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2337, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ - 2045, - 2046, - 2047, - 2048, - 2049, 2050 ] }, { - "teal": 2336, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2338, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ 2051, 2052 ] }, { - "teal": 2340, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2342, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2053 ] }, { - "teal": 2341, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2343, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2054 ] }, { - "teal": 2342, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2344, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ - 2055, - 2056 + 2055 ] }, { - "teal": 2346, + "teal": 2345, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ + 2056, 2057 ] }, { - "teal": 2347, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2348, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2058 ] }, { - "teal": 2348, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2349, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2059 + 2059, + 2060 ] }, { - "teal": 2349, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2352, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2060, 2061 ] }, { - "teal": 2352, + "teal": 2353, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2062 + 2062, + 2063 ] }, { - "teal": 2353, + "teal": 2354, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2063, 2064 ] }, { - "teal": 2356, + "teal": 2355, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2065 ] }, { - "teal": 2357, + "teal": 2356, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2066, @@ -10007,495 +10013,495 @@ ] }, { - "teal": 2358, - "source": "examples/reti/stakingPool.algo.ts:586", - "pc": [ - 2068 - ] - }, - { - "teal": 2359, + "teal": 2357, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2069 + 2068, + 2069, + 2070 ] }, { - "teal": 2360, + "teal": 2358, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2070, - 2071 + 2071, + 2072 ] }, { - "teal": 2361, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2362, + "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ - 2072, 2073, 2074 ] }, { - "teal": 2362, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2363, + "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2075, - 2076 + 2076, + 2077 ] }, { - "teal": 2366, + "teal": 2364, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ - 2077, 2078 ] }, { - "teal": 2367, + "teal": 2365, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2079, - 2080, - 2081 + 2080 ] }, { - "teal": 2368, - "source": "examples/reti/stakingPool.algo.ts:590", + "teal": 2369, + "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ + 2081, 2082 ] }, { - "teal": 2369, - "source": "examples/reti/stakingPool.algo.ts:590", + "teal": 2370, + "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2083, 2084 ] }, { - "teal": 2373, + "teal": 2371, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2085, - 2086 + 2085 ] }, { - "teal": 2374, + "teal": 2372, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2087, - 2088 + 2086, + 2087 ] }, { - "teal": 2375, + "teal": 2373, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2089 + 2088 ] }, { - "teal": 2376, + "teal": 2374, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2090, - 2091 + 2089 ] }, { - "teal": 2377, + "teal": 2375, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2092 + 2090, + 2091 ] }, { - "teal": 2378, + "teal": 2376, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ + 2092, 2093 ] }, { - "teal": 2379, - "source": "examples/reti/stakingPool.algo.ts:596", - "pc": [ - 2094, - 2095 - ] - }, - { - "teal": 2380, + "teal": 2377, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2096, - 2097 + 2094 ] }, { - "teal": 2381, + "teal": 2378, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2098 + 2095 ] }, { - "teal": 2382, + "teal": 2379, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2099 + 2096, + 2097 ] }, { "teal": 2383, - "source": "examples/reti/stakingPool.algo.ts:596", + "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ - 2100, - 2101 + 2098 ] }, { - "teal": 2387, + "teal": 2384, "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ - 2102 + 2099, + 2100 ] }, { "teal": 2388, - "source": "examples/reti/stakingPool.algo.ts:597", + "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ - 2103, - 2104 + 2101, + 2102, + 2103 ] }, { - "teal": 2392, + "teal": 2389, "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ - 2105, + 2104, + 2105 + ] + }, + { + "teal": 2394, + "source": "examples/reti/stakingPool.algo.ts:606", + "pc": [ 2106, 2107 ] }, { - "teal": 2393, - "source": "examples/reti/stakingPool.algo.ts:598", + "teal": 2395, + "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2108, - 2109 + 2109, + 2110 ] }, { - "teal": 2398, + "teal": 2396, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ - 2110, 2111 ] }, { - "teal": 2399, + "teal": 2397, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2112, - 2113, - 2114 + 2113 ] }, { - "teal": 2400, + "teal": 2398, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ - 2115 + 2114 ] }, { - "teal": 2401, + "teal": 2399, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ + 2115, 2116, 2117 ] }, { - "teal": 2402, - "source": "examples/reti/stakingPool.algo.ts:606", + "teal": 2404, + "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ 2118 ] }, { - "teal": 2403, - "source": "examples/reti/stakingPool.algo.ts:606", - "pc": [ - 2119, - 2120, - 2121 - ] - }, - { - "teal": 2408, + "teal": 2405, "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ - 2122 + 2119, + 2120 ] }, { - "teal": 2409, - "source": "examples/reti/stakingPool.algo.ts:607", + "teal": 2410, + "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ - 2123, - 2124 + 2121 ] }, { - "teal": 2414, + "teal": 2411, "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ - 2125 + 2122, + 2123 ] }, { "teal": 2415, - "source": "examples/reti/stakingPool.algo.ts:613", + "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ - 2126, - 2127 + 2124 ] }, { - "teal": 2419, + "teal": 2416, "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ - 2128 + 2125, + 2126 ] }, { "teal": 2420, - "source": "examples/reti/stakingPool.algo.ts:614", + "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ - 2129, - 2130 + 2127 ] }, { - "teal": 2424, + "teal": 2421, "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ - 2131 + 2128, + 2129 ] }, { "teal": 2425, - "source": "examples/reti/stakingPool.algo.ts:615", + "source": "examples/reti/stakingPool.algo.ts:616", "pc": [ - 2132, - 2133 + 2130 ] }, { - "teal": 2429, + "teal": 2426, "source": "examples/reti/stakingPool.algo.ts:616", "pc": [ + 2131, + 2132 + ] + }, + { + "teal": 2431, + "source": "examples/reti/stakingPool.algo.ts:617", + "pc": [ + 2133, 2134 ] }, { - "teal": 2430, - "source": "examples/reti/stakingPool.algo.ts:616", + "teal": 2432, + "source": "examples/reti/stakingPool.algo.ts:617", "pc": [ 2135, - 2136 + 2136, + 2137 ] }, { - "teal": 2435, - "source": "examples/reti/stakingPool.algo.ts:617", + "teal": 2438, + "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2137, - 2138 + 2138, + 2139 ] }, { - "teal": 2436, - "source": "examples/reti/stakingPool.algo.ts:617", + "teal": 2439, + "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2139, 2140, 2141 ] }, { - "teal": 2442, + "teal": 2440, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2142, - 2143 + 2143, + 2144 ] }, { - "teal": 2443, + "teal": 2441, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2144, 2145 ] }, { - "teal": 2444, + "teal": 2442, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2146, - 2147, - 2148 + 2147 ] }, { - "teal": 2445, + "teal": 2443, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2149 + 2148 ] }, { - "teal": 2446, + "teal": 2444, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2150, - 2151 + 2149, + 2150 ] }, { - "teal": 2447, + "teal": 2445, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2152 + 2151 ] }, { - "teal": 2448, - "source": "examples/reti/stakingPool.algo.ts:619", + "teal": 2446, + "source": "examples/reti/stakingPool.algo.ts:618", "pc": [ - 2153, - 2154 + 2152, + 2153 ] }, { - "teal": 2449, - "source": "examples/reti/stakingPool.algo.ts:619", + "teal": 2451, + "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ + 2154, 2155 ] }, { - "teal": 2450, - "source": "examples/reti/stakingPool.algo.ts:618", + "teal": 2452, + "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2156, 2157 ] }, { - "teal": 2455, + "teal": 2453, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2158, - 2159 + 2159, + 2160 ] }, { - "teal": 2456, + "teal": 2454, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ - 2160, 2161 ] }, { - "teal": 2457, + "teal": 2455, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ - 2162, - 2163, - 2164 + 2162 ] }, { - "teal": 2458, + "teal": 2456, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ + 2163, + 2164, 2165 ] }, { - "teal": 2459, - "source": "examples/reti/stakingPool.algo.ts:623", + "teal": 2461, + "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2166 + 2166, + 2167 ] }, { - "teal": 2460, - "source": "examples/reti/stakingPool.algo.ts:623", + "teal": 2462, + "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2167, - 2168, - 2169 + 2168 ] }, { - "teal": 2465, + "teal": 2463, + "source": "examples/reti/stakingPool.algo.ts:629", + "pc": [ + 2169, + 2170 + ] + }, + { + "teal": 2464, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2170, 2171 ] }, { - "teal": 2466, + "teal": 2465, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2172 ] }, { - "teal": 2467, + "teal": 2466, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2173, - 2174 + 2173 ] }, { - "teal": 2468, + "teal": 2467, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ + 2174, 2175 ] }, { - "teal": 2469, + "teal": 2468, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2176 ] }, { - "teal": 2470, + "teal": 2469, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2177 ] }, { - "teal": 2471, + "teal": 2470, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2178, @@ -10503,21 +10509,21 @@ ] }, { - "teal": 2472, + "teal": 2471, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2180 ] }, { - "teal": 2473, + "teal": 2472, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2181 ] }, { - "teal": 2474, + "teal": 2473, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2182, @@ -10525,53 +10531,53 @@ ] }, { - "teal": 2475, - "source": "examples/reti/stakingPool.algo.ts:629", - "pc": [ - 2184 - ] - }, - { - "teal": 2476, - "source": "examples/reti/stakingPool.algo.ts:629", + "teal": 2477, + "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ + 2184, 2185 ] }, { - "teal": 2477, - "source": "examples/reti/stakingPool.algo.ts:629", + "teal": 2478, + "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2186, - 2187 + 2187, + 2188 ] }, { - "teal": 2481, + "teal": 2479, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2188, 2189 ] }, { - "teal": 2482, + "teal": 2480, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2190, - 2191, + 2191 + ] + }, + { + "teal": 2481, + "source": "examples/reti/stakingPool.algo.ts:632", + "pc": [ 2192 ] }, { - "teal": 2483, + "teal": 2482, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2193 ] }, { - "teal": 2484, + "teal": 2483, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2194, @@ -10579,145 +10585,127 @@ ] }, { - "teal": 2485, + "teal": 2484, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2196 ] }, { - "teal": 2486, + "teal": 2485, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2197 ] }, { - "teal": 2487, - "source": "examples/reti/stakingPool.algo.ts:632", - "pc": [ - 2198, - 2199 - ] - }, - { - "teal": 2488, + "teal": 2486, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2200 + 2198 ] }, { - "teal": 2489, + "teal": 2487, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2201 + 2199 ] }, { - "teal": 2490, + "teal": 2488, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2202 + 2200 ] }, { "teal": 2491, "source": "examples/reti/stakingPool.algo.ts:632", + "errorMessage": "wideRatio failed", "pc": [ - 2203 + 2201 ] }, { "teal": 2492, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2204 + 2202, + 2203 ] }, { - "teal": 2495, - "source": "examples/reti/stakingPool.algo.ts:632", - "errorMessage": "wideRatio failed", + "teal": 2500, + "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ + 2204, 2205 ] }, { - "teal": 2496, - "source": "examples/reti/stakingPool.algo.ts:632", + "teal": 2501, + "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ - 2206, - 2207 + 2206 ] }, { - "teal": 2504, + "teal": 2502, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ - 2208, - 2209 + 2207 ] }, { - "teal": 2505, + "teal": 2503, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ + 2208, + 2209, 2210 ] }, { - "teal": 2506, - "source": "examples/reti/stakingPool.algo.ts:635", + "teal": 2509, + "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2211 + 2211, + 2212 ] }, { - "teal": 2507, - "source": "examples/reti/stakingPool.algo.ts:635", + "teal": 2510, + "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2212, 2213, 2214 ] }, { - "teal": 2513, + "teal": 2511, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2215, - 2216 + 2215 ] }, { - "teal": 2514, + "teal": 2512, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ + 2216, 2217, 2218 ] }, { - "teal": 2515, - "source": "examples/reti/stakingPool.algo.ts:640", - "pc": [ - 2219 - ] - }, - { - "teal": 2516, - "source": "examples/reti/stakingPool.algo.ts:640", + "teal": 2517, + "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ + 2219, 2220, 2221, - 2222 - ] - }, - { - "teal": 2521, - "source": "examples/reti/stakingPool.algo.ts:641", - "pc": [ + 2222, 2223, 2224, 2225, @@ -10737,239 +10725,239 @@ 2239, 2240, 2241, - 2242, - 2243, - 2244, - 2245, - 2246 + 2242 ] }, { - "teal": 2522, + "teal": 2518, "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ - 2247 + 2243 ] }, { - "teal": 2526, + "teal": 2522, "source": "examples/reti/stakingPool.algo.ts:642", "pc": [ - 2248 + 2244 ] }, { - "teal": 2534, + "teal": 2530, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2249, - 2250 + 2245, + 2246 ] }, { - "teal": 2535, + "teal": 2531, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2251, - 2252, - 2253 + 2247, + 2248, + 2249 ] }, { - "teal": 2540, + "teal": 2536, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2254, - 2255 + 2250, + 2251 ] }, { - "teal": 2541, + "teal": 2537, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2256, - 2257 + 2252, + 2253 ] }, { - "teal": 2542, + "teal": 2538, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2258 + 2254 ] }, { - "teal": 2543, + "teal": 2539, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2259 + 2255 ] }, { - "teal": 2544, + "teal": 2540, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2260, - 2261 + 2256, + 2257 ] }, { - "teal": 2545, + "teal": 2541, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2262, - 2263, - 2264 + 2258, + 2259, + 2260 ] }, { - "teal": 2546, + "teal": 2542, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2265 + 2261 ] }, { - "teal": 2547, + "teal": 2543, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2266 + 2262 ] }, { - "teal": 2548, + "teal": 2544, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2267 + 2263 ] }, { - "teal": 2549, + "teal": 2545, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2268 + 2264 ] }, { - "teal": 2550, + "teal": 2546, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2269 + 2265 ] }, { - "teal": 2551, + "teal": 2547, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2270 + 2266 ] }, { - "teal": 2554, + "teal": 2550, "source": "examples/reti/stakingPool.algo.ts:649", "errorMessage": "wideRatio failed", "pc": [ - 2271 + 2267 ] }, { - "teal": 2555, + "teal": 2551, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2272, - 2273 + 2268, + 2269 ] }, { - "teal": 2559, + "teal": 2555, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2274, - 2275 + 2270, + 2271 ] }, { - "teal": 2560, + "teal": 2556, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2276, - 2277 + 2272, + 2273 ] }, { - "teal": 2561, + "teal": 2557, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2278 + 2274 ] }, { - "teal": 2562, + "teal": 2558, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2279, - 2280 + 2275, + 2276 ] }, { - "teal": 2570, + "teal": 2566, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2281 + 2277 ] }, { - "teal": 2571, + "teal": 2567, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2282 + 2278 ] }, { - "teal": 2572, + "teal": 2568, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2283, - 2284 + 2279, + 2280 ] }, { - "teal": 2576, + "teal": 2572, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ - 2285, - 2286 + 2281, + 2282 ] }, { - "teal": 2577, + "teal": 2573, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ - 2287, - 2288 + 2283, + 2284 ] }, { - "teal": 2581, + "teal": 2577, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ - 2289, - 2290, - 2291 + 2285, + 2286, + 2287 ] }, { - "teal": 2582, + "teal": 2578, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ - 2292, - 2293 + 2288, + 2289 ] }, { - "teal": 2586, + "teal": 2582, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ + 2290, + 2291, + 2292, + 2293, 2294, 2295, 2296, @@ -11001,405 +10989,423 @@ 2322, 2323, 2324, - 2325, - 2326, - 2327, - 2328, - 2329 + 2325 ] }, { - "teal": 2587, + "teal": 2583, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ - 2330, - 2331 + 2326, + 2327 ] }, { - "teal": 2590, + "teal": 2586, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2332 + 2328 ] }, { - "teal": 2591, + "teal": 2587, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2333, - 2334 + 2329, + 2330 ] }, { - "teal": 2594, + "teal": 2590, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2335 + 2331 ] }, { - "teal": 2598, + "teal": 2594, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ - 2336, - 2337 + 2332, + 2333 ] }, { - "teal": 2599, + "teal": 2595, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ - 2338, - 2339 + 2334, + 2335 ] }, { - "teal": 2600, + "teal": 2596, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2340, + 2336, + 2337, + 2338 + ] + }, + { + "teal": 2601, + "source": "examples/reti/stakingPool.algo.ts:659", + "pc": [ + 2339, + 2340 + ] + }, + { + "teal": 2602, + "source": "examples/reti/stakingPool.algo.ts:659", + "pc": [ 2341, - 2342 + 2342, + 2343 ] }, { - "teal": 2605, + "teal": 2603, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2343, 2344 ] }, { - "teal": 2606, + "teal": 2604, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2345, - 2346, - 2347 + 2345 ] }, { - "teal": 2607, + "teal": 2605, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2348 + 2346 ] }, { - "teal": 2608, + "teal": 2606, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ + 2347, + 2348, 2349 ] }, { - "teal": 2609, - "source": "examples/reti/stakingPool.algo.ts:659", + "teal": 2614, + "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2350 + 2350, + 2351 ] }, { - "teal": 2610, - "source": "examples/reti/stakingPool.algo.ts:659", + "teal": 2615, + "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2351, 2352, 2353 ] }, { - "teal": 2618, + "teal": 2616, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2354, - 2355 + 2355, + 2356 ] }, { - "teal": 2619, + "teal": 2617, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2356, 2357 ] }, { - "teal": 2620, - "source": "examples/reti/stakingPool.algo.ts:663", + "teal": 2618, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2358, - 2359, - 2360 + 2358 ] }, { - "teal": 2621, - "source": "examples/reti/stakingPool.algo.ts:663", + "teal": 2619, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2361 + 2359 ] }, { - "teal": 2622, - "source": "examples/reti/stakingPool.algo.ts:662", + "teal": 2620, + "source": "examples/reti/stakingPool.algo.ts:664", "pc": [ - 2362 + 2360, + 2361 ] }, { - "teal": 2623, + "teal": 2621, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2363 + 2362 ] }, { - "teal": 2624, - "source": "examples/reti/stakingPool.algo.ts:664", + "teal": 2622, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2364, - 2365 + 2363 ] }, { - "teal": 2625, + "teal": 2623, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2366 + 2364 ] }, { - "teal": 2626, + "teal": 2624, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2367 + 2365 ] }, { - "teal": 2627, + "teal": 2625, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2368 + 2366 ] }, { "teal": 2628, "source": "examples/reti/stakingPool.algo.ts:662", + "errorMessage": "wideRatio failed", "pc": [ - 2369 + 2367 ] }, { "teal": 2629, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2370 + 2368, + 2369 ] }, { - "teal": 2632, - "source": "examples/reti/stakingPool.algo.ts:662", - "errorMessage": "wideRatio failed", + "teal": 2633, + "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ + 2370, 2371 ] }, { - "teal": 2633, - "source": "examples/reti/stakingPool.algo.ts:662", + "teal": 2634, + "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2372, 2373 ] }, { - "teal": 2637, + "teal": 2635, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ - 2374, - 2375 + 2374 ] }, { - "teal": 2638, + "teal": 2636, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ - 2376, - 2377 + 2375, + 2376 ] }, { - "teal": 2639, - "source": "examples/reti/stakingPool.algo.ts:668", + "teal": 2641, + "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ + 2377, 2378 ] }, { - "teal": 2640, - "source": "examples/reti/stakingPool.algo.ts:668", + "teal": 2642, + "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ - 2379, - 2380 + 2379 ] }, { - "teal": 2645, + "teal": 2643, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ - 2381, - 2382 + 2380 ] }, { - "teal": 2646, + "teal": 2644, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ + 2381, + 2382, 2383 ] }, { - "teal": 2647, - "source": "examples/reti/stakingPool.algo.ts:675", + "teal": 2649, + "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2384 ] }, { - "teal": 2648, - "source": "examples/reti/stakingPool.algo.ts:675", + "teal": 2650, + "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2385, - 2386, - 2387 + 2386 ] }, { - "teal": 2653, - "source": "examples/reti/stakingPool.algo.ts:678", + "teal": 2656, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ + 2387, 2388 ] }, { - "teal": 2654, - "source": "examples/reti/stakingPool.algo.ts:678", + "teal": 2657, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2389, - 2390 + 2390, + 2391 ] }, { - "teal": 2660, + "teal": 2658, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2391, - 2392 + 2392, + 2393 ] }, { - "teal": 2661, + "teal": 2659, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2393, 2394, - 2395 + 2395, + 2396 ] }, { - "teal": 2662, + "teal": 2660, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2396, 2397 ] }, { - "teal": 2663, + "teal": 2661, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2398, - 2399, - 2400 + 2398 ] }, { - "teal": 2664, + "teal": 2662, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ + 2399, + 2400, 2401 ] }, + { + "teal": 2663, + "source": "examples/reti/stakingPool.algo.ts:681", + "pc": [ + 2402, + 2403 + ] + }, + { + "teal": 2664, + "source": "examples/reti/stakingPool.algo.ts:681", + "pc": [ + 2404, + 2405, + 2406 + ] + }, { "teal": 2665, - "source": "examples/reti/stakingPool.algo.ts:680", + "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2402 + 2407, + 2408 ] }, { "teal": 2666, - "source": "examples/reti/stakingPool.algo.ts:680", + "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2403, - 2404, - 2405 + 2409 ] }, { "teal": 2667, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2406, - 2407 + 2410, + 2411 ] }, { "teal": 2668, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2408, - 2409, - 2410 + 2412, + 2413, + 2414 ] }, { "teal": 2669, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2411, - 2412 + 2415, + 2416 ] }, { "teal": 2670, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2413 + 2417 ] }, { "teal": 2671, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2414, - 2415 - ] - }, - { - "teal": 2672, - "source": "examples/reti/stakingPool.algo.ts:681", - "pc": [ - 2416, - 2417, 2418 ] }, { - "teal": 2673, + "teal": 2672, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2419, @@ -11407,182 +11413,164 @@ ] }, { - "teal": 2674, + "teal": 2673, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2421 ] }, { - "teal": 2675, - "source": "examples/reti/stakingPool.algo.ts:681", + "teal": 2674, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2422 ] }, - { - "teal": 2676, - "source": "examples/reti/stakingPool.algo.ts:681", - "pc": [ - 2423, - 2424 - ] - }, { "teal": 2677, - "source": "examples/reti/stakingPool.algo.ts:681", + "source": "examples/reti/stakingPool.algo.ts:679", "pc": [ + 2423, + 2424, 2425 ] }, { - "teal": 2678, - "source": "examples/reti/stakingPool.algo.ts:680", + "teal": 2682, + "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2426 + 2426, + 2427 ] }, { - "teal": 2681, - "source": "examples/reti/stakingPool.algo.ts:679", + "teal": 2683, + "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2427, 2428, 2429 ] }, { - "teal": 2686, + "teal": 2684, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2430, - 2431 + 2430 ] }, { - "teal": 2687, + "teal": 2685, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ + 2431, 2432, 2433 ] }, { - "teal": 2688, + "teal": 2686, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2434 + 2434, + 2435 ] }, { - "teal": 2689, + "teal": 2687, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2435, 2436, - 2437 + 2437, + 2438 ] }, { "teal": 2690, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2438, - 2439 + 2439, + 2440 ] }, { - "teal": 2691, + "teal": 2693, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2440, 2441, 2442 ] }, { - "teal": 2694, - "source": "examples/reti/stakingPool.algo.ts:683", + "teal": 2701, + "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2443, - 2444 + 2443 ] }, { - "teal": 2697, - "source": "examples/reti/stakingPool.algo.ts:683", + "teal": 2702, + "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2445, - 2446 + 2444 ] }, { - "teal": 2705, + "teal": 2703, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2447 + 2445, + 2446 ] }, { - "teal": 2706, - "source": "examples/reti/stakingPool.algo.ts:684", + "teal": 2707, + "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ + 2447, 2448 ] }, { - "teal": 2707, - "source": "examples/reti/stakingPool.algo.ts:684", + "teal": 2708, + "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ 2449, 2450 ] }, { - "teal": 2711, - "source": "examples/reti/stakingPool.algo.ts:685", + "teal": 2712, + "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ 2451, 2452 ] }, { - "teal": 2712, - "source": "examples/reti/stakingPool.algo.ts:685", - "pc": [ - 2453, - 2454 - ] - }, - { - "teal": 2716, + "teal": 2713, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ - 2455, - 2456 + 2453, + 2454, + 2455 ] }, { - "teal": 2717, + "teal": 2714, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ - 2457, - 2458, - 2459 + 2456, + 2457 ] }, { "teal": 2718, - "source": "examples/reti/stakingPool.algo.ts:686", - "pc": [ - 2460, - 2461 - ] - }, - { - "teal": 2722, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ + 2458, + 2459, + 2460, + 2461, 2462, 2463, 2464, @@ -11633,171 +11621,171 @@ 2509, 2510, 2511, - 2512, - 2513, - 2514, - 2515, - 2516 + 2512 ] }, { - "teal": 2723, + "teal": 2719, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ - 2517, - 2518 + 2513, + 2514 ] }, { - "teal": 2726, + "teal": 2722, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2519 + 2515 ] }, { - "teal": 2727, + "teal": 2723, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2520, - 2521 + 2516, + 2517 ] }, { - "teal": 2730, + "teal": 2726, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2522 + 2518 ] }, { - "teal": 2736, + "teal": 2732, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2523, - 2524 + 2519, + 2520 ] }, { - "teal": 2737, + "teal": 2733, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2525, - 2526 + 2521, + 2522 ] }, { - "teal": 2738, + "teal": 2734, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2527 + 2523 ] }, { - "teal": 2739, + "teal": 2735, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2528 + 2524 ] }, { - "teal": 2740, + "teal": 2736, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2529 + 2525 ] }, { - "teal": 2741, + "teal": 2737, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2530, - 2531, - 2532 + 2526, + 2527, + 2528 ] }, { - "teal": 2750, + "teal": 2746, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2533 + 2529 ] }, { - "teal": 2751, + "teal": 2747, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2534 + 2530 ] }, { - "teal": 2752, + "teal": 2748, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2535, - 2536 + 2531, + 2532 ] }, { - "teal": 2756, + "teal": 2752, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2537, - 2538 + 2533, + 2534 ] }, { - "teal": 2757, + "teal": 2753, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2539, - 2540 + 2535, + 2536 ] }, { - "teal": 2758, + "teal": 2754, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2541 + 2537 ] }, { - "teal": 2759, + "teal": 2755, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2542, - 2543 + 2538, + 2539 ] }, { - "teal": 2763, + "teal": 2759, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2544, - 2545 + 2540, + 2541 ] }, { - "teal": 2764, + "teal": 2760, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2546, - 2547, - 2548 + 2542, + 2543, + 2544 ] }, { - "teal": 2765, + "teal": 2761, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2549, - 2550 + 2545, + 2546 ] }, { - "teal": 2769, + "teal": 2765, "source": "examples/reti/stakingPool.algo.ts:694", "pc": [ + 2547, + 2548, + 2549, + 2550, 2551, 2552, 2553, @@ -11811,158 +11799,170 @@ 2561, 2562, 2563, - 2564, + 2564 + ] + }, + { + "teal": 2766, + "source": "examples/reti/stakingPool.algo.ts:694", + "pc": [ 2565, - 2566, - 2567, - 2568 + 2566 + ] + }, + { + "teal": 2769, + "source": "examples/reti/stakingPool.algo.ts:691", + "pc": [ + 2567 ] }, { "teal": 2770, - "source": "examples/reti/stakingPool.algo.ts:694", + "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2569, - 2570 + 2568, + 2569 ] }, { "teal": 2773, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2571 + 2570 ] }, { - "teal": 2774, - "source": "examples/reti/stakingPool.algo.ts:691", + "teal": 2782, + "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ - 2572, - 2573 + 2571 ] }, { - "teal": 2777, - "source": "examples/reti/stakingPool.algo.ts:691", + "teal": 2783, + "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ - 2574 + 2572, + 2573 ] }, { - "teal": 2786, - "source": "examples/reti/stakingPool.algo.ts:706", + "teal": 2788, + "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2574, 2575 ] }, { - "teal": 2787, - "source": "examples/reti/stakingPool.algo.ts:706", + "teal": 2789, + "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2576, - 2577 + 2576 ] }, { - "teal": 2792, + "teal": 2790, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2578, - 2579 + 2577 ] }, { - "teal": 2793, + "teal": 2791, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2580 + 2578 ] }, { - "teal": 2794, + "teal": 2792, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2579, + 2580, 2581 ] }, { - "teal": 2795, + "teal": 2793, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2582 + 2582, + 2583 ] }, { - "teal": 2796, + "teal": 2794, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2583, - 2584, - 2585 + 2584 ] }, { - "teal": 2797, + "teal": 2795, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2586, - 2587 + 2585 ] }, { - "teal": 2798, + "teal": 2796, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2588 + 2586 ] }, { "teal": 2799, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2587, + 2588, 2589 ] }, { - "teal": 2800, - "source": "examples/reti/stakingPool.algo.ts:730", + "teal": 2804, + "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2590 ] }, { - "teal": 2803, - "source": "examples/reti/stakingPool.algo.ts:730", + "teal": 2805, + "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2591, - 2592, - 2593 + 2592 ] }, { - "teal": 2808, - "source": "examples/reti/stakingPool.algo.ts:731", + "teal": 2809, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2594 + 2593 ] }, { - "teal": 2809, - "source": "examples/reti/stakingPool.algo.ts:731", + "teal": 2810, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2595, - 2596 + 2594, + 2595 ] }, { - "teal": 2813, + "teal": 2815, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ + 2596, 2597 ] }, { - "teal": 2814, + "teal": 2816, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2598, @@ -11970,123 +11970,123 @@ ] }, { - "teal": 2819, + "teal": 2817, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2600, - 2601 + 2600 ] }, { - "teal": 2820, + "teal": 2818, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ + 2601, 2602, 2603 ] }, { - "teal": 2821, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 2823, + "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2604 + 2604, + 2605 ] }, { - "teal": 2822, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 2824, + "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2605, 2606, 2607 ] }, { - "teal": 2827, + "teal": 2825, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2608, - 2609 + 2608 ] }, { - "teal": 2828, + "teal": 2826, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ + 2609, 2610, 2611 ] }, { - "teal": 2829, - "source": "examples/reti/stakingPool.algo.ts:733", + "teal": 2831, + "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2612 ] }, { - "teal": 2830, - "source": "examples/reti/stakingPool.algo.ts:733", + "teal": 2832, + "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2613, - 2614, - 2615 + 2613 ] }, { - "teal": 2835, + "teal": 2833, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2616 + 2614, + 2615 ] }, { - "teal": 2836, + "teal": 2834, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2617 + 2616 ] }, { - "teal": 2837, + "teal": 2835, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2618, - 2619 + 2617, + 2618 ] }, { - "teal": 2838, + "teal": 2836, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ + 2619, 2620 ] }, { - "teal": 2839, + "teal": 2837, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2621, - 2622 + 2621 ] }, { - "teal": 2840, + "teal": 2838, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2623, - 2624 + 2622, + 2623 ] }, { - "teal": 2841, + "teal": 2839, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ + 2624, 2625 ] }, { - "teal": 2842, + "teal": 2840, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2626, @@ -12094,7 +12094,7 @@ ] }, { - "teal": 2843, + "teal": 2841, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2628, @@ -12102,562 +12102,574 @@ ] }, { - "teal": 2844, + "teal": 2842, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2630, - 2631 + 2630 ] }, { - "teal": 2845, - "source": "examples/reti/stakingPool.algo.ts:734", + "teal": 2847, + "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2632, - 2633 + 2631, + 2632 ] }, { - "teal": 2846, - "source": "examples/reti/stakingPool.algo.ts:734", + "teal": 2848, + "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2634 + 2633 ] }, { - "teal": 2851, + "teal": 2849, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2635, - 2636 + 2634 ] }, { - "teal": 2852, + "teal": 2850, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2637 + 2635 ] }, { - "teal": 2853, + "teal": 2851, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2638 + 2636 ] }, { - "teal": 2854, + "teal": 2852, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2639 + 2637, + 2638 ] }, { - "teal": 2855, + "teal": 2853, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2640 + 2639 ] }, { - "teal": 2856, + "teal": 2854, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2641, - 2642 + 2640, + 2641 ] }, { - "teal": 2857, - "source": "examples/reti/stakingPool.algo.ts:736", + "teal": 2859, + "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ + 2642, 2643 ] }, { - "teal": 2858, - "source": "examples/reti/stakingPool.algo.ts:736", + "teal": 2860, + "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2644, - 2645 + 2645, + 2646 ] }, { - "teal": 2863, + "teal": 2861, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ - 2646, - 2647 + 2647, + 2648 ] }, { - "teal": 2864, + "teal": 2862, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ - 2648, - 2649, - 2650 + 2649 ] }, { - "teal": 2865, + "teal": 2863, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ + 2650, 2651, 2652 ] }, { - "teal": 2866, - "source": "examples/reti/stakingPool.algo.ts:737", + "teal": 2869, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2653 + 2653, + 2654 ] }, { - "teal": 2867, - "source": "examples/reti/stakingPool.algo.ts:737", + "teal": 2870, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2654, 2655, - 2656 + 2656, + 2657 ] }, { - "teal": 2873, + "teal": 2871, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2657, 2658 ] }, { - "teal": 2874, + "teal": 2872, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2659, - 2660, - 2661 + 2660 ] }, { - "teal": 2875, + "teal": 2873, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2662 + 2661 ] }, { - "teal": 2876, + "teal": 2874, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ + 2662, 2663, 2664 ] }, { - "teal": 2877, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2879, + "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2665 + 2665, + 2666 ] }, { - "teal": 2878, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2880, + "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2666, 2667, 2668 ] }, { - "teal": 2883, + "teal": 2881, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2669, - 2670 + 2670, + 2671 ] }, { - "teal": 2884, + "teal": 2882, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2671, 2672 ] }, { - "teal": 2885, + "teal": 2883, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2673, - 2674, - 2675 + 2673 ] }, { - "teal": 2886, + "teal": 2884, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2676 + 2674, + 2675 ] }, { - "teal": 2887, - "source": "examples/reti/stakingPool.algo.ts:741", + "teal": 2885, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2677 + 2676, + 2677, + 2678 ] }, { - "teal": 2888, - "source": "examples/reti/stakingPool.algo.ts:741", + "teal": 2890, + "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2678, - 2679 + 2679, + 2680 ] }, { - "teal": 2889, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2891, + "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2680, 2681, 2682 ] }, { - "teal": 2894, + "teal": 2892, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2683, - 2684 + 2684, + 2685 ] }, { - "teal": 2895, + "teal": 2893, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2685, 2686 ] }, { - "teal": 2896, + "teal": 2894, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2687, - 2688, - 2689 + 2687 ] }, { - "teal": 2897, + "teal": 2895, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2690 + 2688, + 2689 ] }, { - "teal": 2898, - "source": "examples/reti/stakingPool.algo.ts:745", + "teal": 2900, + "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ + 2690, 2691 ] }, { - "teal": 2899, - "source": "examples/reti/stakingPool.algo.ts:745", + "teal": 2901, + "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2692, 2693 ] }, { - "teal": 2904, + "teal": 2902, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ - 2694, - 2695 + 2694 ] }, { - "teal": 2905, + "teal": 2903, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ + 2695, 2696, 2697 ] }, { - "teal": 2906, - "source": "examples/reti/stakingPool.algo.ts:749", + "teal": 2908, + "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2698 + 2698, + 2699 ] }, { - "teal": 2907, - "source": "examples/reti/stakingPool.algo.ts:749", + "teal": 2909, + "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2699, 2700, 2701 ] }, { - "teal": 2912, + "teal": 2910, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2702, - 2703 + 2703, + 2704 ] }, { - "teal": 2913, + "teal": 2911, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2704, 2705 ] }, { - "teal": 2914, + "teal": 2912, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2706, - 2707, - 2708 + 2706 ] }, { - "teal": 2915, + "teal": 2913, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2709 + 2707, + 2708 ] }, { - "teal": 2916, - "source": "examples/reti/stakingPool.algo.ts:750", + "teal": 2917, + "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ + 2709, 2710 ] }, { - "teal": 2917, - "source": "examples/reti/stakingPool.algo.ts:750", + "teal": 2918, + "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2711, 2712 ] }, { - "teal": 2921, + "teal": 2919, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2713, - 2714 + 2713 ] }, { - "teal": 2922, + "teal": 2920, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2715, - 2716 + 2714, + 2715 ] }, { - "teal": 2923, + "teal": 2921, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2717 + 2716 ] }, { - "teal": 2924, + "teal": 2922, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2718, - 2719 + 2717, + 2718 ] }, { - "teal": 2925, - "source": "examples/reti/stakingPool.algo.ts:751", + "teal": 2927, + "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ + 2719, 2720 ] }, { - "teal": 2926, - "source": "examples/reti/stakingPool.algo.ts:751", + "teal": 2928, + "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ - 2721, - 2722 + 2721 ] }, { - "teal": 2931, + "teal": 2929, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ - 2723, - 2724 + 2722 ] }, { - "teal": 2932, + "teal": 2930, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ + 2723, + 2724, 2725 ] }, { - "teal": 2933, - "source": "examples/reti/stakingPool.algo.ts:753", + "teal": 2938, + "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2726 + 2726, + 2727 ] }, { - "teal": 2934, - "source": "examples/reti/stakingPool.algo.ts:753", + "teal": 2939, + "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2727, 2728, - 2729 + 2729, + 2730 ] }, { - "teal": 2942, + "teal": 2940, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2730, 2731 ] }, { - "teal": 2943, + "teal": 2941, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2732, - 2733, + 2733 + ] + }, + { + "teal": 2942, + "source": "examples/reti/stakingPool.algo.ts:755", + "pc": [ 2734 ] }, { - "teal": 2944, + "teal": 2943, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2735 + 2735, + 2736 + ] + }, + { + "teal": 2944, + "source": "examples/reti/stakingPool.algo.ts:755", + "pc": [ + 2737, + 2738 ] }, { "teal": 2945, - "source": "examples/reti/stakingPool.algo.ts:756", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2736, - 2737 + 2739, + 2740 ] }, { "teal": 2946, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2738 + 2741 ] }, { "teal": 2947, - "source": "examples/reti/stakingPool.algo.ts:756", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2739, - 2740 + 2742, + 2743 ] }, { "teal": 2948, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2741, - 2742 + 2744 ] }, { "teal": 2949, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2743, - 2744 + 2745, + 2746 ] }, { "teal": 2950, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2745 + 2747 ] }, { "teal": 2951, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2746, - 2747 + 2748 ] }, { "teal": 2952, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2748 + 2749, + 2750 ] }, { "teal": 2953, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2749, - 2750 + 2751 ] }, { "teal": 2954, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2751 + 2752, + 2753 ] }, { "teal": 2955, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2752 + 2754 ] }, { "teal": 2956, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2753, - 2754 + 2755 ] }, { "teal": 2957, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2755 + 2756 ] }, { "teal": 2958, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2756, 2757 ] }, @@ -12675,83 +12687,71 @@ 2759 ] }, - { - "teal": 2961, - "source": "examples/reti/stakingPool.algo.ts:755", - "pc": [ - 2760 - ] - }, - { - "teal": 2962, - "source": "examples/reti/stakingPool.algo.ts:755", - "pc": [ - 2761 - ] - }, { "teal": 2963, "source": "examples/reti/stakingPool.algo.ts:755", + "errorMessage": "wideRatio failed", "pc": [ - 2762 + 2760 ] }, { "teal": 2964, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2763 + 2761, + 2762 ] }, { - "teal": 2967, - "source": "examples/reti/stakingPool.algo.ts:755", - "errorMessage": "wideRatio failed", + "teal": 2968, + "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ + 2763, 2764 ] }, { - "teal": 2968, - "source": "examples/reti/stakingPool.algo.ts:755", + "teal": 2969, + "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2765, 2766 ] }, { - "teal": 2972, + "teal": 2970, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ - 2767, - 2768 + 2767 ] }, { - "teal": 2973, + "teal": 2971, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ - 2769, - 2770 + 2768, + 2769 ] }, { - "teal": 2974, - "source": "examples/reti/stakingPool.algo.ts:762", + "teal": 2975, + "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ + 2770, 2771 ] }, { - "teal": 2975, - "source": "examples/reti/stakingPool.algo.ts:762", + "teal": 2976, + "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2772, 2773 ] }, { - "teal": 2979, + "teal": 2977, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2774, @@ -12759,263 +12759,275 @@ ] }, { - "teal": 2980, + "teal": 2978, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2776, - 2777 + 2777, + 2778 ] }, { - "teal": 2981, + "teal": 2979, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2778, 2779 ] }, { - "teal": 2982, + "teal": 2980, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2780, - 2781, - 2782 + 2781 ] }, { - "teal": 2983, + "teal": 2981, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2783 + 2782 ] }, { - "teal": 2984, + "teal": 2982, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2784, - 2785 + 2783 ] }, { - "teal": 2985, + "teal": 2983, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2786 + 2784 ] }, { - "teal": 2986, + "teal": 2984, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2787 + 2785, + 2786 ] }, { - "teal": 2987, - "source": "examples/reti/stakingPool.algo.ts:763", + "teal": 2988, + "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ + 2787, 2788 ] }, { - "teal": 2988, - "source": "examples/reti/stakingPool.algo.ts:763", + "teal": 2989, + "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2789, 2790 ] }, { - "teal": 2992, + "teal": 2990, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ - 2791, - 2792 + 2791 ] }, { - "teal": 2993, + "teal": 2991, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ - 2793, - 2794 + 2792, + 2793 ] }, { - "teal": 2994, - "source": "examples/reti/stakingPool.algo.ts:764", + "teal": 2997, + "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ + 2794, 2795 ] }, { - "teal": 2995, - "source": "examples/reti/stakingPool.algo.ts:764", + "teal": 2998, + "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ - 2796, - 2797 + 2796 ] }, { - "teal": 3001, + "teal": 2999, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ - 2798, - 2799 + 2797 ] }, { - "teal": 3002, + "teal": 3000, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ + 2798, + 2799, 2800 ] }, { - "teal": 3003, - "source": "examples/reti/stakingPool.algo.ts:766", + "teal": 3008, + "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2801 + 2801, + 2802 ] }, { - "teal": 3004, - "source": "examples/reti/stakingPool.algo.ts:766", + "teal": 3009, + "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2802, 2803, - 2804 + 2804, + 2805 ] }, { - "teal": 3012, + "teal": 3010, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2805, 2806 ] }, { - "teal": 3013, + "teal": 3011, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2807, - 2808, + 2808 + ] + }, + { + "teal": 3012, + "source": "examples/reti/stakingPool.algo.ts:768", + "pc": [ 2809 ] }, { - "teal": 3014, + "teal": 3013, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2810 + 2810, + 2811 + ] + }, + { + "teal": 3014, + "source": "examples/reti/stakingPool.algo.ts:768", + "pc": [ + 2812, + 2813 ] }, { "teal": 3015, - "source": "examples/reti/stakingPool.algo.ts:769", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2811, - 2812 + 2814, + 2815 ] }, { "teal": 3016, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2813 + 2816 ] }, { "teal": 3017, - "source": "examples/reti/stakingPool.algo.ts:769", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2814, - 2815 + 2817, + 2818 ] }, { "teal": 3018, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2816, - 2817 + 2819 ] }, { "teal": 3019, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2818, - 2819 + 2820, + 2821 ] }, { "teal": 3020, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2820 + 2822 ] }, { "teal": 3021, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2821, - 2822 + 2823 ] }, { "teal": 3022, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2823 + 2824, + 2825 ] }, { "teal": 3023, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2824, - 2825 + 2826 ] }, { "teal": 3024, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2826 + 2827, + 2828 ] }, { "teal": 3025, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2827 + 2829 ] }, { "teal": 3026, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2828, - 2829 + 2830 ] }, { "teal": 3027, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2830 + 2831 ] }, { "teal": 3028, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2831, 2832 ] }, @@ -13033,83 +13045,71 @@ 2834 ] }, - { - "teal": 3031, - "source": "examples/reti/stakingPool.algo.ts:768", - "pc": [ - 2835 - ] - }, - { - "teal": 3032, - "source": "examples/reti/stakingPool.algo.ts:768", - "pc": [ - 2836 - ] - }, { "teal": 3033, "source": "examples/reti/stakingPool.algo.ts:768", + "errorMessage": "wideRatio failed", "pc": [ - 2837 + 2835 ] }, { "teal": 3034, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2838 + 2836, + 2837 ] }, { - "teal": 3037, - "source": "examples/reti/stakingPool.algo.ts:768", - "errorMessage": "wideRatio failed", + "teal": 3038, + "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ + 2838, 2839 ] }, { - "teal": 3038, - "source": "examples/reti/stakingPool.algo.ts:768", + "teal": 3039, + "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2840, 2841 ] }, { - "teal": 3042, + "teal": 3040, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ - 2842, - 2843 + 2842 ] }, { - "teal": 3043, + "teal": 3041, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ - 2844, - 2845 + 2843, + 2844 ] }, { - "teal": 3044, - "source": "examples/reti/stakingPool.algo.ts:775", + "teal": 3045, + "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ + 2845, 2846 ] }, { - "teal": 3045, - "source": "examples/reti/stakingPool.algo.ts:775", + "teal": 3046, + "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2847, 2848 ] }, { - "teal": 3049, + "teal": 3047, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2849, @@ -13117,76 +13117,76 @@ ] }, { - "teal": 3050, + "teal": 3048, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2851, - 2852 + 2852, + 2853 ] }, { - "teal": 3051, + "teal": 3049, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2853, 2854 ] }, { - "teal": 3052, + "teal": 3050, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2855, - 2856, - 2857 + 2856 ] }, { - "teal": 3053, + "teal": 3051, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2858 + 2857 ] }, { - "teal": 3054, + "teal": 3052, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2859, - 2860 + 2858 ] }, { - "teal": 3055, + "teal": 3053, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2861 + 2859 ] }, { - "teal": 3056, + "teal": 3054, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2862 + 2860, + 2861 ] }, { - "teal": 3057, - "source": "examples/reti/stakingPool.algo.ts:778", + "teal": 3058, + "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ + 2862, 2863 ] }, { - "teal": 3058, - "source": "examples/reti/stakingPool.algo.ts:778", + "teal": 3059, + "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2864, 2865 ] }, { - "teal": 3062, + "teal": 3060, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2866, @@ -13194,107 +13194,113 @@ ] }, { - "teal": 3063, + "teal": 3061, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2868, - 2869 + 2869, + 2870 ] }, { - "teal": 3064, + "teal": 3062, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2870, 2871 ] }, { - "teal": 3065, + "teal": 3063, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2872, - 2873, - 2874 + 2873 ] }, { - "teal": 3066, + "teal": 3064, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2875 + 2874 ] }, { - "teal": 3067, + "teal": 3065, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2876, - 2877 + 2875 ] }, { - "teal": 3068, + "teal": 3066, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2878 + 2876 ] }, { - "teal": 3069, + "teal": 3067, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2879 + 2877, + 2878 ] }, { - "teal": 3070, - "source": "examples/reti/stakingPool.algo.ts:779", + "teal": 3071, + "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ + 2879, 2880 ] }, { - "teal": 3071, - "source": "examples/reti/stakingPool.algo.ts:779", + "teal": 3072, + "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2881, 2882 ] }, { - "teal": 3075, + "teal": 3073, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ - 2883, - 2884 + 2883 ] }, { - "teal": 3076, + "teal": 3074, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ - 2885, - 2886 + 2884, + 2885 ] }, { - "teal": 3077, - "source": "examples/reti/stakingPool.algo.ts:780", + "teal": 3079, + "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ + 2886, 2887 ] }, { - "teal": 3078, - "source": "examples/reti/stakingPool.algo.ts:780", + "teal": 3080, + "source": "examples/reti/stakingPool.algo.ts:783", + "pc": [ + 2888 + ] + }, + { + "teal": 3081, + "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2888, 2889 ] }, { - "teal": 3083, + "teal": 3082, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2890, @@ -13302,51 +13308,51 @@ ] }, { - "teal": 3084, + "teal": 3083, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2892 ] }, { - "teal": 3085, + "teal": 3084, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2893 + 2893, + 2894 ] }, { - "teal": 3086, + "teal": 3085, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2894, 2895 ] }, { - "teal": 3087, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3096, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2896 + 2896, + 2897 ] }, { - "teal": 3088, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3097, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2897, 2898 ] }, { - "teal": 3089, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3098, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2899 ] }, { - "teal": 3100, + "teal": 3099, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2900, @@ -13354,114 +13360,108 @@ ] }, { - "teal": 3101, - "source": "examples/reti/stakingPool.algo.ts:732", - "pc": [ - 2902 - ] - }, - { - "teal": 3102, + "teal": 3100, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2903 + 2902, + 2903, + 2904 ] }, { - "teal": 3103, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 3105, + "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2904, - 2905 + 2905, + 2906 ] }, { - "teal": 3104, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 3106, + "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2906, - 2907, - 2908 + 2907 ] }, { - "teal": 3109, + "teal": 3107, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2909, - 2910 + 2908, + 2909 ] }, { - "teal": 3110, + "teal": 3108, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2911 + 2910 ] }, { - "teal": 3111, + "teal": 3109, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2912, - 2913 + 2911, + 2912 ] }, { - "teal": 3112, - "source": "examples/reti/stakingPool.algo.ts:791", + "teal": 3114, + "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ + 2913, 2914 ] }, { - "teal": 3113, - "source": "examples/reti/stakingPool.algo.ts:791", + "teal": 3115, + "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ - 2915, - 2916 + 2915 ] }, { - "teal": 3118, + "teal": 3116, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ - 2917, - 2918 + 2916 ] }, { - "teal": 3119, + "teal": 3117, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ + 2917, + 2918, 2919 ] }, { - "teal": 3120, - "source": "examples/reti/stakingPool.algo.ts:795", + "teal": 3122, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2920 ] }, { - "teal": 3121, - "source": "examples/reti/stakingPool.algo.ts:795", + "teal": 3123, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2921, - 2922, - 2923 + 2922 ] }, { - "teal": 3126, + "teal": 3128, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ + 2923, 2924 ] }, { - "teal": 3127, + "teal": 3129, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2925, @@ -13469,123 +13469,123 @@ ] }, { - "teal": 3132, + "teal": 3130, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 2927, - 2928 + 2927 ] }, { - "teal": 3133, + "teal": 3131, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ + 2928, 2929, 2930 ] }, { - "teal": 3134, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3136, + "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2931 + 2931, + 2932 ] }, { - "teal": 3135, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3137, + "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2932, 2933, 2934 ] }, { - "teal": 3140, + "teal": 3138, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2935, - 2936 + 2935 ] }, { - "teal": 3141, + "teal": 3139, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ + 2936, 2937, 2938 ] }, { - "teal": 3142, - "source": "examples/reti/stakingPool.algo.ts:798", + "teal": 3144, + "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2939 ] }, { - "teal": 3143, - "source": "examples/reti/stakingPool.algo.ts:798", + "teal": 3145, + "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2940, - 2941, - 2942 + 2940 ] }, { - "teal": 3148, + "teal": 3146, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2943 + 2941, + 2942 ] }, { - "teal": 3149, + "teal": 3147, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2944 + 2943 ] }, { - "teal": 3150, + "teal": 3148, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2945, - 2946 + 2944, + 2945 ] }, { - "teal": 3151, + "teal": 3149, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ + 2946, 2947 ] }, { - "teal": 3152, + "teal": 3150, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2948, - 2949 + 2948 ] }, { - "teal": 3153, + "teal": 3151, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2950, - 2951 + 2949, + 2950 ] }, { - "teal": 3154, + "teal": 3152, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ + 2951, 2952 ] }, { - "teal": 3155, + "teal": 3153, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2953, @@ -13593,7 +13593,7 @@ ] }, { - "teal": 3156, + "teal": 3154, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2955, @@ -13601,326 +13601,332 @@ ] }, { - "teal": 3157, + "teal": 3155, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2957, - 2958 + 2957 ] }, { - "teal": 3158, - "source": "examples/reti/stakingPool.algo.ts:799", + "teal": 3160, + "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2959, - 2960 + 2958, + 2959 ] }, { - "teal": 3159, - "source": "examples/reti/stakingPool.algo.ts:799", + "teal": 3161, + "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2961 + 2960 ] }, { - "teal": 3164, + "teal": 3162, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2962, - 2963 + 2961 ] }, { - "teal": 3165, + "teal": 3163, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2964 + 2962 ] }, { - "teal": 3166, + "teal": 3164, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2965 + 2963 ] }, { - "teal": 3167, + "teal": 3165, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2966 + 2964, + 2965 ] }, { - "teal": 3168, + "teal": 3166, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2967 + 2966 ] }, { - "teal": 3169, + "teal": 3167, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2968, - 2969 + 2967, + 2968 ] }, { - "teal": 3170, - "source": "examples/reti/stakingPool.algo.ts:801", + "teal": 3172, + "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2969, 2970 ] }, { - "teal": 3171, - "source": "examples/reti/stakingPool.algo.ts:801", + "teal": 3173, + "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2971, - 2972 + 2972, + 2973 ] }, { - "teal": 3176, + "teal": 3174, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2973, - 2974 + 2974, + 2975 ] }, { - "teal": 3177, + "teal": 3175, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2975, - 2976, - 2977 + 2976 ] }, { - "teal": 3178, + "teal": 3176, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2978, - 2979 + 2977 ] }, { - "teal": 3179, + "teal": 3177, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2978, + 2979, 2980 ] }, { - "teal": 3180, + "teal": 3178, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2981 + 2981, + 2982 ] }, { - "teal": 3181, + "teal": 3179, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2982, 2983, - 2984 + 2984, + 2985 ] }, { - "teal": 3182, + "teal": 3180, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2985, 2986 ] }, { - "teal": 3183, + "teal": 3181, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2987, - 2988, - 2989 + 2988 ] }, { - "teal": 3184, + "teal": 3182, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2990 + 2989 ] }, { - "teal": 3185, + "teal": 3183, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2991, - 2992 + 2990 ] }, { "teal": 3186, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2991, + 2992, 2993 ] }, { - "teal": 3187, - "source": "examples/reti/stakingPool.algo.ts:802", + "teal": 3191, + "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 2994 + 2994, + 2995 ] }, { - "teal": 3190, - "source": "examples/reti/stakingPool.algo.ts:802", + "teal": 3192, + "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 2995, 2996, 2997 ] }, { - "teal": 3195, + "teal": 3193, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 2998, - 2999 + 2999, + 3000 ] }, { - "teal": 3196, + "teal": 3194, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3000, 3001 ] }, { - "teal": 3197, + "teal": 3195, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3002, - 3003, - 3004 + 3002 ] }, { - "teal": 3198, + "teal": 3196, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3005 + 3003, + 3004 ] }, { - "teal": 3199, - "source": "examples/reti/stakingPool.algo.ts:803", + "teal": 3201, + "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ + 3005, 3006 ] }, { - "teal": 3200, - "source": "examples/reti/stakingPool.algo.ts:803", + "teal": 3202, + "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3007, 3008 ] }, { - "teal": 3205, + "teal": 3203, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ - 3009, - 3010 + 3009 ] }, { - "teal": 3206, + "teal": 3204, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ + 3010, 3011, 3012 ] }, { - "teal": 3207, - "source": "examples/reti/stakingPool.algo.ts:805", + "teal": 3210, + "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3013 + 3013, + 3014 ] }, { - "teal": 3208, - "source": "examples/reti/stakingPool.algo.ts:805", + "teal": 3211, + "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3014, - 3015, - 3016 + 3015 ] }, { - "teal": 3214, + "teal": 3212, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3017, - 3018 + 3016 ] }, { - "teal": 3215, + "teal": 3213, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ + 3017, + 3018, 3019 ] }, { - "teal": 3216, - "source": "examples/reti/stakingPool.algo.ts:810", + "teal": 3218, + "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3020 + 3020, + 3021 ] }, { - "teal": 3217, - "source": "examples/reti/stakingPool.algo.ts:810", + "teal": 3219, + "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3021, 3022, - 3023 + 3023, + 3024 ] }, { - "teal": 3222, + "teal": 3220, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3024, 3025 ] }, { - "teal": 3223, + "teal": 3221, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3026, - 3027, + 3027 + ] + }, + { + "teal": 3222, + "source": "examples/reti/stakingPool.algo.ts:811", + "pc": [ 3028 ] }, { - "teal": 3224, + "teal": 3223, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3029 ] }, { - "teal": 3225, + "teal": 3224, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3030, @@ -13928,80 +13934,74 @@ ] }, { - "teal": 3226, + "teal": 3225, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3032 ] }, { - "teal": 3227, + "teal": 3226, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3033 ] }, { - "teal": 3228, - "source": "examples/reti/stakingPool.algo.ts:811", - "pc": [ - 3034, - 3035 - ] - }, - { - "teal": 3229, + "teal": 3227, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3036 + 3034 ] }, { - "teal": 3230, + "teal": 3228, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3037 + 3035 ] }, { - "teal": 3231, + "teal": 3229, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3038 + 3036 ] }, { "teal": 3232, "source": "examples/reti/stakingPool.algo.ts:811", + "errorMessage": "wideRatio failed", "pc": [ - 3039 + 3037 ] }, { "teal": 3233, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3040 + 3038, + 3039 ] }, { - "teal": 3236, - "source": "examples/reti/stakingPool.algo.ts:811", - "errorMessage": "wideRatio failed", + "teal": 3237, + "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ + 3040, 3041 ] }, { - "teal": 3237, - "source": "examples/reti/stakingPool.algo.ts:811", + "teal": 3238, + "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3042, 3043 ] }, { - "teal": 3241, + "teal": 3239, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3044, @@ -14009,162 +14009,168 @@ ] }, { - "teal": 3242, + "teal": 3240, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3046, - 3047 + 3047, + 3048 ] }, { - "teal": 3243, + "teal": 3241, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3048, 3049 ] }, { - "teal": 3244, + "teal": 3242, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3050, - 3051, - 3052 + 3051 ] }, { - "teal": 3245, + "teal": 3243, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3053 + 3052 ] }, { - "teal": 3246, + "teal": 3244, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3054, - 3055 + 3053 ] }, { - "teal": 3247, + "teal": 3245, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3056 + 3054 ] }, { - "teal": 3248, + "teal": 3246, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3057 + 3055, + 3056 ] }, { - "teal": 3249, - "source": "examples/reti/stakingPool.algo.ts:814", + "teal": 3250, + "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ + 3057, 3058 ] }, { - "teal": 3250, - "source": "examples/reti/stakingPool.algo.ts:814", + "teal": 3251, + "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3059, 3060 ] }, { - "teal": 3254, + "teal": 3252, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ - 3061, - 3062 + 3061 ] }, { - "teal": 3255, + "teal": 3253, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ - 3063, - 3064 + 3062, + 3063 ] }, { - "teal": 3256, - "source": "examples/reti/stakingPool.algo.ts:815", + "teal": 3259, + "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ + 3064, 3065 ] }, { - "teal": 3257, - "source": "examples/reti/stakingPool.algo.ts:815", + "teal": 3260, + "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ - 3066, - 3067 + 3066 ] }, { - "teal": 3263, + "teal": 3261, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ - 3068, - 3069 + 3067 ] }, { - "teal": 3264, + "teal": 3262, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ + 3068, + 3069, 3070 ] }, { - "teal": 3265, - "source": "examples/reti/stakingPool.algo.ts:817", + "teal": 3267, + "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3071 + 3071, + 3072 ] }, { - "teal": 3266, - "source": "examples/reti/stakingPool.algo.ts:817", + "teal": 3268, + "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3072, 3073, - 3074 + 3074, + 3075 ] }, { - "teal": 3271, + "teal": 3269, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3075, 3076 ] }, { - "teal": 3272, + "teal": 3270, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3077, - 3078, + 3078 + ] + }, + { + "teal": 3271, + "source": "examples/reti/stakingPool.algo.ts:818", + "pc": [ 3079 ] }, { - "teal": 3273, + "teal": 3272, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3080 ] }, { - "teal": 3274, + "teal": 3273, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3081, @@ -14172,80 +14178,74 @@ ] }, { - "teal": 3275, + "teal": 3274, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3083 ] }, { - "teal": 3276, + "teal": 3275, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3084 ] }, { - "teal": 3277, - "source": "examples/reti/stakingPool.algo.ts:818", - "pc": [ - 3085, - 3086 - ] - }, - { - "teal": 3278, + "teal": 3276, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3087 + 3085 ] }, { - "teal": 3279, + "teal": 3277, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3088 + 3086 ] }, { - "teal": 3280, + "teal": 3278, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3089 + 3087 ] }, { "teal": 3281, "source": "examples/reti/stakingPool.algo.ts:818", + "errorMessage": "wideRatio failed", "pc": [ - 3090 + 3088 ] }, { "teal": 3282, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3091 + 3089, + 3090 ] }, { - "teal": 3285, - "source": "examples/reti/stakingPool.algo.ts:818", - "errorMessage": "wideRatio failed", + "teal": 3286, + "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ + 3091, 3092 ] }, { - "teal": 3286, - "source": "examples/reti/stakingPool.algo.ts:818", + "teal": 3287, + "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3093, 3094 ] }, { - "teal": 3290, + "teal": 3288, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3095, @@ -14253,76 +14253,76 @@ ] }, { - "teal": 3291, + "teal": 3289, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3097, - 3098 + 3098, + 3099 ] }, { - "teal": 3292, + "teal": 3290, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3099, 3100 ] }, { - "teal": 3293, + "teal": 3291, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3101, - 3102, - 3103 + 3102 ] }, { - "teal": 3294, + "teal": 3292, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3104 + 3103 ] }, { - "teal": 3295, + "teal": 3293, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3105, - 3106 + 3104 ] }, { - "teal": 3296, + "teal": 3294, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3107 + 3105 ] }, { - "teal": 3297, + "teal": 3295, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3108 + 3106, + 3107 ] }, { - "teal": 3298, - "source": "examples/reti/stakingPool.algo.ts:821", + "teal": 3299, + "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ + 3108, 3109 ] }, { - "teal": 3299, - "source": "examples/reti/stakingPool.algo.ts:821", + "teal": 3300, + "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3110, 3111 ] }, { - "teal": 3303, + "teal": 3301, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3112, @@ -14330,107 +14330,113 @@ ] }, { - "teal": 3304, + "teal": 3302, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3114, - 3115 + 3115, + 3116 ] }, { - "teal": 3305, + "teal": 3303, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3116, 3117 ] }, { - "teal": 3306, + "teal": 3304, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3118, - 3119, - 3120 + 3119 ] }, { - "teal": 3307, + "teal": 3305, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3121 + 3120 ] }, { - "teal": 3308, + "teal": 3306, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3122, - 3123 + 3121 ] }, { - "teal": 3309, + "teal": 3307, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3124 + 3122 ] }, { - "teal": 3310, + "teal": 3308, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3125 + 3123, + 3124 ] }, { - "teal": 3311, - "source": "examples/reti/stakingPool.algo.ts:822", + "teal": 3312, + "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ + 3125, 3126 ] }, { - "teal": 3312, - "source": "examples/reti/stakingPool.algo.ts:822", + "teal": 3313, + "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3127, 3128 ] }, { - "teal": 3316, + "teal": 3314, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ - 3129, - 3130 + 3129 ] }, { - "teal": 3317, + "teal": 3315, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ - 3131, - 3132 + 3130, + 3131 ] }, { - "teal": 3318, - "source": "examples/reti/stakingPool.algo.ts:823", + "teal": 3320, + "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ + 3132, 3133 ] }, { - "teal": 3319, - "source": "examples/reti/stakingPool.algo.ts:823", + "teal": 3321, + "source": "examples/reti/stakingPool.algo.ts:827", + "pc": [ + 3134 + ] + }, + { + "teal": 3322, + "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3134, 3135 ] }, { - "teal": 3324, + "teal": 3323, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3136, @@ -14438,51 +14444,51 @@ ] }, { - "teal": 3325, + "teal": 3324, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3138 ] }, { - "teal": 3326, + "teal": 3325, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3139 + 3139, + 3140 ] }, { - "teal": 3327, + "teal": 3326, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3140, 3141 ] }, { - "teal": 3328, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3335, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3142 + 3142, + 3143 ] }, { - "teal": 3329, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3336, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3143, 3144 ] }, { - "teal": 3330, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3337, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3145 ] }, { - "teal": 3339, + "teal": 3338, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3146, @@ -14490,53 +14496,53 @@ ] }, { - "teal": 3340, + "teal": 3339, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3148 + 3148, + 3149, + 3150 ] }, { - "teal": 3341, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3348, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3149 + 3151, + 3152 ] }, { - "teal": 3342, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3349, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3150, - 3151 + 3153 ] }, { - "teal": 3343, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3350, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3152, - 3153, - 3154 + 3154, + 3155 ] }, { - "teal": 3352, + "teal": 3351, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3155, 3156 ] }, { - "teal": 3353, + "teal": 3352, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3157 ] }, { - "teal": 3354, + "teal": 3353, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3158, @@ -14544,136 +14550,142 @@ ] }, { - "teal": 3355, + "teal": 3354, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3160 ] }, { - "teal": 3356, + "teal": 3355, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3161 + 3161, + 3162 ] }, { - "teal": 3357, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3359, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3162, - 3163 + 3163, + 3164 ] }, { - "teal": 3358, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3360, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3164 + 3165 ] }, { - "teal": 3359, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3361, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3165, - 3166 + 3166, + 3167 ] }, { - "teal": 3363, + "teal": 3362, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3167, 3168 ] }, { - "teal": 3364, + "teal": 3363, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3169 + 3169, + 3170 ] }, { - "teal": 3365, + "teal": 3364, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3170, 3171 ] }, { - "teal": 3366, + "teal": 3365, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3172 ] }, { - "teal": 3367, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3370, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3173, 3174 ] }, { - "teal": 3368, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3371, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3175 ] }, { - "teal": 3369, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3372, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3176 ] }, { - "teal": 3374, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3373, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3177, 3178 ] }, { - "teal": 3375, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3374, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3179 ] }, + { + "teal": 3375, + "source": "examples/reti/stakingPool.algo.ts:840", + "pc": [ + 3180, + 3181 + ] + }, { "teal": 3376, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3180 + 3182 ] }, { "teal": 3377, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3181, - 3182 + 3183 ] }, { "teal": 3378, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3183 + 3184 ] }, { "teal": 3379, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3184, 3185 ] }, @@ -14688,32 +14700,27 @@ "teal": 3381, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3187 - ] - }, - { - "teal": 3382, - "source": "examples/reti/stakingPool.algo.ts:840", - "pc": [ + 3187, 3188 ] }, { - "teal": 3383, + "teal": 3382, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3189 ] }, { - "teal": 3384, + "teal": 3385, "source": "examples/reti/stakingPool.algo.ts:840", + "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 3190 ] }, { - "teal": 3385, + "teal": 3386, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3191, @@ -14721,94 +14728,93 @@ ] }, { - "teal": 3386, + "teal": 3387, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3193 ] }, { - "teal": 3389, + "teal": 3388, "source": "examples/reti/stakingPool.algo.ts:840", - "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 3194 ] }, { - "teal": 3390, + "teal": 3389, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3195, - 3196 + 3195 ] }, { - "teal": 3391, + "teal": 3390, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3197 + 3196 ] }, { - "teal": 3392, + "teal": 3391, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ + 3197, 3198 ] }, { - "teal": 3393, + "teal": 3392, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3199 ] }, { - "teal": 3394, + "teal": 3393, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3200 ] }, { - "teal": 3395, + "teal": 3394, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3201, - 3202 + 3201 ] }, { - "teal": 3396, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3395, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ - 3203 + 3202 ] }, { - "teal": 3397, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3399, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ + 3203, 3204 ] }, { - "teal": 3398, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3400, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3205 ] }, { - "teal": 3399, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3401, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3206 ] }, { - "teal": 3403, + "teal": 3402, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3207, @@ -14816,310 +14822,304 @@ ] }, { - "teal": 3404, + "teal": 3403, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3209 ] }, { - "teal": 3405, + "teal": 3404, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3210 ] }, { - "teal": 3406, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3417, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3211, - 3212 + 3211 ] }, { - "teal": 3407, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3418, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3213 + 3212 ] }, { - "teal": 3408, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3419, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ + 3213, 3214 ] }, { - "teal": 3421, + "teal": 3420, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3215 + 3215, + 3216, + 3217, + 3218, + 3219, + 3220 ] }, { - "teal": 3422, + "teal": 3421, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3216 + 3221, + 3222 ] }, { - "teal": 3423, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3425, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ - 3217, - 3218 + 3223 ] }, { - "teal": 3424, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3426, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ - 3219, - 3220, - 3221, - 3222, - 3223, 3224 ] }, { - "teal": 3425, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3427, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ 3225, 3226 ] }, { - "teal": 3429, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3437, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3227 ] }, { - "teal": 3430, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3438, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3228 ] }, { - "teal": 3431, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3439, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3229, - 3230 + 3229 ] }, { - "teal": 3441, + "teal": 3440, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ + 3230, 3231 ] }, { - "teal": 3442, + "teal": 3441, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3232 ] }, { - "teal": 3443, + "teal": 3442, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3233 ] }, + { + "teal": 3443, + "source": "examples/reti/stakingPool.algo.ts:850", + "pc": [ + 3234 + ] + }, { "teal": 3444, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3234, - 3235 + 3235, + 3236, + 3237 ] }, { "teal": 3445, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3236 + 3238 ] }, { "teal": 3446, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3237 + 3239 ] }, { "teal": 3447, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3238 + 3240, + 3241 ] }, { "teal": 3448, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3239, - 3240, - 3241 + 3242, + 3243 ] }, { "teal": 3449, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3242 + 3244 ] }, { "teal": 3450, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3243 + 3245, + 3246 ] }, { "teal": 3451, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3244, - 3245 + 3247, + 3248 ] }, { "teal": 3452, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3246, - 3247 + 3249 ] }, { "teal": 3453, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3248 + 3250, + 3251 ] }, { "teal": 3454, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3249, - 3250 + 3252, + 3253 ] }, { "teal": 3455, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3251, - 3252 + 3254 ] }, { "teal": 3456, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3253 + 3255, + 3256 ] }, { "teal": 3457, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3254, - 3255 + 3257, + 3258 ] }, { "teal": 3458, - "source": "examples/reti/stakingPool.algo.ts:853", + "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3256, - 3257 + 3259 ] }, { "teal": 3459, - "source": "examples/reti/stakingPool.algo.ts:853", - "pc": [ - 3258 - ] - }, - { - "teal": 3460, - "source": "examples/reti/stakingPool.algo.ts:853", - "pc": [ - 3259, - 3260 - ] - }, - { - "teal": 3461, "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3261, - 3262 + 3260, + 3261 ] }, { "teal": 3462, - "source": "examples/reti/stakingPool.algo.ts:854", + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3263 + 3262 ] }, { "teal": 3463, - "source": "examples/reti/stakingPool.algo.ts:854", + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3264, - 3265 + 3263, + 3264 ] }, { "teal": 3466, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3266 + 3265 ] }, { "teal": 3467, - "source": "examples/reti/stakingPool.algo.ts:847", + "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ - 3267, - 3268 + 3266 ] }, { - "teal": 3470, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3472, + "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ + 3267, + 3268, 3269 ] }, { - "teal": 3471, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 3473, + "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ 3270 ] }, { "teal": 3476, - "source": "examples/reti/stakingPool.algo.ts:879", + "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3271, 3272, @@ -15128,14 +15128,14 @@ }, { "teal": 3477, - "source": "examples/reti/stakingPool.algo.ts:879", + "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3274 ] }, { "teal": 3480, - "source": "examples/reti/stakingPool.algo.ts:878", + "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3275, 3276, @@ -15144,14 +15144,14 @@ }, { "teal": 3481, - "source": "examples/reti/stakingPool.algo.ts:878", + "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3278 ] }, { "teal": 3484, - "source": "examples/reti/stakingPool.algo.ts:877", + "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ 3279, 3280, @@ -15160,150 +15160,150 @@ }, { "teal": 3485, - "source": "examples/reti/stakingPool.algo.ts:877", + "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ - 3282 + 3282, + 3283, + 3284 ] }, { "teal": 3488, - "source": "examples/reti/stakingPool.algo.ts:876", + "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ - 3283, - 3284, - 3285 + 3285, + 3286, + 3287 ] }, { "teal": 3489, - "source": "examples/reti/stakingPool.algo.ts:876", + "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ - 3286, - 3287, - 3288 + 3288, + 3289, + 3290 ] }, { "teal": 3492, - "source": "examples/reti/stakingPool.algo.ts:875", + "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ - 3289, - 3290, - 3291 + 3291, + 3292, + 3293 ] }, { "teal": 3493, - "source": "examples/reti/stakingPool.algo.ts:875", + "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ - 3292, - 3293, - 3294 + 3294, + 3295, + 3296 ] }, { "teal": 3496, - "source": "examples/reti/stakingPool.algo.ts:874", + "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3295, - 3296, - 3297 + 3297, + 3298 ] }, { "teal": 3497, - "source": "examples/reti/stakingPool.algo.ts:874", + "source": "examples/reti/stakingPool.algo.ts:873", + "pc": [ + 3299 + ] + }, + { + "teal": 3498, + "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3298, - 3299, 3300 ] }, { - "teal": 3500, + "teal": 3499, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3301, - 3302 + 3301 ] }, { - "teal": 3501, + "teal": 3500, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ + 3302, 3303 ] }, { - "teal": 3502, + "teal": 3501, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3304 ] }, { - "teal": 3503, + "teal": 3502, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3305 ] }, - { - "teal": 3504, - "source": "examples/reti/stakingPool.algo.ts:873", - "pc": [ - 3306, - 3307 - ] - }, { "teal": 3505, "source": "examples/reti/stakingPool.algo.ts:873", + "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction", "pc": [ - 3308 + 3306 ] }, { - "teal": 3506, - "source": "examples/reti/stakingPool.algo.ts:873", + "teal": 3508, + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ + 3307, + 3308, 3309 ] }, { "teal": 3509, - "source": "examples/reti/stakingPool.algo.ts:873", - "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction", + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3310 ] }, { - "teal": 3512, + "teal": 3510, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ - 3311, - 3312, - 3313 + 3311 ] }, { - "teal": 3513, + "teal": 3526, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ + 3312, + 3313, 3314 ] }, { - "teal": 3514, + "teal": 3529, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3315 ] }, { - "teal": 3530, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3533, + "source": "examples/reti/stakingPool.algo.ts:881", "pc": [ 3316, 3317, @@ -15311,15 +15311,16 @@ ] }, { - "teal": 3533, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3536, + "source": "examples/reti/stakingPool.algo.ts:881", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3319 ] }, { - "teal": 3537, - "source": "examples/reti/stakingPool.algo.ts:881", + "teal": 3540, + "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ 3320, 3321, @@ -15327,32 +15328,31 @@ ] }, { - "teal": 3540, - "source": "examples/reti/stakingPool.algo.ts:881", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3541, + "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ - 3323 + 3323, + 3324 ] }, { - "teal": 3544, - "source": "examples/reti/stakingPool.algo.ts:882", + "teal": 3546, + "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3324, 3325, 3326 ] }, { - "teal": 3545, - "source": "examples/reti/stakingPool.algo.ts:882", + "teal": 3547, + "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3327, 3328 ] }, { - "teal": 3550, + "teal": 3548, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3329, @@ -15360,38 +15360,38 @@ ] }, { - "teal": 3551, + "teal": 3549, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3331, - 3332 + 3331 ] }, { "teal": 3552, "source": "examples/reti/stakingPool.algo.ts:883", + "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 3333, - 3334 + 3332 ] }, { - "teal": 3553, + "teal": 3555, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3335 + 3333, + 3334 ] }, { "teal": 3556, "source": "examples/reti/stakingPool.algo.ts:883", - "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ + 3335, 3336 ] }, { - "teal": 3559, + "teal": 3557, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3337, @@ -15399,220 +15399,226 @@ ] }, { - "teal": 3560, + "teal": 3558, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3339, - 3340 + 3339 ] }, { "teal": 3561, "source": "examples/reti/stakingPool.algo.ts:883", + "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}", "pc": [ - 3341, - 3342 + 3340 ] }, { - "teal": 3562, - "source": "examples/reti/stakingPool.algo.ts:883", + "teal": 3573, + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3343 + 3341 ] }, { - "teal": 3565, - "source": "examples/reti/stakingPool.algo.ts:883", - "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}", + "teal": 3574, + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3344 + 3342, + 3343 ] }, { - "teal": 3577, + "teal": 3575, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ + 3344, 3345 ] }, { - "teal": 3578, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3579, + "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3346, 3347 ] }, { - "teal": 3579, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3580, + "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3348, 3349 ] }, { - "teal": 3583, - "source": "examples/reti/stakingPool.algo.ts:885", + "teal": 3584, + "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3350, 3351 ] }, { - "teal": 3584, - "source": "examples/reti/stakingPool.algo.ts:885", + "teal": 3585, + "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3352, 3353 ] }, { - "teal": 3588, - "source": "examples/reti/stakingPool.algo.ts:886", + "teal": 3589, + "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3354, 3355 ] }, { - "teal": 3589, - "source": "examples/reti/stakingPool.algo.ts:886", + "teal": 3590, + "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3356, 3357 ] }, { - "teal": 3593, - "source": "examples/reti/stakingPool.algo.ts:887", + "teal": 3594, + "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3358, 3359 ] }, { - "teal": 3594, - "source": "examples/reti/stakingPool.algo.ts:887", + "teal": 3595, + "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3360, 3361 ] }, { - "teal": 3598, - "source": "examples/reti/stakingPool.algo.ts:888", + "teal": 3599, + "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3362, 3363 ] }, { - "teal": 3599, - "source": "examples/reti/stakingPool.algo.ts:888", + "teal": 3600, + "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3364, 3365 ] }, { - "teal": 3603, - "source": "examples/reti/stakingPool.algo.ts:889", + "teal": 3604, + "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3366, 3367 ] }, { - "teal": 3604, - "source": "examples/reti/stakingPool.algo.ts:889", + "teal": 3605, + "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3368, 3369 ] }, { - "teal": 3608, - "source": "examples/reti/stakingPool.algo.ts:890", + "teal": 3609, + "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ 3370, - 3371 + 3371, + 3372 ] }, { - "teal": 3609, - "source": "examples/reti/stakingPool.algo.ts:890", + "teal": 3610, + "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ - 3372, - 3373 + 3373, + 3374 ] }, { "teal": 3613, - "source": "examples/reti/stakingPool.algo.ts:891", + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3374, - 3375, - 3376 + 3375 ] }, { "teal": 3614, - "source": "examples/reti/stakingPool.algo.ts:891", + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ - 3377, - 3378 + 3376 ] }, { - "teal": 3617, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3619, + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ + 3377, + 3378, 3379 ] }, { - "teal": 3618, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3620, + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3380 ] }, { - "teal": 3623, + "teal": 3621, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ - 3381, - 3382, - 3383 + 3381 ] }, { - "teal": 3624, + "teal": 3628, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ + 3382, + 3383, 3384 ] }, { - "teal": 3625, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3633, + "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ - 3385 + 3385, + 3386 ] }, { - "teal": 3632, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3634, + "source": "examples/reti/stakingPool.algo.ts:903", + "pc": [ + 3387 + ] + }, + { + "teal": 3635, + "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ - 3386, - 3387, 3388 ] }, { - "teal": 3637, + "teal": 3636, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3389, @@ -15620,71 +15626,65 @@ ] }, { - "teal": 3638, + "teal": 3637, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3391 ] }, { - "teal": 3639, + "teal": 3638, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3392 ] }, { - "teal": 3640, + "teal": 3639, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3393, - 3394 - ] - }, - { - "teal": 3641, - "source": "examples/reti/stakingPool.algo.ts:903", - "pc": [ + 3394, 3395 ] }, { - "teal": 3642, - "source": "examples/reti/stakingPool.algo.ts:903", + "teal": 3644, + "source": "examples/reti/stakingPool.algo.ts:904", "pc": [ - 3396 + 3396, + 3397, + 3398 ] }, { - "teal": 3643, - "source": "examples/reti/stakingPool.algo.ts:903", + "teal": 3647, + "source": "examples/reti/stakingPool.algo.ts:904", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3397, - 3398, 3399 ] }, { - "teal": 3648, - "source": "examples/reti/stakingPool.algo.ts:904", + "teal": 3652, + "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3400, - 3401, - 3402 + 3400 ] }, { - "teal": 3651, - "source": "examples/reti/stakingPool.algo.ts:904", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3653, + "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3403 + 3401, + 3402 ] }, { - "teal": 3656, + "teal": 3654, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ + 3403, 3404 ] }, @@ -15692,62 +15692,62 @@ "teal": 3657, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3405, - 3406 + 3405 ] }, { "teal": 3658, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3407, - 3408 + 3406, + 3407 ] }, { "teal": 3661, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3409 + 3408 ] }, { "teal": 3662, - "source": "examples/reti/stakingPool.algo.ts:907", + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ - 3410, - 3411 + 3409 ] }, { - "teal": 3665, - "source": "examples/reti/stakingPool.algo.ts:907", + "teal": 3667, + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ + 3410, + 3411, 3412 ] }, { - "teal": 3666, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3668, + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3413 + 3413, + 3414, + 3415 ] }, { "teal": 3671, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3414, - 3415, - 3416 + 3416, + 3417, + 3418 ] }, { "teal": 3672, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3417, - 3418, 3419 ] }, @@ -15768,96 +15768,84 @@ ] }, { - "teal": 3679, + "teal": 3677, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3424, - 3425, - 3426 - ] - }, - { - "teal": 3680, - "source": "examples/reti/stakingPool.algo.ts:913", - "pc": [ - 3427 + 3424 ] }, { "teal": 3681, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3428 + 3425, + 3426, + 3427 ] }, { "teal": 3685, - "source": "examples/reti/stakingPool.algo.ts:913", - "pc": [ - 3429, - 3430, - 3431 - ] - }, - { - "teal": 3689, "source": "examples/reti/stakingPool.algo.ts:914", "pc": [ - 3432, - 3433, - 3434 + 3428, + 3429, + 3430 ] }, { - "teal": 3692, + "teal": 3688, "source": "examples/reti/stakingPool.algo.ts:914", "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3435 + 3431 ] }, { - "teal": 3700, + "teal": 3696, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3436 + 3432 ] }, { - "teal": 3701, + "teal": 3697, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3437 + 3433 ] }, { - "teal": 3702, + "teal": 3698, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3438, - 3439 + 3434, + 3435 ] }, { - "teal": 3706, + "teal": 3702, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ - 3440, - 3441 + 3436, + 3437 ] }, { - "teal": 3707, + "teal": 3703, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ - 3442, - 3443 + 3438, + 3439 ] }, { - "teal": 3711, + "teal": 3707, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ + 3440, + 3441, + 3442, + 3443, 3444, 3445, 3446, @@ -15870,15 +15858,27 @@ 3453, 3454, 3455, - 3456, + 3456 + ] + }, + { + "teal": 3708, + "source": "examples/reti/stakingPool.algo.ts:918", + "pc": [ 3457, - 3458, + 3458 + ] + }, + { + "teal": 3709, + "source": "examples/reti/stakingPool.algo.ts:918", + "pc": [ 3459, 3460 ] }, { - "teal": 3712, + "teal": 3710, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3461, @@ -15886,7 +15886,7 @@ ] }, { - "teal": 3713, + "teal": 3711, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3463, @@ -15894,30 +15894,30 @@ ] }, { - "teal": 3714, + "teal": 3712, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ - 3465, - 3466 + 3465 ] }, { - "teal": 3715, + "teal": 3713, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ - 3467, - 3468 + 3466, + 3467 ] }, { - "teal": 3716, + "teal": 3714, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ + 3468, 3469 ] }, { - "teal": 3717, + "teal": 3715, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3470, @@ -15925,16 +15925,16 @@ ] }, { - "teal": 3718, - "source": "examples/reti/stakingPool.algo.ts:918", + "teal": 3719, + "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3472, 3473 ] }, { - "teal": 3719, - "source": "examples/reti/stakingPool.algo.ts:918", + "teal": 3720, + "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3474, 3475 @@ -15942,308 +15942,308 @@ }, { "teal": 3723, - "source": "examples/reti/stakingPool.algo.ts:919", + "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3476, - 3477 + 3476 ] }, { "teal": 3724, - "source": "examples/reti/stakingPool.algo.ts:919", + "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3478, - 3479 + 3477, + 3478 ] }, { "teal": 3727, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3480 + 3479 ] }, { "teal": 3728, - "source": "examples/reti/stakingPool.algo.ts:916", + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3481, - 3482 + 3480 ] }, { - "teal": 3731, - "source": "examples/reti/stakingPool.algo.ts:916", + "teal": 3733, + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3483 + 3481, + 3482 ] }, { - "teal": 3732, - "source": "examples/reti/stakingPool.algo.ts:913", + "teal": 3736, + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3484 + 3483, + 3484, + 3485 ] }, { "teal": 3737, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3485, 3486 ] }, { - "teal": 3740, + "teal": 3738, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3487, - 3488, - 3489 + 3487 ] }, { - "teal": 3741, + "teal": 3739, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3490 + 3488, + 3489 ] }, { - "teal": 3742, + "teal": 3740, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3491 + 3490 ] }, { "teal": 3743, "source": "examples/reti/stakingPool.algo.ts:929", + "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)", "pc": [ - 3492, - 3493 + 3491 ] }, { - "teal": 3744, + "teal": 3746, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ + 3492, + 3493, 3494 ] }, { "teal": 3747, "source": "examples/reti/stakingPool.algo.ts:929", - "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)", "pc": [ 3495 ] }, { - "teal": 3750, + "teal": 3748, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3496, - 3497, - 3498 + 3496 ] }, { - "teal": 3751, + "teal": 3749, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3499 + 3497 ] }, { - "teal": 3752, + "teal": 3750, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3500 + 3498 ] }, { - "teal": 3753, + "teal": 3759, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ + 3499, + 3500, 3501 ] }, { - "teal": 3754, + "teal": 3762, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3502 ] }, { - "teal": 3763, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3766, + "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3503, - 3504, - 3505 + 3503 ] }, { - "teal": 3766, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3767, + "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3506 + 3504 ] }, { - "teal": 3770, + "teal": 3768, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3507 + 3505, + 3506 ] }, { - "teal": 3771, + "teal": 3769, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3508 + 3507, + 3508, + 3509 ] }, { - "teal": 3772, + "teal": 3770, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3509, 3510 ] }, { - "teal": 3773, + "teal": 3771, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3511, - 3512, - 3513 + 3511 ] }, { "teal": 3774, "source": "examples/reti/stakingPool.algo.ts:930", + "errorMessage": "caller must be part of same validator set!", "pc": [ - 3514 + 3512 ] }, { - "teal": 3775, - "source": "examples/reti/stakingPool.algo.ts:930", + "teal": 3778, + "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3515 + 3513, + 3514 ] }, { - "teal": 3778, - "source": "examples/reti/stakingPool.algo.ts:930", - "errorMessage": "caller must be part of same validator set!", + "teal": 3779, + "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3516 + 3515 ] }, { - "teal": 3782, + "teal": 3780, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3517, - 3518 + 3516 ] }, { - "teal": 3783, + "teal": 3781, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3519 + 3517 ] }, { "teal": 3784, "source": "examples/reti/stakingPool.algo.ts:931", + "errorMessage": "callee must be pool 1", "pc": [ - 3520 + 3518 ] }, { - "teal": 3785, - "source": "examples/reti/stakingPool.algo.ts:931", + "teal": 3788, + "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3521 + 3519, + 3520 ] }, { - "teal": 3788, - "source": "examples/reti/stakingPool.algo.ts:931", - "errorMessage": "callee must be pool 1", + "teal": 3789, + "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3522 + 3521, + 3522, + 3523 ] }, { - "teal": 3792, + "teal": 3790, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3523, 3524 ] }, { - "teal": 3793, + "teal": 3791, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3525, - 3526, - 3527 + 3525 ] }, { - "teal": 3794, + "teal": 3792, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3528 + 3526 ] }, { "teal": 3795, "source": "examples/reti/stakingPool.algo.ts:932", + "errorMessage": "caller must NOT be pool 1", "pc": [ - 3529 + 3527 ] }, { - "teal": 3796, - "source": "examples/reti/stakingPool.algo.ts:932", + "teal": 3802, + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3530 + 3528 ] }, { - "teal": 3799, - "source": "examples/reti/stakingPool.algo.ts:932", - "errorMessage": "caller must NOT be pool 1", + "teal": 3803, + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3531 + 3529 ] }, { - "teal": 3806, + "teal": 3804, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3532 + 3530, + 3531 ] }, { - "teal": 3807, + "teal": 3805, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ + 3532, 3533 ] }, { - "teal": 3808, + "teal": 3806, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3534, @@ -16251,320 +16251,320 @@ ] }, { - "teal": 3809, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3810, + "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3536, - 3537 + 3536 ] }, { - "teal": 3810, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3811, + "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3538, - 3539 + 3537 ] }, { - "teal": 3814, + "teal": 3812, "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3540 + 3538, + 3539 ] }, { - "teal": 3815, - "source": "examples/reti/stakingPool.algo.ts:935", + "teal": 3816, + "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ + 3540, 3541 ] }, { - "teal": 3816, - "source": "examples/reti/stakingPool.algo.ts:935", + "teal": 3817, + "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3542, - 3543 + 3543, + 3544 ] }, { - "teal": 3820, + "teal": 3818, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3544, 3545 ] }, { - "teal": 3821, + "teal": 3819, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3546, - 3547, - 3548 + 3546 ] }, { - "teal": 3822, + "teal": 3820, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3549 + 3547, + 3548 ] }, { - "teal": 3823, + "teal": 3821, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ + 3549, 3550 ] }, { - "teal": 3824, + "teal": 3822, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3551, - 3552 + 3552, + 3553 ] }, { - "teal": 3825, + "teal": 3823, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3553, 3554 ] }, { - "teal": 3826, + "teal": 3824, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3555, - 3556, - 3557 + 3555 ] }, { - "teal": 3827, + "teal": 3825, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3558 + 3556, + 3557 ] }, { "teal": 3828, - "source": "examples/reti/stakingPool.algo.ts:936", + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3559 + 3558 ] }, { "teal": 3829, - "source": "examples/reti/stakingPool.algo.ts:936", + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3560, - 3561 + 3559, + 3560 ] }, { "teal": 3832, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3562 + 3561 ] }, { "teal": 3833, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3563, - 3564 + 3562, + 3563 ] }, { - "teal": 3836, + "teal": 3834, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3565 + 3564 ] }, { - "teal": 3837, + "teal": 3835, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3566, - 3567 + 3565 ] }, { - "teal": 3838, + "teal": 3836, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3568 + 3566, + 3567 ] }, { - "teal": 3839, + "teal": 3837, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3569 + 3568, + 3569, + 3570 ] }, { - "teal": 3840, + "teal": 3838, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3570, 3571 ] }, { - "teal": 3841, + "teal": 3839, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3572, - 3573, - 3574 + 3573 ] }, { - "teal": 3842, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3843, + "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ + 3574, 3575 ] }, { - "teal": 3843, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3844, + "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3576, 3577 ] }, { - "teal": 3847, + "teal": 3845, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3578, - 3579 + 3579, + 3580 ] }, { - "teal": 3848, + "teal": 3846, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3580, 3581 ] }, { - "teal": 3849, + "teal": 3847, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3582, - 3583, - 3584 + 3582 ] }, { - "teal": 3850, + "teal": 3848, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3585 + 3583 ] }, { - "teal": 3851, - "source": "examples/reti/stakingPool.algo.ts:938", + "teal": 3852, + "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3586 + 3584, + 3585 ] }, { - "teal": 3852, - "source": "examples/reti/stakingPool.algo.ts:938", + "teal": 3853, + "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ + 3586, 3587 ] }, { - "teal": 3856, + "teal": 3854, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3588, - 3589 + 3589, + 3590 ] }, { - "teal": 3857, + "teal": 3855, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3590, 3591 ] }, { - "teal": 3858, + "teal": 3856, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3592, - 3593, - 3594 + 3593 ] }, { - "teal": 3859, + "teal": 3857, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3595 + 3594 ] }, { - "teal": 3860, + "teal": 3858, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3596, - 3597 + 3595 ] }, { - "teal": 3861, + "teal": 3859, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3598 + 3596 ] }, { - "teal": 3862, - "source": "examples/reti/stakingPool.algo.ts:939", + "teal": 3866, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3599 + 3597 ] }, { - "teal": 3863, - "source": "examples/reti/stakingPool.algo.ts:939", + "teal": 3867, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3600 + 3598 ] }, { - "teal": 3870, + "teal": 3868, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3601 + 3599, + 3600 ] }, { - "teal": 3871, + "teal": 3869, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ + 3601, 3602 ] }, { - "teal": 3872, + "teal": 3870, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3603, @@ -16572,96 +16572,102 @@ ] }, { - "teal": 3873, - "source": "examples/reti/stakingPool.algo.ts:941", + "teal": 3874, + "source": "examples/reti/stakingPool.algo.ts:942", + "pc": [ + 3605 + ] + }, + { + "teal": 3875, + "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ - 3605, 3606 ] }, { - "teal": 3874, - "source": "examples/reti/stakingPool.algo.ts:941", + "teal": 3876, + "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ 3607, 3608 ] }, { - "teal": 3878, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3880, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3609 ] }, { - "teal": 3879, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3881, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3610 ] }, { - "teal": 3880, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3882, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ - 3611, - 3612 + 3611 ] }, { - "teal": 3884, + "teal": 3883, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ + 3612, 3613 ] }, { - "teal": 3885, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3886, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3614 ] }, { - "teal": 3886, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3887, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3615 + 3615, + 3616 ] }, { - "teal": 3887, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3890, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3616, 3617 ] }, { - "teal": 3890, + "teal": 3891, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3618 + 3618, + 3619 ] }, { - "teal": 3891, + "teal": 3892, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3619, 3620 ] }, { - "teal": 3894, + "teal": 3893, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3621 ] }, { - "teal": 3895, + "teal": 3894, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3622, @@ -16669,184 +16675,184 @@ ] }, { - "teal": 3896, - "source": "examples/reti/stakingPool.algo.ts:941", - "pc": [ - 3624 - ] - }, - { - "teal": 3897, + "teal": 3895, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3625 + 3624, + 3625, + 3626 ] }, { "teal": 3898, - "source": "examples/reti/stakingPool.algo.ts:941", + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3626, - 3627 + 3627, + 3628 ] }, { "teal": 3899, - "source": "examples/reti/stakingPool.algo.ts:941", + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3628, - 3629, - 3630 + 3629 ] }, { - "teal": 3902, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3903, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ + 3630, 3631, 3632 ] }, { - "teal": 3903, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3906, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3633 ] }, { - "teal": 3907, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3913, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3634, - 3635, - 3636 + 3634 ] }, { - "teal": 3910, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3914, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3637 + 3635 ] }, { - "teal": 3917, + "teal": 3915, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3638 + 3636, + 3637 ] }, { - "teal": 3918, + "teal": 3916, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3639 + 3638, + 3639, + 3640, + 3641, + 3642, + 3643 ] }, { - "teal": 3919, + "teal": 3917, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3640, - 3641 + 3644, + 3645 ] }, { - "teal": 3920, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3921, + "source": "examples/reti/stakingPool.algo.ts:949", + "pc": [ + 3646 + ] + }, + { + "teal": 3922, + "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ - 3642, - 3643, - 3644, - 3645, - 3646, 3647 ] }, { - "teal": 3921, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3923, + "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ 3648, 3649 ] }, { - "teal": 3925, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3927, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3650 ] }, { - "teal": 3926, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3928, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3651 ] }, { - "teal": 3927, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3929, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ - 3652, - 3653 + 3652 ] }, { - "teal": 3931, + "teal": 3930, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ + 3653, 3654 ] }, { - "teal": 3932, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3933, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3655 ] }, { - "teal": 3933, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3934, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3656 + 3656, + 3657 ] }, { - "teal": 3934, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3937, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3657, 3658 ] }, { - "teal": 3937, + "teal": 3938, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3659 + 3659, + 3660 ] }, { - "teal": 3938, + "teal": 3939, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3660, 3661 ] }, { - "teal": 3941, + "teal": 3940, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3662 ] }, { - "teal": 3942, + "teal": 3941, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3663, @@ -16854,173 +16860,167 @@ ] }, { - "teal": 3943, - "source": "examples/reti/stakingPool.algo.ts:948", - "pc": [ - 3665 - ] - }, - { - "teal": 3944, + "teal": 3942, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3666 + 3665, + 3666, + 3667 ] }, { - "teal": 3945, + "teal": 3943, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3667, - 3668 + 3668, + 3669 ] }, { - "teal": 3946, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3947, + "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3669, 3670, 3671 ] }, { - "teal": 3947, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3948, + "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3672, 3673 ] }, { - "teal": 3951, + "teal": 3949, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3674, - 3675 + 3675, + 3676 ] }, { - "teal": 3952, + "teal": 3950, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3676, 3677 ] }, { - "teal": 3953, + "teal": 3951, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3678, - 3679, - 3680 + 3678 ] }, { - "teal": 3954, + "teal": 3952, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ + 3679, + 3680, 3681 ] }, { - "teal": 3955, + "teal": 3953, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3682 + 3682, + 3683 ] }, { - "teal": 3956, + "teal": 3954, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3683, 3684, 3685 ] }, { - "teal": 3957, + "teal": 3955, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3686, - 3687 + 3687, + 3688 ] }, { - "teal": 3958, + "teal": 3956, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3688, 3689 ] }, { - "teal": 3959, + "teal": 3957, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3690, - 3691, - 3692 + 3690 ] }, { - "teal": 3960, - "source": "examples/reti/stakingPool.algo.ts:952", + "teal": 3961, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ - 3693 + 3691, + 3692 ] }, { - "teal": 3961, - "source": "examples/reti/stakingPool.algo.ts:952", + "teal": 3962, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ - 3694 + 3693 ] }, { - "teal": 3965, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3966, + "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ + 3694, 3695, 3696 ] }, { - "teal": 3966, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3970, + "source": "examples/reti/stakingPool.algo.ts:956", "pc": [ - 3697 + 3697, + 3698 ] }, { - "teal": 3970, + "teal": 3971, "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ - 3698, - 3699, - 3700 + 3699 ] }, { - "teal": 3974, - "source": "examples/reti/stakingPool.algo.ts:956", + "teal": 3978, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ + 3700, 3701, 3702 ] }, { - "teal": 3975, - "source": "examples/reti/stakingPool.algo.ts:955", + "teal": 3981, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3703 ] }, { - "teal": 3982, - "source": "examples/reti/stakingPool.algo.ts:965", + "teal": 3985, + "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ 3704, 3705, @@ -17028,248 +17028,248 @@ ] }, { - "teal": 3985, - "source": "examples/reti/stakingPool.algo.ts:965", + "teal": 3986, + "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ - 3707 + 3707, + 3708 ] }, { - "teal": 3989, - "source": "examples/reti/stakingPool.algo.ts:966", + "teal": 3990, + "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3708, 3709, 3710 ] }, { - "teal": 3990, - "source": "examples/reti/stakingPool.algo.ts:966", + "teal": 3991, + "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3711, 3712 ] }, { - "teal": 3994, + "teal": 3992, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3713, - 3714 + 3713 ] }, { - "teal": 3995, + "teal": 3993, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3715, - 3716 + 3714 ] }, { - "teal": 3996, + "teal": 3994, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3717 + 3715, + 3716 ] }, { - "teal": 3997, + "teal": 3995, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3718 + 3717 ] }, { - "teal": 3998, + "teal": 3996, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3719, - 3720 + 3718 ] }, { - "teal": 3999, + "teal": 3997, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3721 + 3719 ] }, { - "teal": 4000, + "teal": 3998, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3722 + 3720 ] }, { - "teal": 4001, + "teal": 3999, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3723 + 3721 ] }, { "teal": 4002, "source": "examples/reti/stakingPool.algo.ts:968", + "errorMessage": "wideRatio failed", "pc": [ - 3724 + 3722 ] }, { - "teal": 4003, - "source": "examples/reti/stakingPool.algo.ts:968", + "teal": 4005, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ - 3725 + 3723, + 3724 ] }, { "teal": 4006, - "source": "examples/reti/stakingPool.algo.ts:968", - "errorMessage": "wideRatio failed", - "pc": [ - 3726 - ] - }, - { - "teal": 4009, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ - 3727, - 3728 + 3725 ] }, { "teal": 4010, - "source": "examples/reti/stakingPool.algo.ts:965", + "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3729 + 3726, + 3727, + 3728 ] }, { - "teal": 4014, + "teal": 4013, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3730, - 3731, - 3732 + 3729 ] }, { "teal": 4017, - "source": "examples/reti/stakingPool.algo.ts:971", + "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ - 3733 + 3730 ] }, { - "teal": 4021, + "teal": 4018, "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ - 3734 + 3731, + 3732 ] }, { - "teal": 4022, - "source": "examples/reti/stakingPool.algo.ts:975", + "teal": 4023, + "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3735, - 3736 + 3733, + 3734 ] }, { - "teal": 4027, + "teal": 4024, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3737, - 3738 + 3735 ] }, { - "teal": 4028, + "teal": 4025, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3739 + 3736, + 3737, + 3738 ] }, { - "teal": 4029, - "source": "examples/reti/stakingPool.algo.ts:976", + "teal": 4030, + "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ + 3739, 3740, 3741, 3742 ] }, { - "teal": 4034, + "teal": 4031, "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ 3743, 3744, - 3745, - 3746 + 3745 ] }, { - "teal": 4035, - "source": "examples/reti/stakingPool.algo.ts:978", + "teal": 4036, + "source": "examples/reti/stakingPool.algo.ts:980", "pc": [ - 3747, - 3748, - 3749 + 3746 ] }, { "teal": 4040, - "source": "examples/reti/stakingPool.algo.ts:980", + "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3750 + 3747, + 3748 ] }, { - "teal": 4044, + "teal": 4041, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3751, - 3752 + 3749 ] }, { "teal": 4045, - "source": "examples/reti/stakingPool.algo.ts:971", + "source": "examples/reti/stakingPool.algo.ts:983", "pc": [ - 3753 + 3750, + 3751, + 3752 ] }, { "teal": 4049, - "source": "examples/reti/stakingPool.algo.ts:983", + "source": "examples/reti/stakingPool.algo.ts:985", "pc": [ + 3753, 3754, 3755, - 3756 - ] - }, - { - "teal": 4053, - "source": "examples/reti/stakingPool.algo.ts:985", - "pc": [ + 3756, 3757, 3758, 3759, 3760, - 3761, - 3762, + 3761 + ] + }, + { + "teal": 4050, + "source": "examples/reti/stakingPool.algo.ts:983", + "pc": [ + 3762 + ] + }, + { + "teal": 4056, + "source": "examples/reti/stakingPool.algo.ts:991", + "pc": [ 3763, 3764, 3765 ] }, { - "teal": 4054, - "source": "examples/reti/stakingPool.algo.ts:983", + "teal": 4059, + "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3766 ] @@ -17279,135 +17279,147 @@ "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3767, - 3768, - 3769 + 3768 ] }, { - "teal": 4063, - "source": "examples/reti/stakingPool.algo.ts:991", + "teal": 4064, + "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ + 3769, 3770 ] }, { - "teal": 4064, - "source": "examples/reti/stakingPool.algo.ts:991", + "teal": 4065, + "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3771, - 3772 + 3771 ] }, { - "teal": 4068, + "teal": 4066, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3773, - 3774 + 3772 ] }, { - "teal": 4069, + "teal": 4067, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3775 + 3773, + 3774 ] }, { - "teal": 4070, - "source": "examples/reti/stakingPool.algo.ts:992", + "teal": 4072, + "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ + 3775, 3776 ] }, { - "teal": 4071, - "source": "examples/reti/stakingPool.algo.ts:992", + "teal": 4073, + "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3777, 3778 ] }, + { + "teal": 4074, + "source": "examples/reti/stakingPool.algo.ts:993", + "pc": [ + 3779 + ] + }, + { + "teal": 4075, + "source": "examples/reti/stakingPool.algo.ts:993", + "pc": [ + 3780, + 3781 + ] + }, { "teal": 4076, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3779, - 3780 + 3782 ] }, { "teal": 4077, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3781, - 3782 + 3783 ] }, { "teal": 4078, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3783 + 3784 ] }, { "teal": 4079, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3784, 3785 ] }, { - "teal": 4080, + "teal": 4082, "source": "examples/reti/stakingPool.algo.ts:993", + "errorMessage": "currentBinSize as uint64 overflowed 64 bits", "pc": [ 3786 ] }, { - "teal": 4081, + "teal": 4083, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3787 + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796 ] }, { - "teal": 4082, + "teal": 4084, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3788 + 3797 ] }, { - "teal": 4083, + "teal": 4085, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3789 + 3798 ] }, { "teal": 4086, "source": "examples/reti/stakingPool.algo.ts:993", - "errorMessage": "currentBinSize as uint64 overflowed 64 bits", "pc": [ - 3790 + 3799 ] }, { "teal": 4087, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3791, - 3792, - 3793, - 3794, - 3795, - 3796, - 3797, - 3798, - 3799, 3800 ] }, @@ -17415,35 +17427,35 @@ "teal": 4088, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3801 + 3801, + 3802 ] }, { "teal": 4089, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3802 + 3803 ] }, { "teal": 4090, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3803 + 3804 ] }, { "teal": 4091, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3804 + 3805 ] }, { "teal": 4092, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3805, 3806 ] }, @@ -17465,125 +17477,113 @@ "teal": 4095, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3809 - ] - }, - { - "teal": 4096, - "source": "examples/reti/stakingPool.algo.ts:993", - "pc": [ - 3810 - ] - }, - { - "teal": 4097, - "source": "examples/reti/stakingPool.algo.ts:993", - "pc": [ + 3809, + 3810, 3811 ] }, { - "teal": 4098, - "source": "examples/reti/stakingPool.algo.ts:993", + "teal": 4101, + "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3812 + 3812, + 3813 ] }, { - "teal": 4099, - "source": "examples/reti/stakingPool.algo.ts:993", + "teal": 4102, + "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3813, 3814, 3815 ] }, { - "teal": 4105, + "teal": 4103, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3816, - 3817 + 3816 ] }, { - "teal": 4106, + "teal": 4104, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ + 3817, 3818, 3819 ] }, { - "teal": 4107, - "source": "examples/reti/stakingPool.algo.ts:994", + "teal": 4109, + "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3820 ] }, { - "teal": 4108, - "source": "examples/reti/stakingPool.algo.ts:994", + "teal": 4110, + "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3821, - 3822, - 3823 + 3821 ] }, { - "teal": 4113, + "teal": 4111, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3824 + 3822, + 3823 ] }, { - "teal": 4114, + "teal": 4112, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3825 + 3824 ] }, { - "teal": 4115, + "teal": 4113, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3826, - 3827 + 3825, + 3826 ] }, { - "teal": 4116, + "teal": 4114, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ + 3827, 3828 ] }, { - "teal": 4117, + "teal": 4115, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3829, - 3830 + 3829 ] }, { - "teal": 4118, + "teal": 4116, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3831, - 3832 + 3830, + 3831 ] }, { - "teal": 4119, + "teal": 4117, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ + 3832, 3833 ] }, { - "teal": 4120, + "teal": 4118, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3834, @@ -17591,7 +17591,7 @@ ] }, { - "teal": 4121, + "teal": 4119, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3836, @@ -17599,40 +17599,28 @@ ] }, { - "teal": 4122, - "source": "examples/reti/stakingPool.algo.ts:995", - "pc": [ - 3838, - 3839 - ] - }, - { - "teal": 4123, - "source": "examples/reti/stakingPool.algo.ts:995", - "pc": [ - 3840, - 3841 - ] - }, - { - "teal": 4124, + "teal": 4120, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3842 + 3838 ] }, { - "teal": 4129, + "teal": 4125, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3843, - 3844 + 3839, + 3840 ] }, { - "teal": 4130, + "teal": 4126, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3841, + 3842, + 3843, + 3844, 3845, 3846, 3847, @@ -17646,36 +17634,55 @@ 3855, 3856, 3857, - 3858, - 3859, - 3860, - 3861, - 3862 + 3858 ] }, { - "teal": 4131, + "teal": 4127, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3859 + ] + }, + { + "teal": 4128, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3860 + ] + }, + { + "teal": 4129, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3861 + ] + }, + { + "teal": 4130, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3862, 3863 ] }, { - "teal": 4132, + "teal": 4131, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3864 ] }, { - "teal": 4133, + "teal": 4134, "source": "examples/reti/stakingPool.algo.ts:997", + "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits", "pc": [ 3865 ] }, { - "teal": 4134, + "teal": 4135, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3866, @@ -17683,139 +17690,139 @@ ] }, { - "teal": 4135, + "teal": 4136, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3868 ] }, { - "teal": 4138, + "teal": 4137, "source": "examples/reti/stakingPool.algo.ts:997", - "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits", "pc": [ 3869 ] }, { - "teal": 4139, + "teal": 4138, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3870, - 3871 + 3870 ] }, { - "teal": 4140, + "teal": 4139, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3872 + 3871 ] }, { - "teal": 4141, + "teal": 4140, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3872, 3873 ] }, { - "teal": 4142, + "teal": 4141, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3874 ] }, { - "teal": 4143, + "teal": 4142, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3875 ] }, { - "teal": 4144, + "teal": 4143, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3876, - 3877 + 3876 ] }, { - "teal": 4145, + "teal": 4144, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3877, 3878 ] }, { - "teal": 4146, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4148, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3879 + 3879, + 3880 ] }, { - "teal": 4147, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4149, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3880 + 3881 ] }, { - "teal": 4148, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4150, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3881, - 3882 + 3882, + 3883 ] }, { - "teal": 4152, + "teal": 4151, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3883, 3884 ] }, { - "teal": 4153, + "teal": 4152, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3885 ] }, { - "teal": 4154, + "teal": 4153, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3886, - 3887 + 3886 ] }, { - "teal": 4155, + "teal": 4154, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3887, 3888 ] }, { - "teal": 4156, + "teal": 4155, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3889 ] }, { - "teal": 4157, + "teal": 4158, "source": "examples/reti/stakingPool.algo.ts:998", + "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits", "pc": [ 3890 ] }, { - "teal": 4158, + "teal": 4159, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3891, @@ -17823,151 +17830,132 @@ ] }, { - "teal": 4159, + "teal": 4160, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3893 ] }, { - "teal": 4162, + "teal": 4161, "source": "examples/reti/stakingPool.algo.ts:998", - "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits", "pc": [ 3894 ] }, { - "teal": 4163, + "teal": 4162, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3895, - 3896 + 3895 ] }, { - "teal": 4164, + "teal": 4163, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3897 + 3896 ] }, { - "teal": 4165, + "teal": 4164, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3897, 3898 ] }, { - "teal": 4166, + "teal": 4165, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3899 ] }, { - "teal": 4167, + "teal": 4166, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3900 ] }, { - "teal": 4168, + "teal": 4167, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3901, - 3902 + 3901 ] }, { - "teal": 4169, + "teal": 4168, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3902, 3903 ] }, { - "teal": 4170, - "source": "examples/reti/stakingPool.algo.ts:998", - "pc": [ - 3904 - ] - }, - { - "teal": 4171, - "source": "examples/reti/stakingPool.algo.ts:998", + "teal": 4173, + "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ + 3904, 3905 ] }, { - "teal": 4172, - "source": "examples/reti/stakingPool.algo.ts:998", + "teal": 4174, + "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3906, 3907 ] }, { - "teal": 4177, + "teal": 4175, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ - 3908, - 3909 + 3908 ] }, { - "teal": 4178, + "teal": 4176, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ + 3909, 3910, 3911 ] }, { - "teal": 4179, - "source": "examples/reti/stakingPool.algo.ts:999", - "pc": [ - 3912 - ] - }, - { - "teal": 4180, - "source": "examples/reti/stakingPool.algo.ts:999", - "pc": [ - 3913, - 3914, - 3915 - ] - }, - { - "teal": 4187, + "teal": 4183, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3916, - 3917 + 3912, + 3913 ] }, { - "teal": 4188, + "teal": 4184, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3918 + 3914 ] }, { - "teal": 4189, + "teal": 4185, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3919 + 3915 ] }, { - "teal": 4190, + "teal": 4186, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ + 3916, + 3917, + 3918, + 3919, 3920, 3921, 3922, @@ -17981,179 +17969,179 @@ 3930, 3931, 3932, - 3933, - 3934, - 3935, - 3936, - 3937 + 3933 ] }, { - "teal": 4191, + "teal": 4187, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3938 + 3934 ] }, { - "teal": 4192, + "teal": 4188, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3939, - 3940 + 3935, + 3936 ] }, { - "teal": 4193, + "teal": 4189, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3941 + 3937 ] }, { - "teal": 4194, + "teal": 4190, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3942, - 3943 + 3938, + 3939 ] }, { - "teal": 4195, + "teal": 4191, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3944, - 3945 + 3940, + 3941 ] }, { - "teal": 4196, + "teal": 4192, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3946 + 3942 ] }, { - "teal": 4197, + "teal": 4193, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3947 + 3943 ] }, { - "teal": 4198, + "teal": 4194, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3948 + 3944 ] }, { - "teal": 4199, + "teal": 4195, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3949 + 3945 ] }, { - "teal": 4200, + "teal": 4196, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3950, - 3951 + 3946, + 3947 ] }, { - "teal": 4201, + "teal": 4197, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3952 + 3948 ] }, { - "teal": 4204, + "teal": 4200, "source": "examples/reti/stakingPool.algo.ts:1004", "errorMessage": "(((this.rewardAccumulator.value as uint128) * (10000 as uint128)) / avgStake) *\\n (approxRoundsPerYear / currentBinSize) overflowed 128 bits", "pc": [ - 3953 + 3949 ] }, { - "teal": 4205, + "teal": 4201, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3954, - 3955 + 3950, + 3951 ] }, { - "teal": 4206, + "teal": 4202, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3956 + 3952 ] }, { - "teal": 4207, + "teal": 4203, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3957 + 3953 ] }, { - "teal": 4208, + "teal": 4204, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3958 + 3954 ] }, { - "teal": 4209, + "teal": 4205, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3959 + 3955 ] }, { - "teal": 4210, + "teal": 4206, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3960, - 3961 + 3956, + 3957 ] }, { - "teal": 4211, + "teal": 4207, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3962 + 3958 ] }, { - "teal": 4212, + "teal": 4208, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3963 + 3959 ] }, { - "teal": 4213, + "teal": 4209, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3964 + 3960 ] }, { - "teal": 4214, + "teal": 4210, "source": "examples/reti/stakingPool.algo.ts:1003", "pc": [ - 3965, - 3966 + 3961, + 3962 ] }, { - "teal": 4218, + "teal": 4214, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ + 3963, + 3964, + 3965, + 3966, 3967, 3968, 3969, @@ -18167,33 +18155,33 @@ 3977, 3978, 3979, - 3980, - 3981, - 3982, - 3983, - 3984 + 3980 ] }, { - "teal": 4219, + "teal": 4215, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ - 3985, - 3986 + 3981, + 3982 ] }, { - "teal": 4224, + "teal": 4220, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 3987, - 3988 + 3983, + 3984 ] }, { - "teal": 4225, + "teal": 4221, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ + 3985, + 3986, + 3987, + 3988, 3989, 3990, 3991, @@ -18207,33 +18195,33 @@ 3999, 4000, 4001, - 4002, - 4003, - 4004, - 4005, - 4006 + 4002 ] }, { - "teal": 4226, + "teal": 4222, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 4007 + 4003 ] }, { - "teal": 4227, + "teal": 4223, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 4008, - 4009, - 4010 + 4004, + 4005, + 4006 ] }, { - "teal": 4232, + "teal": 4228, "source": "examples/reti/stakingPool.algo.ts:1010", "pc": [ + 4007, + 4008, + 4009, + 4010, 4011, 4012, 4013, @@ -18247,149 +18235,168 @@ 4021, 4022, 4023, - 4024, + 4024 + ] + }, + { + "teal": 4229, + "source": "examples/reti/stakingPool.algo.ts:1010", + "pc": [ 4025, - 4026, + 4026 + ] + }, + { + "teal": 4236, + "source": "examples/reti/stakingPool.algo.ts:1012", + "pc": [ 4027, 4028 ] }, { - "teal": 4233, - "source": "examples/reti/stakingPool.algo.ts:1010", + "teal": 4237, + "source": "examples/reti/stakingPool.algo.ts:1012", + "pc": [ + 4029 + ] + }, + { + "teal": 4238, + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4029, 4030 ] }, { - "teal": 4240, - "source": "examples/reti/stakingPool.algo.ts:1012", + "teal": 4239, + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4031, 4032 ] }, + { + "teal": 4240, + "source": "examples/reti/stakingPool.algo.ts:1013", + "pc": [ + 4033, + 4034 + ] + }, { "teal": 4241, - "source": "examples/reti/stakingPool.algo.ts:1012", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4033 + 4035 ] }, { "teal": 4242, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4034 + 4036 ] }, { "teal": 4243, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4035, - 4036 + 4037, + 4038 ] }, { "teal": 4244, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4037, - 4038 + 4039 ] }, { "teal": 4245, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4039 + 4040, + 4041 ] }, { "teal": 4246, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4040 + 4042, + 4043 ] }, { "teal": 4247, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4041, - 4042 + 4044 ] }, { "teal": 4248, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4043 + 4045, + 4046 ] }, { "teal": 4249, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4044, - 4045 + 4047 ] }, { "teal": 4250, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4046, - 4047 + 4048 ] }, { "teal": 4251, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4048 + 4049 ] }, { "teal": 4252, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4049, 4050 ] }, { "teal": 4253, - "source": "examples/reti/stakingPool.algo.ts:1014", - "pc": [ - 4051 - ] - }, - { - "teal": 4254, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ + 4051, 4052 ] }, { - "teal": 4255, + "teal": 4254, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4053 ] }, { - "teal": 4256, + "teal": 4257, "source": "examples/reti/stakingPool.algo.ts:1013", + "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits", "pc": [ 4054 ] }, { - "teal": 4257, + "teal": 4258, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4055, @@ -18397,25 +18404,30 @@ ] }, { - "teal": 4258, + "teal": 4259, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4057 ] }, { - "teal": 4261, + "teal": 4260, "source": "examples/reti/stakingPool.algo.ts:1013", - "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits", "pc": [ 4058 ] }, + { + "teal": 4261, + "source": "examples/reti/stakingPool.algo.ts:1013", + "pc": [ + 4059 + ] + }, { "teal": 4262, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4059, 4060 ] }, @@ -18423,110 +18435,110 @@ "teal": 4263, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4061 + 4061, + 4062 ] }, { "teal": 4264, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4062 + 4063 ] }, { "teal": 4265, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4063 + 4064 ] }, { "teal": 4266, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4064 + 4065 ] }, { "teal": 4267, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1012", "pc": [ - 4065, 4066 ] }, { - "teal": 4268, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4272, + "source": "examples/reti/stakingPool.algo.ts:1018", "pc": [ - 4067 + 4067, + 4068, + 4069 ] }, { - "teal": 4269, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4276, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4068 + 4070, + 4071 ] }, { - "teal": 4270, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4277, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4069 + 4072, + 4073 ] }, { - "teal": 4271, - "source": "examples/reti/stakingPool.algo.ts:1012", + "teal": 4278, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4070 + 4074 ] }, { - "teal": 4276, - "source": "examples/reti/stakingPool.algo.ts:1018", + "teal": 4279, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4071, - 4072, - 4073 + 4075 ] }, { "teal": 4280, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4074, - 4075 + 4076, + 4077 ] }, { "teal": 4281, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4076, - 4077 + 4078 ] }, { "teal": 4282, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4078 + 4079 ] }, { "teal": 4283, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4079 + 4080 ] }, { "teal": 4284, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4080, 4081 ] }, @@ -18541,32 +18553,27 @@ "teal": 4286, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4083 - ] - }, - { - "teal": 4287, - "source": "examples/reti/stakingPool.algo.ts:1019", - "pc": [ + 4083, 4084 ] }, { - "teal": 4288, + "teal": 4287, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4085 ] }, { - "teal": 4289, + "teal": 4290, "source": "examples/reti/stakingPool.algo.ts:1019", + "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits", "pc": [ 4086 ] }, { - "teal": 4290, + "teal": 4291, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4087, @@ -18574,116 +18581,109 @@ ] }, { - "teal": 4291, + "teal": 4292, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4089 ] }, { - "teal": 4294, + "teal": 4293, "source": "examples/reti/stakingPool.algo.ts:1019", - "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits", "pc": [ 4090 ] }, { - "teal": 4295, + "teal": 4294, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4091, - 4092 + 4091 ] }, { - "teal": 4296, + "teal": 4295, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4093 + 4092 ] }, { - "teal": 4297, + "teal": 4296, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ + 4093, 4094 ] }, { - "teal": 4298, + "teal": 4297, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4095 ] }, { - "teal": 4299, + "teal": 4298, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4096 ] }, { - "teal": 4300, + "teal": 4299, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4097, - 4098 + 4097 ] }, { - "teal": 4301, + "teal": 4300, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4099 + 4098 ] }, { - "teal": 4302, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4304, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ + 4099, 4100 ] }, { - "teal": 4303, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4305, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4101 ] }, { - "teal": 4304, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4306, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4102 ] }, { - "teal": 4308, - "source": "examples/reti/stakingPool.algo.ts:1020", + "teal": 4310, + "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4103, 4104 ] }, { - "teal": 4309, - "source": "examples/reti/stakingPool.algo.ts:1020", - "pc": [ - 4105 - ] - }, - { - "teal": 4310, - "source": "examples/reti/stakingPool.algo.ts:1020", + "teal": 4311, + "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ + 4105, 4106 ] }, { - "teal": 4314, + "teal": 4312, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4107, @@ -18691,7 +18691,7 @@ ] }, { - "teal": 4315, + "teal": 4313, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4109, @@ -18699,301 +18699,289 @@ ] }, { - "teal": 4316, + "teal": 4314, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4111, - 4112 + 4111 ] }, { - "teal": 4317, + "teal": 4315, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4113, - 4114 + 4112 ] }, { - "teal": 4318, + "teal": 4316, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4115 + 4113 ] }, { - "teal": 4319, + "teal": 4317, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4116 + 4114 ] }, { "teal": 4320, - "source": "examples/reti/stakingPool.algo.ts:1021", - "pc": [ - 4117 - ] - }, - { - "teal": 4321, - "source": "examples/reti/stakingPool.algo.ts:1021", + "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ - 4118 + 4115 ] }, { "teal": 4324, - "source": "examples/reti/stakingPool.algo.ts:991", + "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ - 4119 + 4116, + 4117, + 4118 ] }, { "teal": 4328, - "source": "examples/reti/stakingPool.algo.ts:1025", + "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ - 4120, - 4121, - 4122 + 4119, + 4120 ] }, { - "teal": 4332, + "teal": 4329, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ + 4121, + 4122, 4123, 4124 ] }, { - "teal": 4333, + "teal": 4330, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ - 4125, - 4126, - 4127, - 4128 + 4125 ] }, { - "teal": 4334, - "source": "examples/reti/stakingPool.algo.ts:1026", + "teal": 4331, + "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ - 4129 + 4126 ] }, { - "teal": 4335, - "source": "examples/reti/stakingPool.algo.ts:1025", + "teal": 4334, + "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4130 + 4127, + 4128, + 4129, + 4130, + 4131, + 4132 ] }, { - "teal": 4338, + "teal": 4335, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4131, - 4132, 4133, 4134, - 4135, - 4136 + 4135 ] }, { - "teal": 4339, + "teal": 4336, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4136, 4137, 4138, 4139 ] }, { - "teal": 4340, + "teal": 4339, "source": "examples/reti/stakingPool.algo.ts:38", + "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 4140, - 4141, - 4142, - 4143 + 4140 ] }, { - "teal": 4343, + "teal": 4342, "source": "examples/reti/stakingPool.algo.ts:38", - "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 4144 + 4141, + 4142, + 4143, + 4144, + 4145, + 4146 ] }, { - "teal": 4346, + "teal": 4343, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4145, - 4146, 4147, 4148, 4149, - 4150 + 4150, + 4151, + 4152 ] }, { - "teal": 4347, + "teal": 4344, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4151, - 4152, 4153, 4154, 4155, - 4156 + 4156, + 4157, + 4158 ] }, { - "teal": 4348, + "teal": 4345, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4157, - 4158, 4159, 4160, 4161, - 4162 + 4162, + 4163, + 4164 ] }, { - "teal": 4349, + "teal": 4346, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4163, - 4164, 4165, 4166, 4167, - 4168 + 4168, + 4169, + 4170 ] }, { - "teal": 4350, + "teal": 4347, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4169, - 4170, 4171, 4172, 4173, - 4174 + 4174, + 4175, + 4176 ] }, { - "teal": 4351, + "teal": 4348, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4175, - 4176, 4177, 4178, 4179, - 4180 + 4180, + 4181, + 4182 ] }, { - "teal": 4352, + "teal": 4349, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4181, - 4182, 4183, 4184, 4185, - 4186 + 4186, + 4187, + 4188 ] }, { - "teal": 4353, + "teal": 4350, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4187, - 4188, 4189, 4190, 4191, - 4192 + 4192, + 4193, + 4194 ] }, { - "teal": 4354, + "teal": 4351, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4193, - 4194, 4195, 4196, 4197, - 4198 + 4198, + 4199, + 4200 ] }, { - "teal": 4355, + "teal": 4352, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4199, - 4200, 4201, 4202, 4203, - 4204 + 4204, + 4205, + 4206 ] }, { - "teal": 4356, + "teal": 4353, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4205, - 4206, 4207, 4208, 4209, - 4210 + 4210, + 4211, + 4212 ] }, { - "teal": 4357, + "teal": 4354, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4211, - 4212, 4213, - 4214, - 4215, - 4216 + 4214 ] }, { - "teal": 4358, + "teal": 4355, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4217, - 4218 + 4215, + 4216, + 4217 ] }, { - "teal": 4359, + "teal": 4356, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4218, 4219, 4220, - 4221 - ] - }, - { - "teal": 4360, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ + 4221, 4222, 4223, 4224, @@ -19017,58 +19005,54 @@ 4242, 4243, 4244, - 4245, - 4246, - 4247, - 4248, - 4249 + 4245 ] }, { - "teal": 4363, + "teal": 4359, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 4250 + 4246 ] }, { - "teal": 4366, + "teal": 4362, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4247, + 4248, + 4249, + 4250, 4251, - 4252, - 4253, - 4254, - 4255, - 4256 + 4252 ] }, { - "teal": 4367, + "teal": 4363, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4257, - 4258, - 4259 + 4253, + 4254, + 4255 ] }, { - "teal": 4368, + "teal": 4364, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4260, - 4261, - 4262, - 4263 + 4256, + 4257, + 4258, + 4259 ] }, { - "teal": 4371, + "teal": 4367, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ - 4264 + 4260 ] } ], @@ -19080,7 +19064,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA2NCAzMiAxNiAxMjggMjAwIDUgMzAwIDEwMDAgNCAxXzAwMF8wMDAgMl8xMDBfMDAwIDggVE1QTF9uZmRSZWdpc3RyeUFwcElkIDEwMDAwMCA0MDAgMiA0MCA0OApieXRlY2Jsb2NrIDB4IDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgMHg3Mzc0NjE2YjY1NzI3MyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgMHg3MDZmNmY2YzQ5NjQgMHgwYTgxMDEgMHg3Mzc0NjE2YjY1NjQgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MDAwMDAwMDAwMDAwMDAwMCAweDcyNmY3NTZlNjQ3MzUwNjU3MjQ0NjE3OSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IDB4NzI2NTc3NjE3MjY0NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgMHg3NWFmZjYxZCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgMHg2NTc3NmQ2MSAweDE1MWY3Yzc1IFRNUExfZmVlU2lua0FkZHIgMHhhMmRjNTFiNSAweDU3Mjc2N2QxIDB4NGRmOGQ4NmUgMHgwYzIyNDVlMSAweDAwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwpieXRlYyAyMiAvLyBUTVBMX2ZlZVNpbmtBZGRyCmludGMgMTUgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpLAoJLy8gICAgICAgJ1RlbXBvcmFyeTogY29udHJhY3QgaXMgdXBncmFkZWFibGUgYnV0IG9ubHkgZHVyaW5nIHRlc3RpbmcgYW5kIG9ubHkgZnJvbSBhIGRldmVsb3BtZW50IGFjY291bnQnCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJcHVzaGludCAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTcKCS8vIHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlID0gY3JlYXRpbmdDb250cmFjdElkCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlYyA0IC8vICAicG9vbElkIgoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjIKCS8vIHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSA9IG1pbkVudHJ5U3Rha2UKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWZyYW1lX2RpZyAtNCAvLyBtaW5FbnRyeVN0YWtlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMwoJLy8gdGhpcy5sYXN0UGF5b3V0LnZhbHVlID0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTQgLy8gICJsYXN0UGF5b3V0IgoJZ2xvYmFsIFJvdW5kCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjQKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgPSAwCglieXRlYyAxOSAvLyAgImVwb2NoTnVtYmVyIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjgKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IDAgYXMgdWludDEyOAoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjkKCS8vIHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgInJld2FyZEFjY3VtdWxhdG9yIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGVjIDIwIC8vICAiZXdtYSIKCWJ5dGVjIDE2IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNDIKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJaW50YyAxNyAvLyA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3IgaW5pdFN0b3JhZ2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBpbml0U3RvcmFnZShwYXkpdm9pZAoJY2FsbHN1YiBpbml0U3RvcmFnZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gaW5pdFN0b3JhZ2UobWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBDYWxsZWQgYWZ0ZXIgd2UncmUgY3JlYXRlZCBhbmQgdGhlbiBmdW5kZWQsIHNvIHdlIGNhbiBjcmVhdGUgb3VyIGxhcmdlIHN0YWtlcnMgbGVkZ2VyIHN0b3JhZ2UKLy8gQ2FsbGVyIGhhcyB0byBnZXQgTUJSIGFtb3VudHMgZnJvbSBWYWxpZGF0b3JSZWdpc3RyeSB0byBrbm93IGhvdyBtdWNoIHRvIGZ1bmQgdXMgdG8gY292ZXIgdGhlIGJveCBzdG9yYWdlIGNvc3QKLy8gSWYgdGhpcyBpcyBwb29sIDEgQU5EIHRoZSB2YWxpZGF0b3IgaGFzIHNwZWNpZmllZCBhIHJld2FyZCB0b2tlbiwgb3B0LWluIHRvIHRoYXQgdG9rZW4KLy8gc28gdGhhdCB0aGUgdmFsaWRhdG9yIGNhbiBzZWVkIHRoZSBwb29sIHdpdGggZnV0dXJlIHJld2FyZHMgb2YgdGhhdCB0b2tlbi4KLy8gQHBhcmFtIG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyBzdGFraW5nIHBvb2xzJyBzdG9yYWdlCmluaXRTdG9yYWdlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTMKCS8vIGFzc2VydCghdGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBhbHJlYWR5IGluaXRpYWxpemVkJykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNSAvLyAgbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1NwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTgKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTYwCgkvLyBpc1Rva2VuRWxpZ2libGUgPSB2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTUzIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJZnJhbWVfYnVyeSAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjEKCS8vIGV4dHJhTUJSID0gaXNUb2tlbkVsaWdpYmxlICYmIHRoaXMucG9vbElkLnZhbHVlID09PSAxID8gQVNTRVRfSE9MRElOR19GRUUgOiAwCglmcmFtZV9kaWcgMSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWR1cAoJYnogKnNraXBfYW5kMAoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnRjIDE2IC8vIDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnRjIDAgLy8gMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50YyAxNiAvLyAxMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGV4dHJhTUJSOiB1aW50NjQKCSsKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWZyYW1lX2J1cnkgMyAvLyBQb29sSW5pdE1icjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OAoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogUG9vbEluaXRNYnIgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgMyAvLyBQb29sSW5pdE1icjogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJQb29sSW5pdE1iciJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTY5CgkvLyB0aGlzLnN0YWtlcnMuY3JlYXRlKCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjgwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzEKCS8vIGlzVG9rZW5FbGlnaWJsZSAmJiB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJZnJhbWVfZGlnIDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCglkdXAKCWJ6ICpza2lwX2FuZDEKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc0CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzUKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc2CgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZWRBbW91bnRQYXltZW50KSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgYWRkU3Rha2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHN0YWtlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBBZGRzIHN0YWtlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgovLyBDYW4gT05MWSBiZSBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdCB0aGF0IGNyZWF0ZWQgdXMKLy8gTXVzdCByZWNlaXZlIHBheW1lbnQgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IGZvciBhbW91bnQgYmVpbmcgc3Rha2VkLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCBwcmlvciBwYXltZW50IGNvbWluZyBmcm9tIHZhbGlkYXRvciBjb250cmFjdCB0byB1cyBvbiBiZWhhbGYgb2Ygc3Rha2VyLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhY2NvdW50IGFkZGluZyBuZXcgc3Rha2UKLy8gQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdGFraW5nIHBvb2wgaXMgZnVsbC4KLy8gQHJldHVybnMge3VpbnQ2NH0gbmV3ICdlbnRyeSByb3VuZCcgcm91bmQgbnVtYmVyIG9mIHN0YWtlIGFkZAphZGRTdGFrZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQodGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBtdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0JykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gc3Rha2UgY2FuIG9ubHkgYmUgYWRkZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTkKCS8vIGFzc2VydChzdGFrZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjAyCgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwNgoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6IkFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoic3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNQoJLy8gZW50cnlSb3VuZCA9IGdsb2JhbHMucm91bmQgKyBBTEdPUkFORF9TVEFLSU5HX0JMT0NLX0RFTEFZCglnbG9iYWwgUm91bmQKCXB1c2hpbnQgMzIwCgkrCglmcmFtZV9idXJ5IDAgLy8gZW50cnlSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNgoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxOAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjIwCgkvLyByb3VuZHNMZWZ0SW5CaW4gPSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSAtIGdsb2JhbHMucm91bmQKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaXRvYgoJZnJhbWVfZGlnIDIgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCgliKwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBpIDwgdGhpcy5zdGFrZXJzLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDkgLy8gMzAwCgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI5CgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMgoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzMKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID0gZW50cnlSb3VuZAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglwdXNoaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzgKCS8vIHJldHVybiBlbnRyeVJvdW5kOwoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CgliICphZGRTdGFrZSpyZXR1cm4KCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNDAKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgY21wU3Rha2VyLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMjoKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQxCgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjRfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQ1CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIFN0YWtpbmcgcG9vbCBmdWxsCgllcnIKCippZjVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1MgoJLy8gYXNzZXJ0KHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50ID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcpCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1NAoJLy8gYXNzZXJ0KHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0uYWNjb3VudCA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyA0IC8vIDMyCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjU1CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gewoJLy8gICAgICAgYWNjb3VudDogc3Rha2VyLAoJLy8gICAgICAgYmFsYW5jZTogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgICB0b3RhbFJld2FyZGVkOiAwLAoJLy8gICAgICAgcmV3YXJkVG9rZW5CYWxhbmNlOiAwLAoJLy8gICAgICAgZW50cnlSb3VuZDogZW50cnlSb3VuZCwKCS8vICAgICB9CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdG9iCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTMgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyA5IC8vIDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTQKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgk9PQoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vICppZjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk1CgkvLyBhbW91bnRUb1Vuc3Rha2UgPT09IDAKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NwoJLy8gYW1vdW50VG9VbnN0YWtlID0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9idXJ5IC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgoqaWY5X2VuZDoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5OQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPCBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCTwKCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIEluc3VmZmljaWVudCBiYWxhbmNlCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDIKCS8vIGNtcFN0YWtlci5iYWxhbmNlIC09IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJLQoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNQoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNgoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA+IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTFfZW5kCgoJLy8gKmlmMTFfY29uc2VxdWVudAoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA4CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzExCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMxNwoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQzCgkvLyBhbW91bnQ6IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDQKCS8vIHJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ1CgkvLyBub3RlOiAndW5zdGFrZWQnCglwdXNoYnl0ZXMgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyAxMyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludGMgMCAvLyAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1OQoJLy8gcm91bmRzTGVmdEluQmluID0gdGhpcy5iaW5Sb3VuZFN0YXJ0LnZhbHVlICsgdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgLSBnbG9iYWxzLnJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJKwoJZ2xvYmFsIFJvdW5kCgktCglmcmFtZV9idXJ5IDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzYwCgkvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOCA9IChhbW91bnRUb1Vuc3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyA1IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgNiAvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAtIHN1YnRyYWN0QW1vdW50CglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY4CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJYnl0ZWMgMjcgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OQoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTZfZW5kCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDAyCgkvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA0CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA3CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA0IC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpLAoJLy8gICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMTEgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDMzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnN0YWtlUmVtb3ZlZD4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIDAsIC8vIG5vIGFsZ28gcmVtb3ZlZAoJLy8gICAgICAgICAgICAgYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkLAoJLy8gICAgICAgICAgICAgZmFsc2UsIC8vIHN0YWtlciBpc24ndCBiZWluZyByZW1vdmVkLgoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MzQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDAgLy8gMAoJYnl0ZWMgMjcgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDQzCgkvLyByZXR1cm47CglyZXRzdWIKCippZjE1X2VuZDoKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCglyZXRzdWIKCi8vIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0U3Rha2VySW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMjEgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgNCAvLyAzMgoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjMKCS8vIHJldHVybiB0aGlzLnN0YWtlcnMudmFsdWVbaV07CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKmdldFN0YWtlckluZm8qcmV0dXJuCgoqaWYxOV9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDU4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoKKmdldFN0YWtlckluZm8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfcGF5VG9rZW5SZXdhcmQ6CgkvLyBhbW91bnRUb1NlbmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHJld2FyZFRva2VuOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VyKSBmb3IgcGF5VG9rZW5SZXdhcmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgcGF5VG9rZW5SZXdhcmQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHBheVRva2VuUmV3YXJkKHN0YWtlcjogQWRkcmVzcywgcmV3YXJkVG9rZW46IHVpbnQ2NCwgYW1vdW50VG9TZW5kOiB1aW50NjQpOiB2b2lkCi8vCi8vIFtJbnRlcm5hbCBwcm90b2NvbCBtZXRob2RdIFJlbW92ZSBhIHNwZWNpZmllZCBhbW91bnQgb2YgJ2NvbW11bml0eSB0b2tlbicgcmV3YXJkcyBmb3IgYSBzdGFrZXIuCi8vIFRoaXMgY2FuIE9OTFkgYmUgY2FsbGVkIGJ5IG91ciB2YWxpZGF0b3IgYW5kIG9ubHkgaWYgd2UncmUgcG9vbCAxIC0gd2l0aCB0aGUgdG9rZW4uCi8vIE5vdGU6IHRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBhcyBwYXJ0IG9mIE9XTkVSIHdhbnRpbmcgdG8gc2VuZCB0aGUgcmV3YXJkIHRva2VucwovLyBzb21ld2hlcmUgZWxzZSAoaWUgaWYgdGhleSdyZSBzdW5zZXR0aW5nIHRoZWlyIHZhbGlkYXRvciBhbmQgbmVlZCB0aGUgcmV3YXJkIHRva2VucyBiYWNrKS4KLy8gSXQncyB1cCB0byB0aGUgdmFsaWRhdG9yIHRvIGVuc3VyZSB0aGF0IHRoZSBiYWxhbmNlIGluIHJld2FyZFRva2VuSGVsZEJhY2sgaXMgaG9ub3JlZC4KLy8gQHBhcmFtIHN0YWtlciAtIHRoZSBzdGFrZXIgYWNjb3VudCB0byBzZW5kIHJld2FyZHMgdG8KLy8gQHBhcmFtIHJld2FyZFRva2VuIC0gaWQgb2YgcmV3YXJkIHRva2VuICh0byBhdm9pZCByZS1lbnRyYW5jeSBpbiBjYWxsaW5nIHZhbGlkYXRvciBiYWNrIHRvIGdldCBpZCkKLy8gQHBhcmFtIGFtb3VudFRvU2VuZCAtIGFtb3VudCB0byBzZW5kIHRoZSBzdGFrZXIgKHRoZXJlIGlzIHNpZ25pZmljYW50IHRydXN0IGhlcmUoISkgLSBhbHNvIHdoeSBvbmx5IHZhbGlkYXRvciBjYW4gY2FsbCB1cwpwYXlUb2tlblJld2FyZDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICd0aGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBtdXN0IGJlIHBvb2wgMSBpbiBvcmRlciB0byBiZSBjYWxsZWQgdG8gcGF5IG91dCB0b2tlbiByZXdhcmRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg2CgkvLyBhc3NlcnQocmV3YXJkVG9rZW4gIT09IDAsICdjYW4gb25seSBjbGFpbSB0b2tlbiByZXdhcmRzIGZyb20gdmFsaWRhdG9yIHRoYXQgaGFzIHRoZW0nKQoJZnJhbWVfZGlnIC0yIC8vIHJld2FyZFRva2VuOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGNhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4OQoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW4pLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJcHVzaGJ5dGVzIDB4NjE2YzY3NmY2NDU2NjU3MiAvLyAiYWxnb2RWZXIiCglmcmFtZV9kaWcgLTEgLy8gYWxnb2RWZXI6IHN0cmluZwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCiphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlOgoJLy8gZXhlY3V0ZSBlcG9jaEJhbGFuY2VVcGRhdGUoKXZvaWQKCWNhbGxzdWIgZXBvY2hCYWxhbmNlVXBkYXRlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlcG9jaEJhbGFuY2VVcGRhdGUoKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBiYWxhbmNlIG9mIHN0YWtlcnMgaW4gdGhlIHBvb2wgYmFzZWQgb24gdGhlIHJlY2VpdmVkICdyZXdhcmRzJyAoY3VycmVudCBiYWxhbmNlIHZzIGtub3duIHN0YWtlZCBiYWxhbmNlKQovLyBzdGFrZXJzIG91dHN0YW5kaW5nIGJhbGFuY2UgaXMgYWRqdXN0ZWQgYmFzZWQgb24gdGhlaXIgJSBvZiBzdGFrZSBhbmQgdGltZSBpbiB0aGUgY3VycmVudCBlcG9jaCAtIHNvIHRoYXQgYmFsYW5jZQovLyBjb21wb3VuZHMgb3ZlciB0aW1lIGFuZCBzdGFrZXIgY2FuIHJlbW92ZSB0aGF0IGFtb3VudCBhdCB3aWxsLgovLyBUaGUgdmFsaWRhdG9yIGlzIHBhaWQgdGhlaXIgcGVyY2VudGFnZSBlYWNoIGVwb2NoIHBheW91dC4KLy8KLy8gTm90ZTogQU5ZT05FIGNhbiBjYWxsIHRoaXMuCmVwb2NoQmFsYW5jZVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDM2CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMAoJLy8gdmFsaWRhdG9yQ29uZmlnID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JDb25maWc+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE1IC8vICBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGVjIDE0IC8vICAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MQoJLy8gaXNUb2tlbkVsaWdpYmxlID0gdmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQgIT09IDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWZyYW1lX2J1cnkgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTUyCgkvLyBwb29sT25lQXBwSUQgPSB0aGlzLmFwcC5pZAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfYnVyeSA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MwoJLy8gcG9vbE9uZUFkZHJlc3MgPSB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSA3IC8vIHBvb2xPbmVBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU4CgkvLyBpc1Rva2VuRWxpZ2libGUKCWZyYW1lX2RpZyA1IC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU5CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSAhPT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNCAvLyAgbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgMV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjIzX2Vsc2UKCgkvLyAqaWYyM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcxCgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zZXRUb2tlblBheW91dFJhdGlvPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNSAvLyAgbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3MwoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOCAvLyB0b2tlblBheW91dFJhdGlvOiBQb29sVG9rZW5QYXlvdXRSYXRpbwoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc3CgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMjYgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCkKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc5CgkvLyBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJY29uY2F0Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCippZjIzX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODYKCS8vIHZhbGlkYXRvclN0YXRlID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JTdGF0ZT4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg4CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTAKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB2YWxpZGF0b3JTdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTggOAoJYnRvaQoJZnJhbWVfYnVyeSAxMCAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk2CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgLSB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludGMgMCAvLyAwCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglpbnRjIDE0IC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxNCAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCippZjI2X2VuZDoKCippZjI1X2VuZDoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzNQoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9PT0gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDAKCS8vIGFsZ29SZXdhcmRBdmFpbCA8IDFfMDAwXzAwMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDEyIC8vIDFfMDAwXzAwMAoJPAoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MQoJLy8gbG9nKCchdG9rZW4mJiFub2FsZ28gdG8gcGF5JykKCXB1c2hieXRlcyAweDIxNzQ2ZjZiNjU2ZTI2MjYyMTZlNmY2MTZjNjc2ZjIwNzQ2ZjIwNzA2MTc5IC8vICIhdG9rZW4mJiFub2FsZ28gdG8gcGF5IgoJbG9nCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyOF9lbmQ6CgoqaWYyN19lbmQ6CgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDYKCS8vIGlzUG9vbFNhdHVyYXRlZAoJZnJhbWVfZGlnIDEyIC8vIGlzUG9vbFNhdHVyYXRlZDogYm9vbAoJYnogKmlmMjlfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQ5CgkvLyBkaW1pbmlzaGVkUmV3YXJkID0gd2lkZVJhdGlvKFthbGdvUmV3YXJkQXZhaWwsIGFsZ29TYXR1cmF0aW9uQW10XSwgW3ZhbGlkYXRvclN0YXRlLnRvdGFsQWxnb1N0YWtlZF0pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBhbGdvU2F0dXJhdGlvbkFtdDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDEwIDgKCWJ0b2kKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTEKCS8vIGV4Y2Vzc1RvRmVlU2luayA9IGFsZ29SZXdhcmRBdmFpbCAtIGRpbWluaXNoZWRSZXdhcmQKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgYW1vdW50OiBleGNlc3NUb0ZlZVNpbmssCgkvLyAgICAgICAgIHJlY2VpdmVyOiB0aGlzLmdldEZlZVNpbmsoKSwKCS8vICAgICAgICAgbm90ZTogJ3Bvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsnLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MwoJLy8gYW1vdW50OiBleGNlc3NUb0ZlZVNpbmsKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU0CgkvLyByZWNlaXZlcjogdGhpcy5nZXRGZWVTaW5rKCkKCWNhbGxzdWIgZ2V0RmVlU2luawoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTUKCS8vIG5vdGU6ICdwb29sIHNhdHVyYXRlZCwgZXhjZXNzIHRvIGZlZSBzaW5rJwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmMyMDczNjE3NDc1NzI2MTc0NjU2NDJjMjA2NTc4NjM2NTczNzMyMDc0NmYyMDY2NjU2NTIwNzM2OTZlNmIgLy8gInBvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OAoJLy8gYWxnb1Jld2FyZEF2YWlsID0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OQoJLy8gdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjYyCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW2FsZ29SZXdhcmRBdmFpbCwgdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciBhcyB1aW50NjRdLAoJLy8gICAgICAgICBbMV8wMDBfMDAwXQoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY2OAoJLy8gYWxnb1Jld2FyZEF2YWlsIC09IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0CglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgktCglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njc1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA+IDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3OAoJLy8gbWFuYWdlclRvcE9mZiA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MAoJLy8gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAmJgoJLy8gICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLmJhbGFuY2UgLSB2YWxpZGF0b3JDb25maWcubWFuYWdlci5taW5CYWxhbmNlIDwgMl8xMDBfMDAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDMyCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaW50YyAxMyAvLyAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoJPAoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMjEgLy8gbWFuYWdlclRvcE9mZjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NAoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgYW1vdW50OiBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgICAgICAgbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjIwNzI2NTc3NjE3MjY0MjA3NDZmMjA2ZDYxNmU2MTY3NjU3MjIwNjY2ZjcyMjA2Njc1NmU2NDY5NmU2NzIwNjU3MDZmNjM2ODIwNzU3MDY0NjE3NDY1NzMgLy8gInZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzFfZW5kOgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkwCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCAtIG1hbmFnZXJUb3BPZmYgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoJLQoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2OTEKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcywKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NCAvLyAidmFsaWRhdG9yIHJld2FyZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCippZjMwX2VuZDoKCippZjI5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MDYKCS8vIGluY3JlYXNlZFN0YWtlID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMAoJLy8gYWxnb1Jld2FyZEF2YWlsICE9PSAwIHx8IHRva2VuUmV3YXJkQXZhaWwgIT09IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJfHwKCipza2lwX29yMToKCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzEKCS8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNDAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDE3IC8vIDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzcKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczOAoJLy8gY21wU3Rha2VyLmVudHJ5Um91bmQgPj0gdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPj0KCWJ6ICppZjM2X2Vsc2UKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgliICppZjM2X2VuZAoKKmlmMzZfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NDUKCS8vIHRpbWVJblBvb2wgPSB0aGlzRXBvY2hCZWdpbiAtIGNtcFN0YWtlci5lbnRyeVJvdW5kCglmcmFtZV9kaWcgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCS0KCWZyYW1lX2J1cnkgMjYgLy8gdGltZUluUG9vbDogdWludDY0CgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ5CgkvLyB0aW1lSW5Qb29sIDwgZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk8CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzUwCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MQoJLy8gdGltZVBlcmNlbnRhZ2UgPSAodGltZUluUG9vbCAqIDEwMDApIC8gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxMCAvLyAxMDAwCgltdWx3CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MgoJLy8gdG9rZW5SZXdhcmRBdmFpbCAtPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MwoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAyMCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWYzOF9lbmQ6CgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjYKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsLCB0aW1lUGVyY2VudGFnZV0sCgkvLyAgICAgICAgICAgICAgICAgICBbdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUsIDEwMDBdCgkvLyAgICAgICAgICAgICAgICAgKQoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAyNyAvLyB0aW1lUGVyY2VudGFnZTogdWludDY0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMTAgLy8gMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc3OQoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE5IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjM3X2VuZDoKCippZjM2X2VuZDoKCippZjM1X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMjQgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTEKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgNSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA4IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMgoJLy8gY21wU3Rha2VyLmFjY291bnQgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYgY21wU3Rha2VyLmVudHJ5Um91bmQgPCB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPAoJJiYKCipza2lwX2FuZDQ6CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAzCgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwNQoJLy8gdGltZUluUG9vbCA+PSBlcG9jaFJvdW5kTGVuZ3RoCglmcmFtZV9kaWcgMzMgLy8gdGltZUluUG9vbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCT49CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTAKCS8vIHRva2VuUmV3YXJkQXZhaWwgPiAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxMQoJLy8gc3Rha2VyVG9rZW5SZXdhcmQgPSB3aWRlUmF0aW8oW2NtcFN0YWtlci5iYWxhbmNlLCB0b2tlblJld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNAoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAyMCAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNQoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTcKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbyhbY21wU3Rha2VyLmJhbGFuY2UsIGFsZ29SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjEKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE5IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMwoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTEgLy8gICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJYXBwX2dsb2JhbF9nZXQKCSsKCWdsb2JhbCBSb3VuZAoJLQoJZnJhbWVfYnVyeSAzNiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGluY3JlYXNlZFN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPQoJLy8gICAgICAgdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKGluY3JlYXNlZFN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDcKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc3Rha2VVcGRhdGVkVmlhUmV3YXJkcz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ5CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZ29PbmxpbmU6CgkvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIHZvdGVMYXN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHN0YXRlUHJvb2ZQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNlbGVjdGlvblBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gdm90ZVBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZmVlUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxOCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4NQoJLy8gdm90ZVBLOiB2b3RlUEsKCWZyYW1lX2RpZyAtMiAvLyB2b3RlUEs6IGJ5dGVzCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODYKCS8vIHNlbGVjdGlvblBLOiBzZWxlY3Rpb25QSwoJZnJhbWVfZGlnIC0zIC8vIHNlbGVjdGlvblBLOiBieXRlcwoJaXR4bl9maWVsZCBTZWxlY3Rpb25QSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODcKCS8vIHN0YXRlUHJvb2ZQSzogc3RhdGVQcm9vZlBLCglmcmFtZV9kaWcgLTQgLy8gc3RhdGVQcm9vZlBLOiBieXRlcwoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg4CgkvLyB2b3RlRmlyc3Q6IHZvdGVGaXJzdAoJZnJhbWVfZGlnIC01IC8vIHZvdGVGaXJzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODkKCS8vIHZvdGVMYXN0OiB2b3RlTGFzdAoJZnJhbWVfZGlnIC02IC8vIHZvdGVMYXN0OiB1aW50NjQKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkwCgkvLyB2b3RlS2V5RGlsdXRpb246IHZvdGVLZXlEaWx1dGlvbgoJZnJhbWVfZGlnIC03IC8vIHZvdGVLZXlEaWx1dGlvbjogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4OTEKCS8vIGZlZTogdGhpcy5nZXRHb09ubGluZUZlZSgpCgljYWxsc3ViIGdldEdvT25saW5lRmVlCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZ29PZmZsaW5lKCl2b2lkCiphYmlfcm91dGVfZ29PZmZsaW5lOgoJLy8gZXhlY3V0ZSBnb09mZmxpbmUoKXZvaWQKCWNhbGxzdWIgZ29PZmZsaW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09mZmxpbmUoKTogdm9pZAovLwovLyBNYXJrcyBhIHN0YWtpbmcgcG9vbCBrZXkgT0ZGTElORS4KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQpnb09mZmxpbmU6Cglwcm90byAwIDAKCgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDMKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgkhPQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkwNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA3CgkvLyBzZW5kT2ZmbGluZUtleVJlZ2lzdHJhdGlvbih7fSkKCWl0eG5fYmVnaW4KCWludGMgMTggLy8gIGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglwdXNoYnl0ZXMgMHg3NjY1NzI2OTY2Nzk1ZjZlNjY2NDVmNjE2NDY0NzIgLy8gInZlcmlmeV9uZmRfYWRkciIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTE5CgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBieSBwb29scyAhPSAxIC0gY2FsbGluZyBVUywgcG9vbCAjMQovLyBXZSBuZWVkIHRvIHZlcmlmeSB0aGF0IHdlIGFyZSBpbiBmYWN0IGJlaW5nIGNhbGxlZCBieSBhbm90aGVyIG9mIE9VUiBwb29scyAobm90IHVzKQovLyBhbmQgdGhlbiB3ZSdsbCBjYWxsIHRoZSB2YWxpZGF0b3Igb24gdGhlaXIgYmVoYWxmIHRvIHVwZGF0ZSB0aGUgdG9rZW4gcGF5b3V0cwovLyBAcGFyYW0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHVwbGUKcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvcklkLnZhbHVlID09PSBwb29sS2V5LmlkLCAnY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhJykKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CgoJLy8gY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMxCgkvLyBhc3NlcnQodGhpcy5wb29sSWQudmFsdWUgPT09IDEsICdjYWxsZWUgbXVzdCBiZSBwb29sIDEnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBjYWxsZWUgbXVzdCBiZSBwb29sIDEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCAhPT0gMSwgJ2NhbGxlciBtdXN0IE5PVCBiZSBwb29sIDEnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCgkvLyBjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM0CgkvLyBjYWxsZXJQb29sQXBwSUQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFBvb2xBcHBJZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcG9vbEtleS5pZCwgcG9vbEtleS5wb29sSWRdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI0IC8vICBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI1IC8vICBtZXRob2QgInNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCk6IGJvb2xlYW4KaXNPd25lck9yTWFuYWdlckNhbGxlcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OAoJLy8gT3duZXJBbmRNYW5hZ2VyID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDJmYTIyYzRiIC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTAKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTIKCS8vIHJldHVybiB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclswXSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclsxXTsKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIE93bmVyQW5kTWFuYWdlcjogKGFkZHJlc3MsYWRkcmVzcykKCWV4dHJhY3QgMCAzMgoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAzMiAzMgoJPT0KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0RmVlU2luaygpOiBBZGRyZXNzCmdldEZlZVNpbms6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTU2CgkvLyByZXR1cm4gdGhpcy5mZWVTaW5rQWRkcjsKCWJ5dGVjIDIyIC8vIFRNUExfZmVlU2lua0FkZHIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjYKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTY4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTAgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDAKCWIgKmdldEdvT25saW5lRmVlKnJldHVybgoKKmlmNDdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIDA7CglpbnRjIDAgLy8gMAoKKmdldEdvT25saW5lRmVlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5ODUKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBjaGVja0lmQmluQ2xvc2VkKCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHJvdW5kIGlzIGluIGEgJ25ldyBjYWxjdWxhdGlvbiBiaW4nIChhcHByb3hpbWF0ZWx5IGRhaWx5KQpjaGVja0lmQmluQ2xvc2VkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTIKCS8vIGN1cnJlbnRCaW5TaXplID0gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5MwoJLy8gZ2xvYmFscy5yb3VuZCA+PSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyAoY3VycmVudEJpblNpemUgYXMgdWludDY0KQoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDY0Cgk8PQoKCS8vIGN1cnJlbnRCaW5TaXplIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMTQgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoJKwoJPj0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vICppZjQ5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjQ5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTcKCS8vIGFwcHJveFJvdW5kc1BlclllYXI6IHVpbnQxMjggPSBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC8gY3VycmVudEJpblNpemUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMiAvLyBhdmdTdGFrZTogdWludDEyOAoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OQoJLy8gYXZnU3Rha2UgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAwOQoJLy8gYXZnU3Rha2UgPiAzMDAwMDAwMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDVkOTY0YjgwMAoJYj4KCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDEwCgkvLyBhbHBoYSA9IDkwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlYyAyMCAvLyAgImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0CglmcmFtZV9kaWcgNCAvLyBhbHBoYTogdW5zYWZlIHVpbnQxMjgKCWItCgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWZyYW1lX2RpZyAzIC8vIGFwcjogdWludDEyOAoJZnJhbWVfZGlnIDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGVjIDcgLy8gICJzdGFrZUFjY3VtdWxhdG9yIgoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIGFzIHVpbnQxMjgpICogKHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgpIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyA1IC8vIDE2CgktCglzd2FwCglzdWJzdHJpbmczCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIwCgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKKmlmNDhfZW5kOgoJcmV0c3ViCgovLyBzZXRSb3VuZHNQZXJEYXkoKTogdm9pZApzZXRSb3VuZHNQZXJEYXk6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyNgoJLy8gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgPSBBVkdfUk9VTkRTX1BFUl9EQVkKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJcHVzaGludCAzMDg1NwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDdjZmNjMDQgLy8gbWV0aG9kICJpbml0U3RvcmFnZShwYXkpdm9pZCIKCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJcHVzaGJ5dGVzIDB4NDIxYjVhYmUgLy8gbWV0aG9kICJyZW1vdmVTdGFrZShhZGRyZXNzLHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjU4OTJkNTYgLy8gbWV0aG9kICJjbGFpbVRva2Vucygpdm9pZCIKCXB1c2hieXRlcyAweDVjZmJiMDU3IC8vIG1ldGhvZCAiZ2V0U3Rha2VySW5mbyhhZGRyZXNzKShhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg2M2YzZjI4YiAvLyBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODZhMzcyNWMgLy8gbWV0aG9kICJ1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGVmYzI2MDhkIC8vIG1ldGhvZCAiZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDAwZTE0ZmIgLy8gbWV0aG9kICJnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTI0ZTI3MTcgLy8gbWV0aG9kICJsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkIgoJYnl0ZWMgMjYgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA2NCAzMiAxNiAxMjggMjAwIDUgMzAwIDEwMDAgNCAxXzAwMF8wMDAgMl8xMDBfMDAwIDggMTAwMDAwIDQwMCAyIDQwIDQ4IFRNUExfbmZkUmVnaXN0cnlBcHBJZApieXRlY2Jsb2NrIDB4IDB4NjM3MjY1NjE3NDZmNzI0MTcwNzAgMHg3Mzc0NjE2YjY1NzI3MyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgMHg3MDZmNmY2YzQ5NjQgMHgwYTgxMDEgMHg3Mzc0NjE2YjY1NjQgMHg3Mzc0NjE2YjY1NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MDAwMDAwMDAwMDAwMDAwMCAweDcyNmY3NTZlNjQ3MzUwNjU3MjQ0NjE3OSAweDYyNjk2ZTUyNmY3NTZlNjQ1Mzc0NjE3Mjc0IDB4NzI2NTc3NjE3MjY0NDE2MzYzNzU2ZDc1NmM2MTc0NmY3MiAweDZlNzU2ZDUzNzQ2MTZiNjU3MjczIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgMHg3NWFmZjYxZCAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQgMHg2ZDY5NmU0NTZlNzQ3Mjc5NTM3NDYxNmI2NSAweDY1NzA2ZjYzNjg0ZTc1NmQ2MjY1NzIgMHg2NTc3NmQ2MSAweDE1MWY3Yzc1IDB4YTJkYzUxYjUgMHg1NzI3NjdkMSAweDRkZjhkODZlIDB4MGMyMjQ1ZTEgMHgwMCBUTVBMX2ZlZVNpbmtBZGRyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpLAoJLy8gICAgICAgJ1RlbXBvcmFyeTogY29udHJhY3QgaXMgdXBncmFkZWFibGUgYnV0IG9ubHkgZHVyaW5nIHRlc3RpbmcgYW5kIG9ubHkgZnJvbSBhIGRldmVsb3BtZW50IGFjY291bnQnCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCgkvLyBUZW1wb3Jhcnk6IGNvbnRyYWN0IGlzIHVwZ3JhZGVhYmxlIGJ1dCBvbmx5IGR1cmluZyB0ZXN0aW5nIGFuZCBvbmx5IGZyb20gYSBkZXZlbG9wbWVudCBhY2NvdW50Cglhc3NlcnQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGNyZWF0aW5nQ29udHJhY3RJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oY3JlYXRpbmdDb250cmFjdElkOiB1aW50NjQsIHZhbGlkYXRvcklkOiB1aW50NjQsIHBvb2xJZDogdWludDY0LCBtaW5FbnRyeVN0YWtlOiB1aW50NjQpOiB2b2lkCi8vCi8vIEluaXRpYWxpemUgdGhlIHN0YWtpbmcgcG9vbCB3LyBvd25lciBhbmQgbWFuYWdlciwgYnV0IGNhbiBvbmx5IGJlIGNyZWF0ZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdC4KLy8gQHBhcmFtIHt1aW50NjR9IGNyZWF0aW5nQ29udHJhY3RJZCAtIGlkIG9mIGNvbnRyYWN0IHRoYXQgY29uc3RydWN0ZWQgdXMgLSB0aGUgdmFsaWRhdG9yIGFwcGxpY2F0aW9uIChzaW5nbGUgZ2xvYmFsIGluc3RhbmNlKQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9ySWQgLSBpZCBvZiB2YWxpZGF0b3Igd2UncmUgYSBzdGFraW5nIHBvb2wgb2YKLy8gQHBhcmFtIHt1aW50NjR9IHBvb2xJZCAtIHdoaWNoIHBvb2wgaWQgYXJlIHdlCi8vIEBwYXJhbSB7dWludDY0fSBtaW5FbnRyeVN0YWtlIC0gbWluaW11bSBhbW91bnQgdG8gYmUgaW4gcG9vbCwgYnV0IGFsc28gbWluaW11bSBhbW91bnQgYmFsYW5jZSBjYW4ndCBnbyBiZWxvdyAod2l0aG91dCByZW1vdmluZyBhbGwhKQpjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDQgMAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTA4CgkvLyBjcmVhdGluZ0NvbnRyYWN0SWQgPT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTAKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCA9PT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTEKCS8vIGFzc2VydChwb29sSWQgPT09IDApCglmcmFtZV9kaWcgLTMgLy8gcG9vbElkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYXNzZXJ0CgliICppZjBfZW5kCgoqaWYwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTEzCgkvLyBhc3NlcnQodmFsaWRhdG9ySWQgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQocG9vbElkICE9PSAwKQoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE2CgkvLyBhc3NlcnQobWluRW50cnlTdGFrZSA+PSBNSU5fQUxHT19TVEFLRV9QRVJfUE9PTCwgJ3N0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28nKQoJZnJhbWVfZGlnIC00IC8vIG1pbkVudHJ5U3Rha2U6IHVpbnQ2NAoJcHVzaGludCAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTcKCS8vIHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlID0gY3JlYXRpbmdDb250cmFjdElkCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWZyYW1lX2RpZyAtMSAvLyBjcmVhdGluZ0NvbnRyYWN0SWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTE4CgkvLyB0aGlzLnZhbGlkYXRvcklkLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMTkKCS8vIHRoaXMucG9vbElkLnZhbHVlID0gcG9vbElkCglieXRlYyA0IC8vICAicG9vbElkIgoJZnJhbWVfZGlnIC0zIC8vIHBvb2xJZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjIKCS8vIHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSA9IG1pbkVudHJ5U3Rha2UKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWZyYW1lX2RpZyAtNCAvLyBtaW5FbnRyeVN0YWtlOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyMwoJLy8gdGhpcy5sYXN0UGF5b3V0LnZhbHVlID0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTQgLy8gICJsYXN0UGF5b3V0IgoJZ2xvYmFsIFJvdW5kCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjQKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgPSAwCglieXRlYyAxOSAvLyAgImVwb2NoTnVtYmVyIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEyNgoJLy8gdGhpcy5zZXRSb3VuZHNQZXJEYXkoKQoJY2FsbHN1YiBzZXRSb3VuZHNQZXJEYXkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTI3CgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjgKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IDAgYXMgdWludDEyOAoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMjkKCS8vIHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgInJld2FyZEFjY3VtdWxhdG9yIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjEzMAoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPSAwIGFzIHVpbnQxMjgKCWJ5dGVjIDIwIC8vICAiZXdtYSIKCWJ5dGVjIDE2IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNDIKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJaW50YyAxNiAvLyA0MDAKCSoKCSsKCXJldHN1YgoKLy8gaW5pdFN0b3JhZ2UocGF5KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3RvcmFnZToKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAwIChtYnJQYXltZW50KSBmb3IgaW5pdFN0b3JhZ2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBpbml0U3RvcmFnZShwYXkpdm9pZAoJY2FsbHN1YiBpbml0U3RvcmFnZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gaW5pdFN0b3JhZ2UobWJyUGF5bWVudDogUGF5VHhuKTogdm9pZAovLwovLyBDYWxsZWQgYWZ0ZXIgd2UncmUgY3JlYXRlZCBhbmQgdGhlbiBmdW5kZWQsIHNvIHdlIGNhbiBjcmVhdGUgb3VyIGxhcmdlIHN0YWtlcnMgbGVkZ2VyIHN0b3JhZ2UKLy8gQ2FsbGVyIGhhcyB0byBnZXQgTUJSIGFtb3VudHMgZnJvbSBWYWxpZGF0b3JSZWdpc3RyeSB0byBrbm93IGhvdyBtdWNoIHRvIGZ1bmQgdXMgdG8gY292ZXIgdGhlIGJveCBzdG9yYWdlIGNvc3QKLy8gSWYgdGhpcyBpcyBwb29sIDEgQU5EIHRoZSB2YWxpZGF0b3IgaGFzIHNwZWNpZmllZCBhIHJld2FyZCB0b2tlbiwgb3B0LWluIHRvIHRoYXQgdG9rZW4KLy8gc28gdGhhdCB0aGUgdmFsaWRhdG9yIGNhbiBzZWVkIHRoZSBwb29sIHdpdGggZnV0dXJlIHJld2FyZHMgb2YgdGhhdCB0b2tlbi4KLy8gQHBhcmFtIG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyBzdGFraW5nIHBvb2xzJyBzdG9yYWdlCmluaXRTdG9yYWdlOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTMKCS8vIGFzc2VydCghdGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBhbHJlYWR5IGluaXRpYWxpemVkJykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCgoJLy8gc3Rha2luZyBwb29sIGFscmVhZHkgaW5pdGlhbGl6ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTYKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0VmFsaWRhdG9yQ29uZmlnPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNSAvLyAgbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE1NwoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNTgKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTYwCgkvLyBpc1Rva2VuRWxpZ2libGUgPSB2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTUzIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJZnJhbWVfYnVyeSAxIC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNjEKCS8vIGV4dHJhTUJSID0gaXNUb2tlbkVsaWdpYmxlICYmIHRoaXMucG9vbElkLnZhbHVlID09PSAxID8gQVNTRVRfSE9MRElOR19GRUUgOiAwCglmcmFtZV9kaWcgMSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWR1cAoJYnogKnNraXBfYW5kMAoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCSYmCgoqc2tpcF9hbmQwOgoJYnogKnRlcm5hcnkwX2ZhbHNlCglpbnRjIDE1IC8vIDEwMDAwMAoJYiAqdGVybmFyeTBfZW5kCgoqdGVybmFyeTBfZmFsc2U6CglpbnRjIDAgLy8gMAoKKnRlcm5hcnkwX2VuZDoKCWZyYW1lX2J1cnkgMiAvLyBleHRyYU1CUjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2MgoJLy8gUG9vbEluaXRNYnIgPQoJLy8gICAgICAgQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRSArCgkvLyAgICAgICBleHRyYU1CUiArCgkvLyAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKQoJaW50YyAxNSAvLyAxMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGV4dHJhTUJSOiB1aW50NjQKCSsKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWZyYW1lX2J1cnkgMyAvLyBQb29sSW5pdE1icjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjE2OAoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogUG9vbEluaXRNYnIgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgMyAvLyBQb29sSW5pdE1icjogdWludDY0Cgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJQb29sSW5pdE1iciJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTY5CgkvLyB0aGlzLnN0YWtlcnMuY3JlYXRlKCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjgwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzEKCS8vIGlzVG9rZW5FbGlnaWJsZSAmJiB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJZnJhbWVfZGlnIDEgLy8gaXNUb2tlbkVsaWdpYmxlOiBib29sCglkdXAKCWJ6ICpza2lwX2FuZDEKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTczCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5yZXdhcmRUb2tlbklkKSwKCS8vICAgICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgICAgYXNzZXRBbW91bnQ6IDAsCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc0CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxNzUKCS8vIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTc2CgkvLyBhc3NldEFtb3VudDogMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoqaWYxX2VuZDoKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0CiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZWRBbW91bnRQYXltZW50KSBmb3IgYWRkU3Rha2UgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRTdGFrZShwYXksYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgYWRkU3Rha2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHN0YWtlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBBZGRzIHN0YWtlIHRvIHRoZSBnaXZlbiBhY2NvdW50LgovLyBDYW4gT05MWSBiZSBjYWxsZWQgYnkgdGhlIHZhbGlkYXRvciBjb250cmFjdCB0aGF0IGNyZWF0ZWQgdXMKLy8gTXVzdCByZWNlaXZlIHBheW1lbnQgZnJvbSB0aGUgdmFsaWRhdG9yIGNvbnRyYWN0IGZvciBhbW91bnQgYmVpbmcgc3Rha2VkLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCBwcmlvciBwYXltZW50IGNvbWluZyBmcm9tIHZhbGlkYXRvciBjb250cmFjdCB0byB1cyBvbiBiZWhhbGYgb2Ygc3Rha2VyLgovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhY2NvdW50IGFkZGluZyBuZXcgc3Rha2UKLy8gQHRocm93cyB7RXJyb3J9IC0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBzdGFraW5nIHBvb2wgaXMgZnVsbC4KLy8gQHJldHVybnMge3VpbnQ2NH0gbmV3ICdlbnRyeSByb3VuZCcgcm91bmQgbnVtYmVyIG9mIHN0YWtlIGFkZAphZGRTdGFrZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTkyCgkvLyBhc3NlcnQodGhpcy5zdGFrZXJzLmV4aXN0cywgJ3N0YWtpbmcgcG9vbCBtdXN0IGJlIGluaXRpYWxpemVkIGZpcnN0JykKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3Rha2luZyBwb29sIG11c3QgYmUgaW5pdGlhbGl6ZWQgZmlyc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICdzdGFrZSBjYW4gb25seSBiZSBhZGRlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gc3Rha2UgY2FuIG9ubHkgYmUgYWRkZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxOTkKCS8vIGFzc2VydChzdGFrZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjAyCgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIwNgoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJzZW5kZXIiLCJleHBlY3RlZCI6IkFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoic3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNQoJLy8gZW50cnlSb3VuZCA9IGdsb2JhbHMucm91bmQgKyBBTEdPUkFORF9TVEFLSU5HX0JMT0NLX0RFTEFZCglnbG9iYWwgUm91bmQKCXB1c2hpbnQgMzIwCgkrCglmcmFtZV9idXJ5IDAgLy8gZW50cnlSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxNgoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIxOAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjIwCgkvLyByb3VuZHNMZWZ0SW5CaW4gPSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSAtIGdsb2JhbHMucm91bmQKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgkrCglnbG9iYWwgUm91bmQKCS0KCWZyYW1lX2J1cnkgMiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9CgkvLyAgICAgICB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgKyAoc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJaXRvYgoJZnJhbWVfZGlnIDIgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCWl0b2IKCWIqCgliKwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI1CgkvLyBpIDwgdGhpcy5zdGFrZXJzLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqZm9yXzBfZW5kCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMjYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDkgLy8gMzAwCgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjI5CgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCT09CglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIzMgoJLy8gY21wU3Rha2VyLmJhbGFuY2UgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzMKCS8vIGNtcFN0YWtlci5lbnRyeVJvdW5kID0gZW50cnlSb3VuZAoJZnJhbWVfZGlnIDQgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglwdXNoaW50IDU2IC8vIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgNCAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjM2CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbaV0gPSBjbXBTdGFrZXIKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyMzgKCS8vIHJldHVybiBlbnRyeVJvdW5kOwoJZnJhbWVfZGlnIDAgLy8gZW50cnlSb3VuZDogdWludDY0CgliICphZGRTdGFrZSpyZXR1cm4KCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyNDAKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgY21wU3Rha2VyLmFjY291bnQgPT09IGdsb2JhbHMuemVyb0FkZHJlc3MKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDIKCWZyYW1lX2RpZyA0IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMjoKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQxCgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjRfZW5kOgoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjIyNQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjQ1CgkvLyBmaXJzdEVtcHR5ID09PSAwCglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIFN0YWtpbmcgcG9vbCBmdWxsCgllcnIKCippZjVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1MgoJLy8gYXNzZXJ0KHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50ID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcpCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI1NAoJLy8gYXNzZXJ0KHRoaXMuc3Rha2Vycy52YWx1ZVtmaXJzdEVtcHR5IC0gMV0uYWNjb3VudCA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyA0IC8vIDMyCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjU1CgkvLyB0aGlzLnN0YWtlcnMudmFsdWVbZmlyc3RFbXB0eSAtIDFdID0gewoJLy8gICAgICAgYWNjb3VudDogc3Rha2VyLAoJLy8gICAgICAgYmFsYW5jZTogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQsCgkvLyAgICAgICB0b3RhbFJld2FyZGVkOiAwLAoJLy8gICAgICAgcmV3YXJkVG9rZW5CYWxhbmNlOiAwLAoJLy8gICAgICAgZW50cnlSb3VuZDogZW50cnlSb3VuZCwKCS8vICAgICB9CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpdG9iCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI2MgoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlICs9IDEKCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTMgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjYzCgkvLyByZXR1cm4gZW50cnlSb3VuZDsKCWZyYW1lX2RpZyAwIC8vIGVudHJ5Um91bmQ6IHVpbnQ2NAoKKmFkZFN0YWtlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX3JlbW92ZVN0YWtlOgoJLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgcmVtb3ZlU3Rha2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcmVtb3ZlU3Rha2UoYWRkcmVzcyx1aW50NjQpdm9pZAoJY2FsbHN1YiByZW1vdmVTdGFrZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcmVtb3ZlU3Rha2Uoc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gUmVtb3ZlcyBzdGFrZSBvbiBiZWhhbGYgb2YgY2FsbGVyIChyZW1vdmluZyBvd24gc3Rha2UpLiAgSWYgYW55IHRva2VuIHJld2FyZHMgZXhpc3QsIHRob3NlIGFyZSBhbHdheXMgc2VudCBpbgovLyBmdWxsLiBBbHNvIG5vdGlmaWVzIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgZm9yIHRoaXMgcG9vbHMgdmFsaWRhdG9yIG9mIHRoZSBzdGFrZXIgLyBiYWxhbmNlIGNoYW5nZXMuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gYWNjb3VudCB0byByZW1vdmUuICBub3JtYWxseSBzYW1lIGFzIHNlbmRlciwgYnV0IHRoZSB2YWxpZGF0b3Igb3duZXIgb3IgbWFuYWdlciBjYW4gYWxzbyBjYWxsCi8vIHRoaXMgdG8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgc3Rha2VyIGV4cGxpY2l0bHkuIFRoZSByZW1vdmVkIHN0YWtlIE1VU1Qgb25seSBnbyB0byB0aGUgc3Rha2VyIG9mIGNvdXJzZS4gIFRoaXMgaXMKLy8gc28gYSB2YWxpZGF0b3IgY2FuIHNodXQgZG93biBhIHBvb29sIGFuZCByZWZ1bmQgdGhlIHN0YWtlcnMuICBJdCBjYW4gYWxzbyBiZSB1c2VkIHRvIGtpY2sgb3V0IHN0YWtlcnMgd2hvIG5vIGxvbmdlcgovLyBtZWV0IHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIChkZXRlcm1pbmVkIGJ5IHRoZSBub2RlIGRhZW1vbikuCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRUb1Vuc3Rha2UgLSBUaGUgYW1vdW50IG9mIHN0YWtlIHRvIGJlIHJlbW92ZWQuICBTcGVjaWZ5IDAgdG8gcmVtb3ZlIGFsbCBzdGFrZS4KLy8gQHRocm93cyB7RXJyb3J9IElmIHRoZSBhY2NvdW50IGhhcyBpbnN1ZmZpY2llbnQgYmFsYW5jZSBvciBpZiB0aGUgYWNjb3VudCBpcyBub3QgZm91bmQuCnJlbW92ZVN0YWtlOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNgoKCS8vICppZjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgwCgkvLyBzdGFrZXIgIT09IHRoaXMudHhuLnNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJIT0KCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjgxCgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLAoJLy8gICAgICAgICAnSWYgc3Rha2VyIGlzIG5vdCBzZW5kZXIgaW4gcmVtb3ZlU3Rha2UgY2FsbCwgdGhlbiBzZW5kZXIgTVVTVCBiZSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICAgICkKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIElmIHN0YWtlciBpcyBub3Qgc2VuZGVyIGluIHJlbW92ZVN0YWtlIGNhbGwsIHRoZW4gc2VuZGVyIE1VU1QgYmUgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKKmlmNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjg3CgkvLyB0aGlzLmNoZWNrSWZCaW5DbG9zZWQoKQoJY2FsbHN1YiBjaGVja0lmQmluQ2xvc2VkCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8xOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MjkwCgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyA5IC8vIDMwMAoJPAoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTEKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5MwoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoyOTQKCS8vIGNtcFN0YWtlci5hY2NvdW50ID09PSBzdGFrZXIKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgk9PQoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vICppZjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mjk1CgkvLyBhbW91bnRUb1Vuc3Rha2UgPT09IDAKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5NwoJLy8gYW1vdW50VG9VbnN0YWtlID0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9idXJ5IC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CgoqaWY5X2VuZDoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI5OQoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPCBhbW91bnRUb1Vuc3Rha2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCTwKCWJ6ICppZjEwX2VuZAoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIEluc3VmZmljaWVudCBiYWxhbmNlCgllcnIKCippZjEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMDIKCS8vIGNtcFN0YWtlci5iYWxhbmNlIC09IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDQgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCS0KCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwMwoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50VG9VbnN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJLQoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNQoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMwNgoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA+IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTFfZW5kCgoJLy8gKmlmMTFfY29uc2VxdWVudAoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA4CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjEyX2Vsc2UKCgkvLyAqaWYxMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzA5CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzExCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMxNwoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCksCgkvLyAgICAgICAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzE4CgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkKCWZyYW1lX2RpZyAzIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMTkKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyMAoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjIKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDIgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzIzCgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTJfZW5kCgoqaWYxMl9lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMyOAoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozMjkKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTJfZW5kOgoKKmlmMTFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgIGNtcFN0YWtlci5iYWxhbmNlID09PSAwIHx8IGNtcFN0YWtlci5iYWxhbmNlID49IHRoaXMubWluRW50cnlTdGFrZS52YWx1ZSwKCS8vICAgICAgICAgICAnY2Fubm90IHJlZHVjZSBiYWxhbmNlIGJlbG93IG1pbmltdW0gYWxsb3dlZCBzdGFrZSB1bmxlc3MgYWxsIGlzIHJlbW92ZWQnCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWJ5dGVjIDE4IC8vICAibWluRW50cnlTdGFrZSIKCWFwcF9nbG9iYWxfZ2V0Cgk+PQoJfHwKCipza2lwX29yMDoKCS8vIGNhbm5vdCByZWR1Y2UgYmFsYW5jZSBiZWxvdyBtaW5pbXVtIGFsbG93ZWQgc3Rha2UgdW5sZXNzIGFsbCBpcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQyCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgYW1vdW50OiBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgcmVjZWl2ZXI6IHN0YWtlciwKCS8vICAgICAgICAgICBub3RlOiAndW5zdGFrZWQnLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQzCgkvLyBhbW91bnQ6IGFtb3VudFRvVW5zdGFrZQoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudFRvVW5zdGFrZTogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNDQKCS8vIHJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ1CgkvLyBub3RlOiAndW5zdGFrZWQnCglwdXNoYnl0ZXMgMHg3NTZlNzM3NDYxNmI2NTY0IC8vICJ1bnN0YWtlZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzQ3CgkvLyBzdGFrZXJSZW1vdmVkID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM0OAoJLy8gY21wU3Rha2VyLmJhbGFuY2UgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTAKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyAxMyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCS0KCWJ5dGVjIDEzIC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MQoJLy8gY21wU3Rha2VyLmFjY291bnQgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWludGMgMCAvLyAwCglnbG9iYWwgWmVyb0FkZHJlc3MKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1MgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0MAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTMKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAxIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTQKCS8vIHN0YWtlclJlbW92ZWQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSA0IC8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNTcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIDEgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM1OQoJLy8gcm91bmRzTGVmdEluQmluID0gdGhpcy5iaW5Sb3VuZFN0YXJ0LnZhbHVlICsgdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgLSBnbG9iYWxzLnJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJKwoJZ2xvYmFsIFJvdW5kCgktCglmcmFtZV9idXJ5IDUgLy8gcm91bmRzTGVmdEluQmluOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzYwCgkvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOCA9IChhbW91bnRUb1Vuc3Rha2UgYXMgdWludDEyOCkgKiAocm91bmRzTGVmdEluQmluIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTIgLy8gYW1vdW50VG9VbnN0YWtlOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyA1IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKGFtb3VudFRvVW5zdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgNiAvLyBzdWJ0cmFjdEFtb3VudDogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjEKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSAtIHN1YnRyYWN0QW1vdW50CglieXRlYyA3IC8vICAic3Rha2VBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyA2IC8vIHN1YnRyYWN0QW1vdW50OiB1aW50MTI4CgliLQoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC0gc3VidHJhY3RBbW91bnQgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM2NgoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zdGFrZVJlbW92ZWQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozNjcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MzY4CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1Vuc3Rha2UsCgkvLyAgICAgICAgICAgICBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQsCgkvLyAgICAgICAgICAgICBzdGFrZXJSZW1vdmVkLAoJLy8gICAgICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBhbW91bnRUb1Vuc3Rha2U6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDQgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Mzc2CgkvLyByZXR1cm47CglyZXRzdWIKCippZjhfZW5kOgoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGFjY291bnQgbm90IGZvdW5kCgllcnIKCXJldHN1YgoKLy8gY2xhaW1Ub2tlbnMoKXZvaWQKKmFiaV9yb3V0ZV9jbGFpbVRva2VuczoKCS8vIGV4ZWN1dGUgY2xhaW1Ub2tlbnMoKXZvaWQKCWNhbGxzdWIgY2xhaW1Ub2tlbnMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNsYWltVG9rZW5zKCk6IHZvaWQKLy8KLy8gQ2xhaW1zIGFsbCB0aGUgYXZhaWxhYmxlIHJld2FyZCB0b2tlbnMgYSBzdGFrZXIgaGFzIGF2YWlsYWJsZSwgc2VuZGluZyB0aGVpciBlbnRpcmUgYmFsYW5jZSB0byB0aGUgc3Rha2VyIGZyb20KLy8gcG9vbCAxIChlaXRoZXIgZGlyZWN0bHksIG9yIHZpYSB2YWxpZGF0b3ItPnBvb2wxIHRvIHBheSBpdCBvdXQpCi8vIEFsc28gbm90aWZpZXMgdGhlIHZhbGlkYXRvciBjb250cmFjdCBmb3IgdGhpcyBwb29scyB2YWxpZGF0b3Igb2YgdGhlIHN0YWtlciAvIGJhbGFuY2UgY2hhbmdlcy4KY2xhaW1Ub2tlbnM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5MwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTcKCS8vIGNtcFN0YWtlciA9IGNsb25lKHRoaXMuc3Rha2Vycy52YWx1ZVtpXSkKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OAoJLy8gY21wU3Rha2VyLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vICppZjE2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjM5OQoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTZfZW5kCgoJLy8gKmlmMTZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQwMAoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYxNl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDAyCgkvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA0CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjE3X2Vsc2UKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA1CgkvLyB2YWxpZGF0b3JDb25maWcgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFZhbGlkYXRvckNvbmZpZz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTUgLy8gIG1ldGhvZCAiZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MDYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDA3CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA0IC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMgoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpLAoJLy8gICAgICAgICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgICAgICAgYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UsCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMTEgLy8gIGF4ZmVyCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxMwoJLy8geGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQpCglmcmFtZV9kaWcgNCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNTMgOAoJYnRvaQoJaXR4bl9maWVsZCBYZmVyQXNzZXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE0CgkvLyBhc3NldFJlY2VpdmVyOiBzdGFrZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQxNQoJLy8gYXNzZXRBbW91bnQ6IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MTcKCS8vIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCA9IGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UKCWZyYW1lX2RpZyAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDE4CgkvLyBjbXBTdGFrZXIucmV3YXJkVG9rZW5CYWxhbmNlID0gMAoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcmVwbGFjZTIgNDgKCWZyYW1lX2J1cnkgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWIgKmlmMTdfZW5kCgoqaWYxN19lbHNlOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyMwoJLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkID0gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZQoJZnJhbWVfZGlnIDIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBhbW91bnRSZXdhcmRUb2tlblJlbW92ZWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MjQKCS8vIGNtcFN0YWtlci5yZXdhcmRUb2tlbkJhbGFuY2UgPSAwCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglyZXBsYWNlMiA0OAoJZnJhbWVfYnVyeSAyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKKmlmMTdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQyOAoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldID0gY21wU3Rha2VyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDMzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLnN0YWtlUmVtb3ZlZD4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgICAgIHN0YWtlciwKCS8vICAgICAgICAgICAgIDAsIC8vIG5vIGFsZ28gcmVtb3ZlZAoJLy8gICAgICAgICAgICAgYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkLAoJLy8gICAgICAgICAgICAgZmFsc2UsIC8vIHN0YWtlciBpc24ndCBiZWluZyByZW1vdmVkLgoJLy8gICAgICAgICAgIF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIyIC8vICBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0MzQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDM1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgICAgICB7IGlkOiB0aGlzLnZhbGlkYXRvcklkLnZhbHVlLCBwb29sSWQ6IHRoaXMucG9vbElkLnZhbHVlLCBwb29sQXBwSWQ6IHRoaXMuYXBwLmlkIH0sCgkvLyAgICAgICAgICAgICBzdGFrZXIsCgkvLyAgICAgICAgICAgICAwLCAvLyBubyBhbGdvIHJlbW92ZWQKCS8vICAgICAgICAgICAgIGFtb3VudFJld2FyZFRva2VuUmVtb3ZlZCwKCS8vICAgICAgICAgICAgIGZhbHNlLCAvLyBzdGFrZXIgaXNuJ3QgYmVpbmcgcmVtb3ZlZC4KCS8vICAgICAgICAgICBdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgljb25jYXQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gYW1vdW50UmV3YXJkVG9rZW5SZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDAgLy8gMAoJYnl0ZWMgMjYgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDQzCgkvLyByZXR1cm47CglyZXRzdWIKCippZjE1X2VuZDoKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czozOTMKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBhY2NvdW50IG5vdCBmb3VuZAoJZXJyCglyZXRzdWIKCi8vIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0U3Rha2VySW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMjEgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZXJJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFN0YWtlckluZm8oYWRkcmVzcykoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFN0YWtlckluZm8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRTdGFrZXJJbmZvKHN0YWtlcjogQWRkcmVzcyk6IFN0YWtlZEluZm8KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gc3Rha2VyLgovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEByZXR1cm5zIHtTdGFrZWRJbmZvfSAtIFRoZSBzdGFrZWQgaW5mb3JtYXRpb24gZm9yIHRoZSBnaXZlbiBzdGFrZXIuCi8vIEB0aHJvd3Mge0Vycm9yfSAtIElmIHRoZSBzdGFrZXIncyBhY2NvdW50IGlzIG5vdCBmb3VuZC4KZ2V0U3Rha2VySW5mbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlcnMudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OAoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDIwMAoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjE4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ1OQoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAyMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICppZjE4X2VuZAoKCS8vICppZjE4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjAKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjE4X2VuZDoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ2MgoJLy8gdGhpcy5zdGFrZXJzLnZhbHVlW2ldLmFjY291bnQgPT09IHN0YWtlcgoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgNCAvLyAzMgoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJPT0KCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0NjMKCS8vIHJldHVybiB0aGlzLnN0YWtlcnMudmFsdWVbaV07CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyA2NAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gNjQKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKmdldFN0YWtlckluZm8qcmV0dXJuCgoqaWYxOV9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDU4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJLy8gYWNjb3VudCBub3QgZm91bmQKCWVycgoKKmdldFN0YWtlckluZm8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfcGF5VG9rZW5SZXdhcmQ6CgkvLyBhbW91bnRUb1NlbmQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHJld2FyZFRva2VuOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VyKSBmb3IgcGF5VG9rZW5SZXdhcmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgcGF5VG9rZW5SZXdhcmQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHBheVRva2VuUmV3YXJkKHN0YWtlcjogQWRkcmVzcywgcmV3YXJkVG9rZW46IHVpbnQ2NCwgYW1vdW50VG9TZW5kOiB1aW50NjQpOiB2b2lkCi8vCi8vIFtJbnRlcm5hbCBwcm90b2NvbCBtZXRob2RdIFJlbW92ZSBhIHNwZWNpZmllZCBhbW91bnQgb2YgJ2NvbW11bml0eSB0b2tlbicgcmV3YXJkcyBmb3IgYSBzdGFrZXIuCi8vIFRoaXMgY2FuIE9OTFkgYmUgY2FsbGVkIGJ5IG91ciB2YWxpZGF0b3IgYW5kIG9ubHkgaWYgd2UncmUgcG9vbCAxIC0gd2l0aCB0aGUgdG9rZW4uCi8vIE5vdGU6IHRoaXMgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBhcyBwYXJ0IG9mIE9XTkVSIHdhbnRpbmcgdG8gc2VuZCB0aGUgcmV3YXJkIHRva2VucwovLyBzb21ld2hlcmUgZWxzZSAoaWUgaWYgdGhleSdyZSBzdW5zZXR0aW5nIHRoZWlyIHZhbGlkYXRvciBhbmQgbmVlZCB0aGUgcmV3YXJkIHRva2VucyBiYWNrKS4KLy8gSXQncyB1cCB0byB0aGUgdmFsaWRhdG9yIHRvIGVuc3VyZSB0aGF0IHRoZSBiYWxhbmNlIGluIHJld2FyZFRva2VuSGVsZEJhY2sgaXMgaG9ub3JlZC4KLy8gQHBhcmFtIHN0YWtlciAtIHRoZSBzdGFrZXIgYWNjb3VudCB0byBzZW5kIHJld2FyZHMgdG8KLy8gQHBhcmFtIHJld2FyZFRva2VuIC0gaWQgb2YgcmV3YXJkIHRva2VuICh0byBhdm9pZCByZS1lbnRyYW5jeSBpbiBjYWxsaW5nIHZhbGlkYXRvciBiYWNrIHRvIGdldCBpZCkKLy8gQHBhcmFtIGFtb3VudFRvU2VuZCAtIGFtb3VudCB0byBzZW5kIHRoZSBzdGFrZXIgKHRoZXJlIGlzIHNpZ25pZmljYW50IHRydXN0IGhlcmUoISkgLSBhbHNvIHdoeSBvbmx5IHZhbGlkYXRvciBjYW4gY2FsbCB1cwpwYXlUb2tlblJld2FyZDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcywKCS8vICAgICAgICd0aGlzIGNhbiBvbmx5IGJlIGNhbGxlZCB2aWEgdGhlIHZhbGlkYXRvciBjb250cmFjdCcKCS8vICAgICApCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09CgoJLy8gdGhpcyBjYW4gb25seSBiZSBjYWxsZWQgdmlhIHRoZSB2YWxpZGF0b3IgY29udHJhY3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0ODUKCS8vIGFzc2VydCh0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMSwgJ211c3QgYmUgcG9vbCAxIGluIG9yZGVyIHRvIGJlIGNhbGxlZCB0byBwYXkgb3V0IHRva2VuIHJld2FyZHMnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBtdXN0IGJlIHBvb2wgMSBpbiBvcmRlciB0byBiZSBjYWxsZWQgdG8gcGF5IG91dCB0b2tlbiByZXdhcmRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDg2CgkvLyBhc3NlcnQocmV3YXJkVG9rZW4gIT09IDAsICdjYW4gb25seSBjbGFpbSB0b2tlbiByZXdhcmRzIGZyb20gdmFsaWRhdG9yIHRoYXQgaGFzIHRoZW0nKQoJZnJhbWVfZGlnIC0yIC8vIHJld2FyZFRva2VuOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGNhbiBvbmx5IGNsYWltIHRva2VuIHJld2FyZHMgZnJvbSB2YWxpZGF0b3IgdGhhdCBoYXMgdGhlbQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ4OQoJLy8gc2VuZEFzc2V0VHJhbnNmZXIoewoJLy8gICAgICAgeGZlckFzc2V0OiBBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW4pLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogc3Rha2VyLAoJLy8gICAgICAgYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxMSAvLyAgYXhmZXIKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NDkwCgkvLyB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChyZXdhcmRUb2tlbikKCWZyYW1lX2RpZyAtMiAvLyByZXdhcmRUb2tlbjogdWludDY0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo0OTEKCS8vIGFzc2V0UmVjZWl2ZXI6IHN0YWtlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjQ5MgoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudFRvU2VuZAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU2VuZDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyB1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyOgoJLy8gYWxnb2RWZXI6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUFsZ29kVmVyKHN0cmluZyl2b2lkCgljYWxsc3ViIHVwZGF0ZUFsZ29kVmVyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBbGdvZFZlcihhbGdvZFZlcjogc3RyaW5nKTogdm9pZAovLwovLyBVcGRhdGUgdGhlIChob25vciBzeXN0ZW0pIGFsZ29kIHZlcnNpb24gZm9yIHRoZSBub2RlIGFzc29jaWF0ZWQgdG8gdGhpcyBwb29sLiAgVGhlIG5vZGUgbWFuYWdlbWVudCBkYWVtb24KLy8gc2hvdWxkIGNvbXBhcmUgaXRzIGN1cnJlbnQgbm9kZXMgdmVyc2lvbiB0byB0aGUgdmVyc2lvbiBzdG9yZWQgaW4gZ2xvYmFsIHN0YXRlLCB1cGRhdGluZyB3aGVuIGRpZmZlcmVudC4KLy8gVGhlIHJldGkgbm9kZSBkYWVtb24gY29tcG9zZXMgaXRzIG93biB2ZXJzaW9uIHN0cmluZyB1c2luZyBmb3JtYXQ6Ci8vIHttYWpvcn0ue21pbm9yfS57YnVpbGR9IHticmFuY2h9IFt7Y29tbWl0IGhhc2h9XSwKLy8gaWU6IDMuMjIuMCByZWwvc3RhYmxlIFs2YjUwODk3NV0KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQovLyBAcGFyYW0ge3N0cmluZ30gYWxnb2RWZXIgLSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhbGdvcmFuZCBub2RlIGRhZW1vbiB2ZXJzaW9uIChyZXRpIG5vZGUgZGFlbW9uIGNvbXBvc2VzIGl0cyBvd24gbWV0YSB2ZXJzaW9uKQp1cGRhdGVBbGdvZFZlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDYKCS8vIGFzc2VydCh0aGlzLmlzT3duZXJPck1hbmFnZXJDYWxsZXIoKSwgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicpCgljYWxsc3ViIGlzT3duZXJPck1hbmFnZXJDYWxsZXIKCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MDcKCS8vIHRoaXMuYWxnb2RWZXIudmFsdWUgPSBhbGdvZFZlcgoJcHVzaGJ5dGVzIDB4NjE2YzY3NmY2NDU2NjU3MiAvLyAiYWxnb2RWZXIiCglmcmFtZV9kaWcgLTEgLy8gYWxnb2RWZXI6IHN0cmluZwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkCiphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlOgoJLy8gZXhlY3V0ZSBlcG9jaEJhbGFuY2VVcGRhdGUoKXZvaWQKCWNhbGxzdWIgZXBvY2hCYWxhbmNlVXBkYXRlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlcG9jaEJhbGFuY2VVcGRhdGUoKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBiYWxhbmNlIG9mIHN0YWtlcnMgaW4gdGhlIHBvb2wgYmFzZWQgb24gdGhlIHJlY2VpdmVkICdyZXdhcmRzJyAoY3VycmVudCBiYWxhbmNlIHZzIGtub3duIHN0YWtlZCBiYWxhbmNlKQovLyBzdGFrZXJzIG91dHN0YW5kaW5nIGJhbGFuY2UgaXMgYWRqdXN0ZWQgYmFzZWQgb24gdGhlaXIgJSBvZiBzdGFrZSBhbmQgdGltZSBpbiB0aGUgY3VycmVudCBlcG9jaCAtIHNvIHRoYXQgYmFsYW5jZQovLyBjb21wb3VuZHMgb3ZlciB0aW1lIGFuZCBzdGFrZXIgY2FuIHJlbW92ZSB0aGF0IGFtb3VudCBhdCB3aWxsLgovLyBUaGUgdmFsaWRhdG9yIGlzIHBhaWQgdGhlaXIgcGVyY2VudGFnZSBlYWNoIGVwb2NoIHBheW91dC4KLy8KLy8gTm90ZTogQU5ZT05FIGNhbiBjYWxsIHRoaXMuCmVwb2NoQmFsYW5jZVVwZGF0ZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDM2CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMAoJLy8gdmFsaWRhdG9yQ29uZmlnID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JDb25maWc+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDE1IC8vICBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUyMgoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1MjkKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB2YWxpZGF0b3JDb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2OSA0CglidG9pCglmcmFtZV9idXJ5IDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMAoJLy8gY3VyUm91bmQgPSBnbG9iYWxzLnJvdW5kCglnbG9iYWwgUm91bmQKCWZyYW1lX2J1cnkgMiAvLyBjdXJSb3VuZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjUzMQoJLy8gdGhpc0Vwb2NoQmVnaW4gPSBjdXJSb3VuZCAtIChjdXJSb3VuZCAlIGVwb2NoUm91bmRMZW5ndGgpCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCSUKCS0KCWZyYW1lX2J1cnkgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CgoJLy8gKmlmMjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM0CgkvLyB0aGlzLmxhc3RQYXlvdXQuZXhpc3RzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM1CgkvLyBsYXN0UGF5b3V0RXBvY2ggPSB0aGlzLmxhc3RQYXlvdXQudmFsdWUgLSAodGhpcy5sYXN0UGF5b3V0LnZhbHVlICUgZXBvY2hSb3VuZExlbmd0aCkKCWJ5dGVjIDE0IC8vICAibGFzdFBheW91dCIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gbGFzdFBheW91dEVwb2NoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTM5CgkvLyBhc3NlcnQobGFzdFBheW91dEVwb2NoICE9PSB0aGlzRXBvY2hCZWdpbiwgImNhbid0IGNhbGwgZXBvY2hCYWxhbmNlVXBkYXRlIGluIHNhbWUgZXBvY2ggYXMgcHJpb3IgY2FsbCIpCglmcmFtZV9kaWcgNCAvLyBsYXN0UGF5b3V0RXBvY2g6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJIT0KCgkvLyBjYW4ndCBjYWxsIGVwb2NoQmFsYW5jZVVwZGF0ZSBpbiBzYW1lIGVwb2NoIGFzIHByaW9yIGNhbGwKCWFzc2VydAoKKmlmMjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU0MgoJLy8gdGhpcy5jaGVja0lmQmluQ2xvc2VkKCkKCWNhbGxzdWIgY2hlY2tJZkJpbkNsb3NlZAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDUKCS8vIHRoaXMubGFzdFBheW91dC52YWx1ZSA9IGN1clJvdW5kCglieXRlYyAxNCAvLyAgImxhc3RQYXlvdXQiCglmcmFtZV9kaWcgMiAvLyBjdXJSb3VuZDogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NDYKCS8vIHRoaXMuZXBvY2hOdW1iZXIudmFsdWUgKz0gMQoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgMTkgLy8gICJlcG9jaE51bWJlciIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MQoJLy8gaXNUb2tlbkVsaWdpYmxlID0gdmFsaWRhdG9yQ29uZmlnLnJld2FyZFRva2VuSWQgIT09IDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWZyYW1lX2J1cnkgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTUyCgkvLyBwb29sT25lQXBwSUQgPSB0aGlzLmFwcC5pZAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfYnVyeSA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU1MwoJLy8gcG9vbE9uZUFkZHJlc3MgPSB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSA3IC8vIHBvb2xPbmVBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMjFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU4CgkvLyBpc1Rva2VuRWxpZ2libGUKCWZyYW1lX2RpZyA1IC8vIGlzVG9rZW5FbGlnaWJsZTogYm9vbAoJYnogKmlmMjFfZW5kCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gKmlmMjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTU5CgkvLyB0aGlzLnBvb2xJZC52YWx1ZSAhPT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjIyX2VuZAoKCS8vICppZjIyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjEKCS8vIHBvb2xPbmVBcHBJRCA9IHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuZ2V0UG9vbEFwcElkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWUsIDFdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyMyAvLyAgbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTYzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgMV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBwb29sT25lQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1NjUKCS8vIHBvb2xPbmVBZGRyZXNzID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sT25lQXBwSUQpLmFkZHJlc3MKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2J1cnkgNyAvLyBwb29sT25lQWRkcmVzczogYWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcwCgkvLyB0aGlzLnBvb2xJZC52YWx1ZSA9PT0gMQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjIzX2Vsc2UKCgkvLyAqaWYyM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcxCgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5zZXRUb2tlblBheW91dFJhdGlvPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAyNCAvLyAgbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTcyCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMuY3JlYXRpbmdWYWxpZGF0b3JDb250cmFjdEFwcElkLnZhbHVlKQoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjU3MwoJLy8gbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdCglieXRlYyAzIC8vICAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWZyYW1lX2J1cnkgOCAvLyB0b2tlblBheW91dFJhdGlvOiBQb29sVG9rZW5QYXlvdXRSYXRpbwoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc3CgkvLyB0b2tlblBheW91dFJhdGlvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbE9uZUFwcElEKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xPbmVBcHBJRCkKCWZyYW1lX2RpZyA2IC8vIHBvb2xPbmVBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTc5CgkvLyBtZXRob2RBcmdzOiBbeyBpZDogdGhpcy52YWxpZGF0b3JJZC52YWx1ZSwgcG9vbElkOiB0aGlzLnBvb2xJZC52YWx1ZSwgcG9vbEFwcElkOiB0aGlzLmFwcC5pZCB9XQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWJ5dGVjIDQgLy8gICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJY29uY2F0Cgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCippZjIzX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODYKCS8vIHZhbGlkYXRvclN0YXRlID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JTdGF0ZT4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1ODcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTg4CgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTAKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB2YWxpZGF0b3JTdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglmcmFtZV9kaWcgOSAvLyB2YWxpZGF0b3JTdGF0ZTogKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTggOAoJYnRvaQoJZnJhbWVfYnVyeSAxMCAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk2CgkvLyBhbGdvUmV3YXJkQXZhaWwgPSB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgLSB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSAtIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCS0KCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo1OTcKCS8vIGlzUG9vbFNhdHVyYXRlZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxMiAvLyBpc1Bvb2xTYXR1cmF0ZWQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NTk4CgkvLyBhbGdvU2F0dXJhdGlvbkFtdCA9IHRoaXMuYWxnb1NhdHVyYXRpb25MZXZlbCgpCgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWZyYW1lX2J1cnkgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoKCS8vICppZjI0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNgoJLy8gdmFsaWRhdG9yU3RhdGUudG90YWxBbGdvU3Rha2VkID4gYWxnb1NhdHVyYXRpb25BbXQKCWZyYW1lX2RpZyA5IC8vIHZhbGlkYXRvclN0YXRlOiAodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMCA4CglidG9pCglmcmFtZV9kaWcgMTMgLy8gYWxnb1NhdHVyYXRpb25BbXQ6IHVpbnQ2NAoJPgoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYwNwoJLy8gaXNQb29sU2F0dXJhdGVkID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMTIgLy8gaXNQb29sU2F0dXJhdGVkOiBib29sCgoqaWYyNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjEzCgkvLyB0b2tlblJld2FyZEF2YWlsID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjE2CgkvLyBleGNlc3NUb0ZlZVNpbmsgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYxNwoJLy8gaXNUb2tlbkVsaWdpYmxlCglmcmFtZV9kaWcgNSAvLyBpc1Rva2VuRWxpZ2libGU6IGJvb2wKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2MTgKCS8vIHRva2VuUmV3YXJkQmFsID0KCS8vICAgICAgICAgcG9vbE9uZUFkZHJlc3MuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcucmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDcgLy8gcG9vbE9uZUFkZHJlc3M6IGFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE1MyA4CglidG9pCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEwIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxOCAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gKmlmMjZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjIzCgkvLyB0b2tlblJld2FyZEJhbCA+PSB2YWxpZGF0b3JDb25maWcucmV3YXJkUGVyUGF5b3V0CglmcmFtZV9kaWcgMTggLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTYxIDgKCWJ0b2kKCT49CglieiAqaWYyNl9lbmQKCgkvLyAqaWYyNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjI5CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbdGhpcy5wb29sSWQudmFsdWUgLSAxXQoJZnJhbWVfZGlnIDggLy8gdG9rZW5QYXlvdXRSYXRpbzogUG9vbFRva2VuUGF5b3V0UmF0aW8KCWludGMgMCAvLyAwCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglpbnRjIDE0IC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxNCAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfYnVyeSAxOSAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzMgoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9IHdpZGVSYXRpbyhbdmFsaWRhdG9yQ29uZmlnLnJld2FyZFBlclBheW91dCwgb3VyUG9vbFBjdE9mV2hvbGVdLCBbMV8wMDBfMDAwXSkKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDE2MSA4CglidG9pCglmcmFtZV9kaWcgMTkgLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCippZjI2X2VuZDoKCippZjI1X2VuZDoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjYzNQoJLy8gdG9rZW5SZXdhcmRBdmFpbCA9PT0gMAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDAKCS8vIGFsZ29SZXdhcmRBdmFpbCA8IDFfMDAwXzAwMAoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDEyIC8vIDFfMDAwXzAwMAoJPAoJYnogKmlmMjhfZW5kCgoJLy8gKmlmMjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MQoJLy8gbG9nKCchdG9rZW4mJiFub2FsZ28gdG8gcGF5JykKCXB1c2hieXRlcyAweDIxNzQ2ZjZiNjU2ZTI2MjYyMTZlNmY2MTZjNjc2ZjIwNzQ2ZjIwNzA2MTc5IC8vICIhdG9rZW4mJiFub2FsZ28gdG8gcGF5IgoJbG9nCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY0MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYyOF9lbmQ6CgoqaWYyN19lbmQ6CgkvLyAqaWYyOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NDYKCS8vIGlzUG9vbFNhdHVyYXRlZAoJZnJhbWVfZGlnIDEyIC8vIGlzUG9vbFNhdHVyYXRlZDogYm9vbAoJYnogKmlmMjlfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjQ5CgkvLyBkaW1pbmlzaGVkUmV3YXJkID0gd2lkZVJhdGlvKFthbGdvUmV3YXJkQXZhaWwsIGFsZ29TYXR1cmF0aW9uQW10XSwgW3ZhbGlkYXRvclN0YXRlLnRvdGFsQWxnb1N0YWtlZF0pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBhbGdvU2F0dXJhdGlvbkFtdDogdWludDY0CgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDkgLy8gdmFsaWRhdG9yU3RhdGU6ICh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDEwIDgKCWJ0b2kKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglmcmFtZV9idXJ5IDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTEKCS8vIGV4Y2Vzc1RvRmVlU2luayA9IGFsZ29SZXdhcmRBdmFpbCAtIGRpbWluaXNoZWRSZXdhcmQKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgYW1vdW50OiBleGNlc3NUb0ZlZVNpbmssCgkvLyAgICAgICAgIHJlY2VpdmVyOiB0aGlzLmdldEZlZVNpbmsoKSwKCS8vICAgICAgICAgbm90ZTogJ3Bvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsnLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1MwoJLy8gYW1vdW50OiBleGNlc3NUb0ZlZVNpbmsKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjU0CgkvLyByZWNlaXZlcjogdGhpcy5nZXRGZWVTaW5rKCkKCWNhbGxzdWIgZ2V0RmVlU2luawoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2NTUKCS8vIG5vdGU6ICdwb29sIHNhdHVyYXRlZCwgZXhjZXNzIHRvIGZlZSBzaW5rJwoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmMyMDczNjE3NDc1NzI2MTc0NjU2NDJjMjA2NTc4NjM2NTczNzMyMDc0NmYyMDY2NjU2NTIwNzM2OTZlNmIgLy8gInBvb2wgc2F0dXJhdGVkLCBleGNlc3MgdG8gZmVlIHNpbmsiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OAoJLy8gYWxnb1Jld2FyZEF2YWlsID0gZGltaW5pc2hlZFJld2FyZAoJZnJhbWVfZGlnIDIwIC8vIGRpbWluaXNoZWRSZXdhcmQ6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY1OQoJLy8gdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjYyCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW2FsZ29SZXdhcmRBdmFpbCwgdmFsaWRhdG9yQ29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciBhcyB1aW50NjRdLAoJLy8gICAgICAgICBbMV8wMDBfMDAwXQoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTIgLy8gMV8wMDBfMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY2OAoJLy8gYWxnb1Jld2FyZEF2YWlsIC09IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0CglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CgktCglmcmFtZV9idXJ5IDExIC8vIGFsZ29SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njc1CgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCA+IDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMzBfZW5kCgoJLy8gKmlmMzBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY3OAoJLy8gbWFuYWdlclRvcE9mZiA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoKCS8vICppZjMxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MAoJLy8gdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAmJgoJLy8gICAgICAgICAgIHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLmJhbGFuY2UgLSB2YWxpZGF0b3JDb25maWcubWFuYWdlci5taW5CYWxhbmNlIDwgMl8xMDBfMDAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvckNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDMyCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJLQoJaW50YyAxMyAvLyAyXzEwMF8wMDAKCTwKCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4MwoJLy8gbWFuYWdlclRvcE9mZiA9IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IDwgMl8xMDBfMDAwID8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgOiAyXzEwMF8wMDAKCWZyYW1lX2RpZyAxNiAvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dDogdWludDY0CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoJPAoJYnogKnRlcm5hcnkxX2ZhbHNlCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJYiAqdGVybmFyeTFfZW5kCgoqdGVybmFyeTFfZmFsc2U6CglpbnRjIDEzIC8vIDJfMTAwXzAwMAoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMjEgLy8gbWFuYWdlclRvcE9mZjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NAoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgYW1vdW50OiBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgICAgICAgbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Njg1CgkvLyBhbW91bnQ6IG1hbmFnZXJUb3BPZmYKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY4NgoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy5tYW5hZ2VyCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JDb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0MCAzMgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2ODcKCS8vIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkIHRvIG1hbmFnZXIgZm9yIGZ1bmRpbmcgZXBvY2ggdXBkYXRlcycKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjIwNzI2NTc3NjE3MjY0MjA3NDZmMjA2ZDYxNmU2MTY3NjU3MjIwNjY2ZjcyMjA2Njc1NmU2NDY5NmU2NzIwNjU3MDZmNjM2ODIwNzU3MDY0NjE3NDY1NzMgLy8gInZhbGlkYXRvciByZXdhcmQgdG8gbWFuYWdlciBmb3IgZnVuZGluZyBlcG9jaCB1cGRhdGVzIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzFfZW5kOgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkwCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uUGFpZE91dCAtIG1hbmFnZXJUb3BPZmYgPiAwCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIxIC8vIG1hbmFnZXJUb3BPZmY6IHVpbnQ2NAoJLQoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjMyX2VuZAoKCS8vICppZjMyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo2OTEKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQgLSBtYW5hZ2VyVG9wT2ZmLAoJLy8gICAgICAgICAgICAgcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcywKCS8vICAgICAgICAgICAgIG5vdGU6ICd2YWxpZGF0b3IgcmV3YXJkJywKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NjkyCgkvLyBhbW91bnQ6IHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0IC0gbWFuYWdlclRvcE9mZgoJZnJhbWVfZGlnIDE2IC8vIHZhbGlkYXRvckNvbW1pc3Npb25QYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyMSAvLyBtYW5hZ2VyVG9wT2ZmOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5MwoJLy8gcmVjZWl2ZXI6IHZhbGlkYXRvckNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9yQ29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTc3IDMyCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjY5NAoJLy8gbm90ZTogJ3ZhbGlkYXRvciByZXdhcmQnCglwdXNoYnl0ZXMgMHg3NjYxNmM2OTY0NjE3NDZmNzIyMDcyNjU3NzYxNzI2NCAvLyAidmFsaWRhdG9yIHJld2FyZCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCippZjMwX2VuZDoKCippZjI5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MDYKCS8vIGluY3JlYXNlZFN0YWtlID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoKCS8vICppZjMzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMAoJLy8gYWxnb1Jld2FyZEF2YWlsICE9PSAwIHx8IHRva2VuUmV3YXJkQXZhaWwgIT09IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJueiAqc2tpcF9vcjEKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJfHwKCipza2lwX29yMToKCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzEKCS8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMjMgLy8gcGFydGlhbFN0YWtlcnNUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzMyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDI0IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczMgoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNDAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDE2IC8vIDQwMAoJPAoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDUgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgOCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczNgoJLy8gY21wU3Rha2VyID0gY2xvbmUodGhpcy5zdGFrZXJzLnZhbHVlW2ldKQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyA2NAoJYnl0ZWMgMiAvLyAgInN0YWtlcnMiCgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzcKCS8vIGNtcFN0YWtlci5hY2NvdW50ICE9PSBnbG9iYWxzLnplcm9BZGRyZXNzCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjczOAoJLy8gY21wU3Rha2VyLmVudHJ5Um91bmQgPj0gdGhpc0Vwb2NoQmVnaW4KCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPj0KCWJ6ICppZjM2X2Vsc2UKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQxCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgliICppZjM2X2VuZAoKKmlmMzZfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NDUKCS8vIHRpbWVJblBvb2wgPSB0aGlzRXBvY2hCZWdpbiAtIGNtcFN0YWtlci5lbnRyeVJvdW5kCglmcmFtZV9kaWcgMyAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDU2IDgKCWJ0b2kKCS0KCWZyYW1lX2J1cnkgMjYgLy8gdGltZUluUG9vbDogdWludDY0CgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzQ5CgkvLyB0aW1lSW5Qb29sIDwgZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0Cgk8CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzUwCgkvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UgKz0gY21wU3Rha2VyLmJhbGFuY2UKCWZyYW1lX2RpZyAyMyAvLyBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCgkrCglmcmFtZV9idXJ5IDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MQoJLy8gdGltZVBlcmNlbnRhZ2UgPSAodGltZUluUG9vbCAqIDEwMDApIC8gZXBvY2hSb3VuZExlbmd0aAoJZnJhbWVfZGlnIDI2IC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMjcgLy8gdGltZVBlcmNlbnRhZ2U6IHVpbnQ2NAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc1MwoJLy8gdG9rZW5SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxNCAvLyB0b2tlblJld2FyZEF2YWlsOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6NzU1CgkvLyBzdGFrZXJUb2tlblJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgdG9rZW5SZXdhcmRBdmFpbCwgdGltZVBlcmNlbnRhZ2VdLAoJLy8gICAgICAgICAgICAgICAgICAgW3RoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlLCAxMDAwXQoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJZnJhbWVfZGlnIDI3IC8vIHRpbWVQZXJjZW50YWdlOiB1aW50NjQKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxMCAvLyAxMDAwCgltdWx3CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MgoJLy8gdG9rZW5SZXdhcmRBdmFpbCAtPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJZnJhbWVfZGlnIDI4IC8vIHN0YWtlclRva2VuUmV3YXJkOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2MwoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMjggLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc2NAoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAyOCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWYzOF9lbmQ6CgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjYKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NjgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgICAgICAgICAgIFtjbXBTdGFrZXIuYmFsYW5jZSwgYWxnb1Jld2FyZEF2YWlsLCB0aW1lUGVyY2VudGFnZV0sCgkvLyAgICAgICAgICAgICAgICAgICBbdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUsIDEwMDBdCgkvLyAgICAgICAgICAgICAgICAgKQoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAzMiA4CglidG9pCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCW11bHcKCWZyYW1lX2RpZyAyNyAvLyB0aW1lUGVyY2VudGFnZTogdWludDY0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMTAgLy8gMTAwMAoJbXVsdwoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgMjkgLy8gc3Rha2VyUmV3YXJkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzc1CgkvLyBhbGdvUmV3YXJkQXZhaWwgLT0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMTEgLy8gYWxnb1Jld2FyZEF2YWlsOiB1aW50NjQKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3NzgKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDI1IC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc3OQoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAyOSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMjUgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc4MAoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDI5IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjM5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3ODMKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAyNSAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjM3X2VuZDoKCippZjM2X2VuZDoKCippZjM1X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3MzIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDI0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMjQgLy8gaTogdWludDY0CgliICpmb3JfNAoKKmZvcl80X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTEKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID0gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLSBwYXJ0aWFsU3Rha2Vyc1RvdGFsU3Rha2UKCWJ5dGVjIDYgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDIzIC8vIHBhcnRpYWxTdGFrZXJzVG90YWxTdGFrZTogdWludDY0CgktCglmcmFtZV9idXJ5IDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTUKCS8vIG5ld1Bvb2xUb3RhbFN0YWtlID4gMAoJZnJhbWVfZGlnIDMwIC8vIG5ld1Bvb2xUb3RhbFN0YWtlOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMxIC8vIGk6IHVpbnQ2NAoKKmZvcl81OgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjc5NwoJLy8gaSA8IHRoaXMuc3Rha2Vycy52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAzMSAvLyBpOiB1aW50NjQKCWludGMgNyAvLyAyMDAKCTwKCWJ6ICpmb3JfNV9lbmQKCgkvLyAqaWY0MV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTgKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMjAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDcgLy8gMjAwCgk8CglieiAqaWY0MV9lbmQKCgkvLyAqaWY0MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6Nzk5CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgNSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA4IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAxCgkvLyBjbXBTdGFrZXIgPSBjbG9uZSh0aGlzLnN0YWtlcnMudmFsdWVbaV0pCglmcmFtZV9kaWcgMzEgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDY0CglieXRlYyAyIC8vICAic3Rha2VycyIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwMgoJLy8gY21wU3Rha2VyLmFjY291bnQgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYgY21wU3Rha2VyLmVudHJ5Um91bmQgPCB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPAoJJiYKCipza2lwX2FuZDQ6CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODAzCgkvLyB0aW1lSW5Qb29sID0gdGhpc0Vwb2NoQmVnaW4gLSBjbXBTdGFrZXIuZW50cnlSb3VuZAoJZnJhbWVfZGlnIDMgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCgktCglmcmFtZV9idXJ5IDMzIC8vIHRpbWVJblBvb2w6IHVpbnQ2NAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgwNQoJLy8gdGltZUluUG9vbCA+PSBlcG9jaFJvdW5kTGVuZ3RoCglmcmFtZV9kaWcgMzMgLy8gdGltZUluUG9vbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCT49CglieiAqaWY0M19lbmQKCgkvLyAqaWY0M19jb25zZXF1ZW50CgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTAKCS8vIHRva2VuUmV3YXJkQXZhaWwgPiAwCglmcmFtZV9kaWcgMTQgLy8gdG9rZW5SZXdhcmRBdmFpbDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxMQoJLy8gc3Rha2VyVG9rZW5SZXdhcmQgPSB3aWRlUmF0aW8oW2NtcFN0YWtlci5iYWxhbmNlLCB0b2tlblJld2FyZEF2YWlsXSwgW25ld1Bvb2xUb3RhbFN0YWtlXSkKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMzIgOAoJYnRvaQoJZnJhbWVfZGlnIDE0IC8vIHRva2VuUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNAoJLy8gY21wU3Rha2VyLnJld2FyZFRva2VuQmFsYW5jZSArPSBzdGFrZXJUb2tlblJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyAxOSAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA0OCA4CglidG9pCglmcmFtZV9kaWcgMzQgLy8gc3Rha2VyVG9rZW5SZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgxNQoJLy8gdG9rZW5SZXdhcmRQYWlkT3V0ICs9IHN0YWtlclRva2VuUmV3YXJkCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWZyYW1lX2RpZyAzNCAvLyBzdGFrZXJUb2tlblJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDE1IC8vIHRva2VuUmV3YXJkUGFpZE91dDogdWludDY0CgoqaWY0NF9lbmQ6CgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTcKCS8vIGFsZ29SZXdhcmRBdmFpbCA+IDAKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MTgKCS8vIHN0YWtlclJld2FyZCA9IHdpZGVSYXRpbyhbY21wU3Rha2VyLmJhbGFuY2UsIGFsZ29SZXdhcmRBdmFpbF0sIFtuZXdQb29sVG90YWxTdGFrZV0pCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAxMSAvLyBhbGdvUmV3YXJkQXZhaWw6IHVpbnQ2NAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAzMCAvLyBuZXdQb29sVG90YWxTdGFrZTogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjEKCS8vIGNtcFN0YWtlci5iYWxhbmNlICs9IHN0YWtlclJld2FyZAoJZnJhbWVfZGlnIDMyIC8vIGNtcFN0YWtlcjogKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJaW50YyA0IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDMyIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMgoJLy8gY21wU3Rha2VyLnRvdGFsUmV3YXJkZWQgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglpbnRjIDE4IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDQwIDgKCWJ0b2kKCWZyYW1lX2RpZyAzNSAvLyBzdGFrZXJSZXdhcmQ6IHVpbnQ2NAoJKwoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMzIgLy8gY21wU3Rha2VyOiAoYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjgyMwoJLy8gaW5jcmVhc2VkU3Rha2UgKz0gc3Rha2VyUmV3YXJkCglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDM1IC8vIHN0YWtlclJld2FyZDogdWludDY0CgkrCglmcmFtZV9idXJ5IDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCippZjQ1X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MjcKCS8vIHRoaXMuc3Rha2Vycy52YWx1ZVtpXSA9IGNtcFN0YWtlcgoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDY0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWZyYW1lX2RpZyAzMiAvLyBjbXBTdGFrZXI6IChhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWJ5dGVjIDIgLy8gICJzdGFrZXJzIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjQzX2VuZDoKCippZjQyX2VuZDoKCipmb3JfNV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo3OTcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMxIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMzEgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCippZjQwX2VuZDoKCippZjMzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzcKCS8vIHJvdW5kc0xlZnRJbkJpbiA9IHRoaXMuYmluUm91bmRTdGFydC52YWx1ZSArIHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIC0gZ2xvYmFscy5yb3VuZAoJYnl0ZWMgMTEgLy8gICJiaW5Sb3VuZFN0YXJ0IgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJYXBwX2dsb2JhbF9nZXQKCSsKCWdsb2JhbCBSb3VuZAoJLQoJZnJhbWVfYnVyeSAzNiAvLyByb3VuZHNMZWZ0SW5CaW46IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4MzgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGluY3JlYXNlZFN0YWtlCglieXRlYyA2IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglieXRlYyA2IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODM5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPQoJLy8gICAgICAgdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlICsgKGluY3JlYXNlZFN0YWtlIGFzIHVpbnQxMjgpICogKHJvdW5kc0xlZnRJbkJpbiBhcyB1aW50MTI4KQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgMjIgLy8gaW5jcmVhc2VkU3Rha2U6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDM2IC8vIHJvdW5kc0xlZnRJbkJpbjogdWludDY0CglpdG9iCgliKgoJYisKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vIHRoaXMuc3Rha2VBY2N1bXVsYXRvci52YWx1ZSArIChpbmNyZWFzZWRTdGFrZSBhcyB1aW50MTI4KSAqIChyb3VuZHNMZWZ0SW5CaW4gYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg0MQoJLy8gdGhpcy5yZXdhcmRBY2N1bXVsYXRvci52YWx1ZSA9IHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgKyBpbmNyZWFzZWRTdGFrZQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAyMiAvLyBpbmNyZWFzZWRTdGFrZTogdWludDY0CgkrCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDcKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc3Rha2VVcGRhdGVkVmlhUmV3YXJkcz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODQ5CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgaWQ6IHRoaXMudmFsaWRhdG9ySWQudmFsdWUsIHBvb2xJZDogdGhpcy5wb29sSWQudmFsdWUsIHBvb2xBcHBJZDogdGhpcy5hcHAuaWQgfSwKCS8vICAgICAgICAgaW5jcmVhc2VkU3Rha2UsCgkvLyAgICAgICAgIHRva2VuUmV3YXJkUGFpZE91dCwKCS8vICAgICAgICAgdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQsCgkvLyAgICAgICAgIGV4Y2Vzc1RvRmVlU2luaywKCS8vICAgICAgIF0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyA0IC8vICAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWNvbmNhdAoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDIyIC8vIGluY3JlYXNlZFN0YWtlOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTUgLy8gdG9rZW5SZXdhcmRQYWlkT3V0OiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTYgLy8gdmFsaWRhdG9yQ29tbWlzc2lvblBhaWRPdXQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAxNyAvLyBleGNlc3NUb0ZlZVNpbms6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZ29PbmxpbmU6CgkvLyB2b3RlS2V5RGlsdXRpb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIHZvdGVMYXN0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWJ0b2kKCgkvLyB2b3RlRmlyc3Q6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHN0YXRlUHJvb2ZQSzogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNlbGVjdGlvblBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gdm90ZVBLOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZmVlUGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDYgKGZlZVBheW1lbnQpIGZvciBnb09ubGluZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGdvT25saW5lKHBheSxieXRlW10sYnl0ZVtdLGJ5dGVbXSx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGdvT25saW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09ubGluZShmZWVQYXltZW50OiBQYXlUeG4sIHZvdGVQSzogYnl0ZXMsIHNlbGVjdGlvblBLOiBieXRlcywgc3RhdGVQcm9vZlBLOiBieXRlcywgdm90ZUZpcnN0OiB1aW50NjQsIHZvdGVMYXN0OiB1aW50NjQsIHZvdGVLZXlEaWx1dGlvbjogdWludDY0KTogdm9pZAovLwovLyBSZWdpc3RlcnMgYSBzdGFraW5nIHBvb2wga2V5IG9ubGluZSBhZ2FpbnN0IGEgcGFydGljaXBhdGlvbiBrZXkuCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBDQUxMIF0KLy8KLy8gQHBhcmFtIHtQYXlUeG59IGZlZVBheW1lbnQgLSBwYXltZW50IHRvIGNvdmVyIGV4dHJhIGZlZSBvZiBnb2luZyBvbmxpbmUgaWYgb2ZmbGluZSAtIG9yIDAgaWYgbm90IHJlbmV3YWwKLy8gQHBhcmFtIHtieXRlc30gdm90ZVBLIC0gVGhlIHZvdGUgcHVibGljIGtleS4KLy8gQHBhcmFtIHtieXRlc30gc2VsZWN0aW9uUEsgLSBUaGUgc2VsZWN0aW9uIHB1YmxpYyBrZXkuCi8vIEBwYXJhbSB7Ynl0ZXN9IHN0YXRlUHJvb2ZQSyAtIFRoZSBzdGF0ZSBwcm9vZiBwdWJsaWMga2V5LgovLyBAcGFyYW0ge3VpbnQ2NH0gdm90ZUZpcnN0IC0gVGhlIGZpcnN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlTGFzdCAtIFRoZSBsYXN0IHZvdGUgaW5kZXguCi8vIEBwYXJhbSB7dWludDY0fSB2b3RlS2V5RGlsdXRpb24gLSBUaGUgdm90ZSBrZXkgZGlsdXRpb24gdmFsdWUuCi8vIEB0aHJvd3Mge0Vycm9yfSBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYWxsZXIgaXMgbm90IHRoZSBvd25lciBvciBhIG1hbmFnZXIuCmdvT25saW5lOgoJcHJvdG8gNyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgxCgkvLyBhc3NlcnQodGhpcy5pc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCksICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InKQoJY2FsbHN1YiBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyCgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgyCgkvLyBleHRyYUZlZSA9IHRoaXMuZ2V0R29PbmxpbmVGZWUoKQoJY2FsbHN1YiBnZXRHb09ubGluZUZlZQoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODgzCgkvLyB2ZXJpZnlQYXlUeG4oZmVlUGF5bWVudCwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgYW1vdW50OiBleHRyYUZlZSB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gZmVlUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhRmVlOiB1aW50NjQKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJmZWVQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6ImV4dHJhRmVlIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODQKCS8vIHNlbmRPbmxpbmVLZXlSZWdpc3RyYXRpb24oewoJLy8gICAgICAgdm90ZVBLOiB2b3RlUEssCgkvLyAgICAgICBzZWxlY3Rpb25QSzogc2VsZWN0aW9uUEssCgkvLyAgICAgICBzdGF0ZVByb29mUEs6IHN0YXRlUHJvb2ZQSywKCS8vICAgICAgIHZvdGVGaXJzdDogdm90ZUZpcnN0LAoJLy8gICAgICAgdm90ZUxhc3Q6IHZvdGVMYXN0LAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiB2b3RlS2V5RGlsdXRpb24sCgkvLyAgICAgICBmZWU6IHRoaXMuZ2V0R29PbmxpbmVGZWUoKSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxNyAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjg4NQoJLy8gdm90ZVBLOiB2b3RlUEsKCWZyYW1lX2RpZyAtMiAvLyB2b3RlUEs6IGJ5dGVzCglpdHhuX2ZpZWxkIFZvdGVQSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODYKCS8vIHNlbGVjdGlvblBLOiBzZWxlY3Rpb25QSwoJZnJhbWVfZGlnIC0zIC8vIHNlbGVjdGlvblBLOiBieXRlcwoJaXR4bl9maWVsZCBTZWxlY3Rpb25QSwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODcKCS8vIHN0YXRlUHJvb2ZQSzogc3RhdGVQcm9vZlBLCglmcmFtZV9kaWcgLTQgLy8gc3RhdGVQcm9vZlBLOiBieXRlcwoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODg4CgkvLyB2b3RlRmlyc3Q6IHZvdGVGaXJzdAoJZnJhbWVfZGlnIC01IC8vIHZvdGVGaXJzdDogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVGaXJzdAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4ODkKCS8vIHZvdGVMYXN0OiB2b3RlTGFzdAoJZnJhbWVfZGlnIC02IC8vIHZvdGVMYXN0OiB1aW50NjQKCWl0eG5fZmllbGQgVm90ZUxhc3QKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6ODkwCgkvLyB2b3RlS2V5RGlsdXRpb246IHZvdGVLZXlEaWx1dGlvbgoJZnJhbWVfZGlnIC03IC8vIHZvdGVLZXlEaWx1dGlvbjogdWludDY0CglpdHhuX2ZpZWxkIFZvdGVLZXlEaWx1dGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo4OTEKCS8vIGZlZTogdGhpcy5nZXRHb09ubGluZUZlZSgpCgljYWxsc3ViIGdldEdvT25saW5lRmVlCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gZ29PZmZsaW5lKCl2b2lkCiphYmlfcm91dGVfZ29PZmZsaW5lOgoJLy8gZXhlY3V0ZSBnb09mZmxpbmUoKXZvaWQKCWNhbGxzdWIgZ29PZmZsaW5lCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnb09mZmxpbmUoKTogdm9pZAovLwovLyBNYXJrcyBhIHN0YWtpbmcgcG9vbCBrZXkgT0ZGTElORS4KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENBTEwgXQpnb09mZmxpbmU6Cglwcm90byAwIDAKCgkvLyAqaWY0Nl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MDMKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImNyZWF0b3JBcHAiCglhcHBfZ2xvYmFsX2dldAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgkhPQoJYnogKmlmNDZfZW5kCgoJLy8gKmlmNDZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkwNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTA3CgkvLyBzZW5kT2ZmbGluZUtleVJlZ2lzdHJhdGlvbih7fSkKCWl0eG5fYmVnaW4KCWludGMgMTcgLy8gIGtleXJlZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbGlua1RvTkZEKHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2xpbmtUb05GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGxpbmtUb05GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbGlua1RvTkZEKG5mZEFwcElkOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKbGlua1RvTkZEOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNAoJLy8gYXNzZXJ0KHRoaXMuaXNPd25lck9yTWFuYWdlckNhbGxlcigpLCAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJykKCWNhbGxzdWIgaXNPd25lck9yTWFuYWdlckNhbGxlcgoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkxNgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3ZlcmlmeV9uZmRfYWRkcicsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpLCByYXdCeXRlcyh0aGlzLmFwcC5hZGRyZXNzKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTcKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAyMCAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MTgKCS8vIGFwcGxpY2F0aW9uQXJnczogWyd2ZXJpZnlfbmZkX2FkZHInLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKSwgcmF3Qnl0ZXModGhpcy5hcHAuYWRkcmVzcyldCglwdXNoYnl0ZXMgMHg3NjY1NzI2OTY2Nzk1ZjZlNjY2NDVmNjE2NDY0NzIgLy8gInZlcmlmeV9uZmRfYWRkciIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTE5CgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIxIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHByb3hpZWRTZXRUb2tlblBheW91dFJhdGlvIGlzIG1lYW50IHRvIGJlIGNhbGxlZCBieSBwb29scyAhPSAxIC0gY2FsbGluZyBVUywgcG9vbCAjMQovLyBXZSBuZWVkIHRvIHZlcmlmeSB0aGF0IHdlIGFyZSBpbiBmYWN0IGJlaW5nIGNhbGxlZCBieSBhbm90aGVyIG9mIE9VUiBwb29scyAobm90IHVzKQovLyBhbmQgdGhlbiB3ZSdsbCBjYWxsIHRoZSB2YWxpZGF0b3Igb24gdGhlaXIgYmVoYWxmIHRvIHVwZGF0ZSB0aGUgdG9rZW4gcGF5b3V0cwovLyBAcGFyYW0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHVwbGUKcHJveGllZFNldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvcklkLnZhbHVlID09PSBwb29sS2V5LmlkLCAnY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhJykKCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CgoJLy8gY2FsbGVyIG11c3QgYmUgcGFydCBvZiBzYW1lIHZhbGlkYXRvciBzZXQhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTMxCgkvLyBhc3NlcnQodGhpcy5wb29sSWQudmFsdWUgPT09IDEsICdjYWxsZWUgbXVzdCBiZSBwb29sIDEnKQoJYnl0ZWMgNCAvLyAgInBvb2xJZCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJPT0KCgkvLyBjYWxsZWUgbXVzdCBiZSBwb29sIDEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCAhPT0gMSwgJ2NhbGxlciBtdXN0IE5PVCBiZSBwb29sIDEnKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCgkvLyBjYWxsZXIgbXVzdCBOT1QgYmUgcG9vbCAxCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM0CgkvLyBjYWxsZXJQb29sQXBwSUQgPSBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgVmFsaWRhdG9yUmVnaXN0cnkucHJvdG90eXBlLmdldFBvb2xBcHBJZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcG9vbEtleS5pZCwgcG9vbEtleS5wb29sSWRdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDIzIC8vICBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjkzNQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzYKCS8vIG1ldGhvZEFyZ3M6IFtwb29sS2V5LmlkLCBwb29sS2V5LnBvb2xJZF0KCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBjYWxsZXJQb29sQXBwSUQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5MzgKCS8vIGFzc2VydChjYWxsZXJQb29sQXBwSUQgPT09IHBvb2xLZXkucG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gY2FsbGVyUG9vbEFwcElEOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTM5CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0MQoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBWYWxpZGF0b3JSZWdpc3RyeS5wcm90b3R5cGUuc2V0VG9rZW5QYXlvdXRSYXRpbz4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSksCgkvLyAgICAgICBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWJ5dGVjIDI0IC8vICBtZXRob2QgInNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NDIKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpCglieXRlYyAxIC8vICAiY3JlYXRvckFwcCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTQzCgkvLyBtZXRob2RBcmdzOiBbdGhpcy52YWxpZGF0b3JJZC52YWx1ZV0KCWJ5dGVjIDMgLy8gICJ2YWxpZGF0b3JJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc093bmVyT3JNYW5hZ2VyQ2FsbGVyKCk6IGJvb2xlYW4KaXNPd25lck9yTWFuYWdlckNhbGxlcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OAoJLy8gT3duZXJBbmRNYW5hZ2VyID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFZhbGlkYXRvclJlZ2lzdHJ5LnByb3RvdHlwZS5nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5jcmVhdGluZ1ZhbGlkYXRvckNvbnRyYWN0QXBwSWQudmFsdWUpLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMudmFsaWRhdG9ySWQudmFsdWVdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDJmYTIyYzRiIC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmNyZWF0aW5nVmFsaWRhdG9yQ29udHJhY3RBcHBJZC52YWx1ZSkKCWJ5dGVjIDEgLy8gICJjcmVhdG9yQXBwIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTAKCS8vIG1ldGhvZEFyZ3M6IFt0aGlzLnZhbGlkYXRvcklkLnZhbHVlXQoJYnl0ZWMgMyAvLyAgInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglmcmFtZV9idXJ5IDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NTIKCS8vIHJldHVybiB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclswXSB8fCB0aGlzLnR4bi5zZW5kZXIgPT09IE93bmVyQW5kTWFuYWdlclsxXTsKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIE93bmVyQW5kTWFuYWdlcjogKGFkZHJlc3MsYWRkcmVzcykKCWV4dHJhY3QgMCAzMgoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gT3duZXJBbmRNYW5hZ2VyOiAoYWRkcmVzcyxhZGRyZXNzKQoJZXh0cmFjdCAzMiAzMgoJPT0KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0RmVlU2luaygpOiBBZGRyZXNzCmdldEZlZVNpbms6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTU2CgkvLyByZXR1cm4gdGhpcy5mZWVTaW5rQWRkcjsKCWJ5dGVjIDI3IC8vIFRNUExfZmVlU2lua0FkZHIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5NjYKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTY4CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMTAgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0R29PbmxpbmVGZWUoKTogdWludDY0CmdldEdvT25saW5lRmVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc1CgkvLyBpc09ubGluZSA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGlzT25saW5lOiBib29sCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc2CgkvLyAhaXNPbmxpbmUKCWZyYW1lX2RpZyAwIC8vIGlzT25saW5lOiBib29sCgkhCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6OTc4CgkvLyByZXR1cm4gMl8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDAKCWIgKmdldEdvT25saW5lRmVlKnJldHVybgoKKmlmNDdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIDA7CglpbnRjIDAgLy8gMAoKKmdldEdvT25saW5lRmVlKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5ODUKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBjaGVja0lmQmluQ2xvc2VkKCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHJvdW5kIGlzIGluIGEgJ25ldyBjYWxjdWxhdGlvbiBiaW4nIChhcHByb3hpbWF0ZWx5IGRhaWx5KQpjaGVja0lmQmluQ2xvc2VkOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTIKCS8vIGN1cnJlbnRCaW5TaXplID0gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOAoJYnl0ZWMgMTAgLy8gICJyb3VuZHNQZXJEYXkiCglhcHBfZ2xvYmFsX2dldAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5MwoJLy8gZ2xvYmFscy5yb3VuZCA+PSB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgKyAoY3VycmVudEJpblNpemUgYXMgdWludDY0KQoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMSAvLyAgImJpblJvdW5kU3RhcnQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDY0Cgk8PQoKCS8vIGN1cnJlbnRCaW5TaXplIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMTQgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoJKwoJPj0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vICppZjQ5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5NAoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgOSAvLyAzMDAKCTwKCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA1IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDggLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjQ5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czo5OTcKCS8vIGFwcHJveFJvdW5kc1BlclllYXI6IHVpbnQxMjggPSBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkKCWZyYW1lX2RpZyAwIC8vIGN1cnJlbnRCaW5TaXplOiB1bnNhZmUgdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNmQKCWIqCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyBjdXJyZW50QmluU2l6ZSAqICgzNjUgYXMgdWludDEyOCkgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMSAvLyBhcHByb3hSb3VuZHNQZXJZZWFyOiB1aW50MTI4CgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgLyBjdXJyZW50QmluU2l6ZQoJYnl0ZWMgNyAvLyAgInN0YWtlQWNjdW11bGF0b3IiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gdGhpcy5zdGFrZUFjY3VtdWxhdG9yLnZhbHVlIC8gY3VycmVudEJpblNpemUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA4IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWZyYW1lX2J1cnkgMiAvLyBhdmdTdGFrZTogdWludDEyOAoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS9zdGFraW5nUG9vbC5hbGdvLnRzOjk5OQoJLy8gYXZnU3Rha2UgIT09IDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglieXRlYyAxNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgliIT0KCWJ6ICppZjUwX2VuZAoKCS8vICppZjUwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDAzCgkvLyBhcHI6IHVpbnQxMjggPQoJLy8gICAgICAgICAgICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICoKCS8vICAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKQoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxMAoJYioKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgliLwoJZnJhbWVfZGlnIDEgLy8gYXBwcm94Um91bmRzUGVyWWVhcjogdWludDEyOAoJZnJhbWVfZGlnIDAgLy8gY3VycmVudEJpblNpemU6IHVuc2FmZSB1aW50MTI4CgliLwoJYioKCWR1cAoJYml0bGVuCglpbnRjIDYgLy8gMTI4Cgk8PQoKCS8vICgoKHRoaXMucmV3YXJkQWNjdW11bGF0b3IudmFsdWUgYXMgdWludDEyOCkgKiAoMTAwMDAgYXMgdWludDEyOCkpIC8gYXZnU3Rha2UpICpcbiAgICAgICAgICAoYXBwcm94Um91bmRzUGVyWWVhciAvIGN1cnJlbnRCaW5TaXplKSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAzIC8vIGFwcjogdWludDEyOAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDA3CgkvLyBhbHBoYTogdWludDEyOCA9IDEwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAwOQoJLy8gYXZnU3Rha2UgPiAzMDAwMDAwMDAwMDAKCWZyYW1lX2RpZyAyIC8vIGF2Z1N0YWtlOiB1aW50MTI4CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDVkOTY0YjgwMAoJYj4KCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDEwCgkvLyBhbHBoYSA9IDkwIGFzIHVpbnQxMjgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVhCglmcmFtZV9idXJ5IDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgoqaWY1MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAxMgoJLy8gdGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgPQoJLy8gICAgICAgICAgICh0aGlzLndlaWdodGVkTW92aW5nQXZlcmFnZS52YWx1ZSAqICgoMTAwIGFzIHVpbnQxMjgpIC0gYWxwaGEpKSAvICgxMDAgYXMgdWludDEyOCkgKwoJLy8gICAgICAgICAgIChhcHIgKiBhbHBoYSkgLyAoMTAwIGFzIHVpbnQxMjgpCglieXRlYyAyMCAvLyAgImV3bWEiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxNyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0CglmcmFtZV9kaWcgNCAvLyBhbHBoYTogdW5zYWZlIHVpbnQxMjgKCWItCgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWZyYW1lX2RpZyAzIC8vIGFwcjogdWludDEyOAoJZnJhbWVfZGlnIDQgLy8gYWxwaGE6IHVuc2FmZSB1aW50MTI4CgliKgoJYnl0ZWMgMTcgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAoJYi8KCWIrCglkdXAKCWJpdGxlbgoJaW50YyA2IC8vIDEyOAoJPD0KCgkvLyAodGhpcy53ZWlnaHRlZE1vdmluZ0F2ZXJhZ2UudmFsdWUgKiAoKDEwMCBhcyB1aW50MTI4KSAtIGFscGhhKSkgLyAoMTAwIGFzIHVpbnQxMjgpICtcbiAgICAgICAgICAoYXByICogYWxwaGEpIC8gKDEwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYXBwX2dsb2JhbF9wdXQKCippZjUwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE4CgkvLyB0aGlzLnNldFJvdW5kc1BlckRheSgpCgljYWxsc3ViIHNldFJvdW5kc1BlckRheQoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDE5CgkvLyB0aGlzLnN0YWtlQWNjdW11bGF0b3IudmFsdWUgPSAodGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgYXMgdWludDEyOCkgKiAodGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgYXMgdWludDEyOCkKCWJ5dGVjIDcgLy8gICJzdGFrZUFjY3VtdWxhdG9yIgoJYnl0ZWMgNiAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgliKgoJZHVwCgliaXRsZW4KCWludGMgNiAvLyAxMjgKCTw9CgoJLy8gKHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIGFzIHVpbnQxMjgpICogKHRoaXMucm91bmRzUGVyRGF5LnZhbHVlIGFzIHVpbnQxMjgpIG92ZXJmbG93ZWQgMTI4IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyA1IC8vIDE2CgktCglzd2FwCglzdWJzdHJpbmczCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIwCgkvLyB0aGlzLnJld2FyZEFjY3VtdWxhdG9yLnZhbHVlID0gMAoJYnl0ZWMgMTIgLy8gICJyZXdhcmRBY2N1bXVsYXRvciIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvc3Rha2luZ1Bvb2wuYWxnby50czoxMDIxCgkvLyB0aGlzLmJpblJvdW5kU3RhcnQudmFsdWUgPSBnbG9iYWxzLnJvdW5kIC0gKGdsb2JhbHMucm91bmQgJSB0aGlzLnJvdW5kc1BlckRheS52YWx1ZSkKCWJ5dGVjIDExIC8vICAiYmluUm91bmRTdGFydCIKCWdsb2JhbCBSb3VuZAoJZ2xvYmFsIFJvdW5kCglieXRlYyAxMCAvLyAgInJvdW5kc1BlckRheSIKCWFwcF9nbG9iYWxfZ2V0CgklCgktCglhcHBfZ2xvYmFsX3B1dAoKKmlmNDhfZW5kOgoJcmV0c3ViCgovLyBzZXRSb3VuZHNQZXJEYXkoKTogdm9pZApzZXRSb3VuZHNQZXJEYXk6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3N0YWtpbmdQb29sLmFsZ28udHM6MTAyNgoJLy8gdGhpcy5yb3VuZHNQZXJEYXkudmFsdWUgPSBBVkdfUk9VTkRTX1BFUl9EQVkKCWJ5dGVjIDEwIC8vICAicm91bmRzUGVyRGF5IgoJcHVzaGludCAzMDg1NwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDdjZmNjMDQgLy8gbWV0aG9kICJpbml0U3RvcmFnZShwYXkpdm9pZCIKCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJcHVzaGJ5dGVzIDB4NDIxYjVhYmUgLy8gbWV0aG9kICJyZW1vdmVTdGFrZShhZGRyZXNzLHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjU4OTJkNTYgLy8gbWV0aG9kICJjbGFpbVRva2Vucygpdm9pZCIKCXB1c2hieXRlcyAweDVjZmJiMDU3IC8vIG1ldGhvZCAiZ2V0U3Rha2VySW5mbyhhZGRyZXNzKShhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg2M2YzZjI4YiAvLyBtZXRob2QgInBheVRva2VuUmV3YXJkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODZhMzcyNWMgLy8gbWV0aG9kICJ1cGRhdGVBbGdvZFZlcihzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweGVmYzI2MDhkIC8vIG1ldGhvZCAiZXBvY2hCYWxhbmNlVXBkYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NDAwZTE0ZmIgLy8gbWV0aG9kICJnb09ubGluZShwYXksYnl0ZVtdLGJ5dGVbXSxieXRlW10sdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDUxZWYzYjIxIC8vIG1ldGhvZCAiZ29PZmZsaW5lKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTI0ZTI3MTcgLy8gbWV0aG9kICJsaW5rVG9ORkQodWludDY0LHN0cmluZyl2b2lkIgoJYnl0ZWMgMjUgLy8gIG1ldGhvZCAicHJveGllZFNldFRva2VuUGF5b3V0UmF0aW8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0WzI0XSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nYXMgKmFiaV9yb3V0ZV9pbml0U3RvcmFnZSAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfcmVtb3ZlU3Rha2UgKmFiaV9yb3V0ZV9jbGFpbVRva2VucyAqYWJpX3JvdXRlX2dldFN0YWtlckluZm8gKmFiaV9yb3V0ZV9wYXlUb2tlblJld2FyZCAqYWJpX3JvdXRlX3VwZGF0ZUFsZ29kVmVyICphYmlfcm91dGVfZXBvY2hCYWxhbmNlVXBkYXRlICphYmlfcm91dGVfZ29PbmxpbmUgKmFiaV9yb3V0ZV9nb09mZmxpbmUgKmFiaV9yb3V0ZV9saW5rVG9ORkQgKmFiaV9yb3V0ZV9wcm94aWVkU2V0VG9rZW5QYXlvdXRSYXRpbwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIFVwZGF0ZUFwcGxpY2F0aW9uCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { diff --git a/examples/reti/artifacts/StakingPool.src_map.json b/examples/reti/artifacts/StakingPool.src_map.json index 935afa81c..3abb82df3 100644 --- a/examples/reti/artifacts/StakingPool.src_map.json +++ b/examples/reti/artifacts/StakingPool.src_map.json @@ -12,7 +12,7 @@ "source": "examples/reti/stakingPool.algo.ts:38" }, { - "teal": 11, + "teal": 15, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ 1, @@ -20,61 +20,49 @@ ] }, { - "teal": 12, + "teal": 16, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 3, - 4 + 3 ] }, { - "teal": 19, + "teal": 17, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 5, - 6 + 4 ] }, { - "teal": 20, + "teal": 18, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 7 + 5 ] }, { - "teal": 21, + "teal": 19, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 8 + 6, + 7 ] }, { - "teal": 22, + "teal": 20, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 9 + 8 ] }, { - "teal": 23, + "teal": 21, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 9, 10, - 11 - ] - }, - { - "teal": 24, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ - 12 - ] - }, - { - "teal": 25, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ + 11, + 12, 13, 14, 15, @@ -96,65 +84,65 @@ 31, 32, 33, - 34, - 35, - 36, - 37, - 38 + 34 ] }, { - "teal": 29, + "teal": 25, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 39 + 35 ] }, { - "teal": 34, + "teal": 30, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 40, - 41, - 42 + 36, + 37, + 38 ] }, { - "teal": 35, + "teal": 31, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 43 + 39 ] }, { - "teal": 36, + "teal": 32, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 44 + 40 ] }, { - "teal": 40, + "teal": 36, "source": "examples/reti/stakingPool.algo.ts:93", "pc": [ - 45, - 46, - 47 + 41, + 42, + 43 ] }, { - "teal": 47, + "teal": 43, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ - 48, - 49 + 44, + 45 ] }, { - "teal": 48, + "teal": 44, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ + 46, + 47, + 48, + 49, 50, 51, 52, @@ -184,31 +172,43 @@ 76, 77, 78, - 79, - 80, - 81, - 82, - 83 + 79 ] }, { - "teal": 49, + "teal": 45, "source": "examples/reti/stakingPool.algo.ts:95", "pc": [ - 84 + 80 ] }, { - "teal": 52, + "teal": 48, "source": "examples/reti/stakingPool.algo.ts:94", "errorMessage": "Temporary: contract is upgradeable but only during testing and only from a development account", "pc": [ - 85 + 81 ] }, { - "teal": 53, + "teal": 49, "source": "examples/reti/stakingPool.algo.ts:93", + "pc": [ + 82 + ] + }, + { + "teal": 54, + "source": "examples/reti/stakingPool.algo.ts:107", + "pc": [ + 83, + 84, + 85 + ] + }, + { + "teal": 55, + "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ 86 ] @@ -278,720 +278,720 @@ ] }, { - "teal": 74, + "teal": 72, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ - 103, - 104, - 105 + 103 ] }, { - "teal": 75, + "teal": 82, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ + 104, + 105, 106 ] }, { - "teal": 76, - "source": "examples/reti/stakingPool.algo.ts:107", - "pc": [ - 107 - ] - }, - { - "teal": 86, - "source": "examples/reti/stakingPool.algo.ts:107", - "pc": [ - 108, - 109, - 110 - ] - }, - { - "teal": 91, + "teal": 87, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 111, - 112 + 107, + 108 ] }, { - "teal": 92, + "teal": 88, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 113 + 109 ] }, { - "teal": 93, + "teal": 89, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 114 + 110 ] }, { - "teal": 94, + "teal": 90, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 115, - 116, - 117 + 111, + 112, + 113 ] }, { - "teal": 99, + "teal": 95, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 118, - 119 + 114, + 115 ] }, { - "teal": 100, + "teal": 96, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 120 + 116 ] }, { - "teal": 101, + "teal": 97, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 121 + 117 ] }, { - "teal": 102, + "teal": 98, "source": "examples/reti/stakingPool.algo.ts:110", "pc": [ - 122 + 118 ] }, { - "teal": 106, + "teal": 102, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 123, - 124 + 119, + 120 ] }, { - "teal": 107, + "teal": 103, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 125 + 121 ] }, { - "teal": 108, + "teal": 104, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 126 + 122 ] }, { - "teal": 109, + "teal": 105, "source": "examples/reti/stakingPool.algo.ts:111", "pc": [ - 127 + 123 ] }, { - "teal": 110, + "teal": 106, "source": "examples/reti/stakingPool.algo.ts:108", "pc": [ - 128, - 129, - 130 + 124, + 125, + 126 ] }, { - "teal": 115, + "teal": 111, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 131, - 132 + 127, + 128 ] }, { - "teal": 116, + "teal": 112, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 133 + 129 ] }, { - "teal": 117, + "teal": 113, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 134 + 130 ] }, { - "teal": 118, + "teal": 114, "source": "examples/reti/stakingPool.algo.ts:113", "pc": [ - 135 + 131 ] }, { - "teal": 122, + "teal": 118, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 136, - 137 + 132, + 133 ] }, { - "teal": 123, + "teal": 119, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 138 + 134 ] }, { - "teal": 124, + "teal": 120, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 139 + 135 ] }, { - "teal": 125, + "teal": 121, "source": "examples/reti/stakingPool.algo.ts:114", "pc": [ - 140 + 136 ] }, { - "teal": 130, + "teal": 126, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 141, - 142 + 137, + 138 ] }, { - "teal": 131, + "teal": 127, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 143, - 144, - 145, - 146 + 139, + 140, + 141, + 142 ] }, { - "teal": 132, + "teal": 128, "source": "examples/reti/stakingPool.algo.ts:116", "pc": [ - 147 + 143 ] }, { - "teal": 135, + "teal": 131, "source": "examples/reti/stakingPool.algo.ts:116", "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ - 148 + 144 ] }, { - "teal": 139, + "teal": 135, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 149 + 145 ] }, { - "teal": 140, + "teal": 136, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 150, - 151 + 146, + 147 ] }, { - "teal": 141, + "teal": 137, "source": "examples/reti/stakingPool.algo.ts:117", "pc": [ - 152 + 148 ] }, { - "teal": 145, + "teal": 141, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 153 + 149 ] }, { - "teal": 146, + "teal": 142, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 154, - 155 + 150, + 151 ] }, { - "teal": 147, + "teal": 143, "source": "examples/reti/stakingPool.algo.ts:118", "pc": [ - 156 + 152 ] }, { - "teal": 151, + "teal": 147, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 157, - 158 + 153, + 154 ] }, { - "teal": 152, + "teal": 148, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 159, - 160 + 155, + 156 ] }, { - "teal": 153, + "teal": 149, "source": "examples/reti/stakingPool.algo.ts:119", "pc": [ - 161 + 157 ] }, { - "teal": 157, + "teal": 153, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 162, - 163 + 158, + 159 ] }, { - "teal": 158, + "teal": 154, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 164 + 160 ] }, { - "teal": 159, + "teal": 155, "source": "examples/reti/stakingPool.algo.ts:120", "pc": [ - 165 + 161 ] }, { - "teal": 163, + "teal": 159, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 166, - 167 + 162, + 163 ] }, { - "teal": 164, + "teal": 160, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 168 + 164 ] }, { - "teal": 165, + "teal": 161, "source": "examples/reti/stakingPool.algo.ts:121", "pc": [ - 169 + 165 ] }, { - "teal": 169, + "teal": 165, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 170, - 171 + 166, + 167 ] }, { - "teal": 170, + "teal": 166, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 172, - 173 + 168, + 169 ] }, { - "teal": 171, + "teal": 167, "source": "examples/reti/stakingPool.algo.ts:122", "pc": [ - 174 + 170 ] }, { - "teal": 175, + "teal": 171, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 175, - 176 + 171, + 172 ] }, { - "teal": 176, + "teal": 172, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 177, - 178 + 173, + 174 ] }, { - "teal": 177, + "teal": 173, "source": "examples/reti/stakingPool.algo.ts:123", "pc": [ - 179 + 175 ] }, { - "teal": 181, + "teal": 177, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 180, - 181 + 176, + 177 ] }, { - "teal": 182, + "teal": 178, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 182 + 178 ] }, { - "teal": 183, + "teal": 179, "source": "examples/reti/stakingPool.algo.ts:124", "pc": [ - 183 + 179 ] }, { - "teal": 187, + "teal": 183, "source": "examples/reti/stakingPool.algo.ts:126", "pc": [ - 184, - 185, - 186 + 180, + 181, + 182 ] }, { - "teal": 191, + "teal": 187, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 187, - 188 + 183, + 184 ] }, { - "teal": 192, + "teal": 188, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 189, - 190 + 185, + 186 ] }, { - "teal": 193, + "teal": 189, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 191, - 192 + 187, + 188 ] }, { - "teal": 194, + "teal": 190, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 193, - 194 + 189, + 190 ] }, { - "teal": 195, + "teal": 191, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 195 + 191 ] }, { - "teal": 196, + "teal": 192, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 196 + 192 ] }, { - "teal": 197, + "teal": 193, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 197 + 193 ] }, { - "teal": 198, + "teal": 194, "source": "examples/reti/stakingPool.algo.ts:127", "pc": [ - 198 + 194 ] }, { - "teal": 202, + "teal": 198, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 199, - 200 + 195, + 196 ] }, { - "teal": 203, + "teal": 199, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 201, - 202 + 197, + 198 ] }, { - "teal": 204, + "teal": 200, "source": "examples/reti/stakingPool.algo.ts:128", "pc": [ - 203 + 199 ] }, { - "teal": 208, + "teal": 204, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 204, - 205 + 200, + 201 ] }, { - "teal": 209, + "teal": 205, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 206 + 202 ] }, { - "teal": 210, + "teal": 206, "source": "examples/reti/stakingPool.algo.ts:129", "pc": [ - 207 + 203 ] }, { - "teal": 214, + "teal": 210, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 208, - 209 + 204, + 205 ] }, { - "teal": 215, + "teal": 211, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 210, - 211 + 206, + 207 ] }, { - "teal": 216, + "teal": 212, "source": "examples/reti/stakingPool.algo.ts:130", "pc": [ - 212 + 208 ] }, { - "teal": 217, + "teal": 213, "source": "examples/reti/stakingPool.algo.ts:107", "pc": [ - 213 + 209 ] }, { - "teal": 222, + "teal": 218, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 214, - 215, - 216 + 210, + 211, + 212 ] }, { - "teal": 223, + "teal": 219, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 217 + 213 ] }, { - "teal": 224, + "teal": 220, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 218 + 214 ] }, { - "teal": 230, + "teal": 226, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 219, - 220, - 221 + 215, + 216, + 217 ] }, { - "teal": 231, + "teal": 227, "source": "examples/reti/stakingPool.algo.ts:136", "pc": [ - 222 + 218 ] }, { - "teal": 235, + "teal": 231, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ - 223, - 224, - 225 + 219, + 220, + 221 ] }, { - "teal": 239, + "teal": 235, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 226, - 227, - 228 + 222, + 223, + 224 ] }, { - "teal": 240, + "teal": 236, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 229, - 230 + 225, + 226 ] }, { - "teal": 241, + "teal": 237, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 231, - 232 + 227, + 228 ] }, { - "teal": 242, + "teal": 238, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 233 + 229 ] }, { - "teal": 243, + "teal": 239, "source": "examples/reti/stakingPool.algo.ts:142", "pc": [ - 234 + 230 ] }, { - "teal": 244, + "teal": 240, "source": "examples/reti/stakingPool.algo.ts:138", "pc": [ - 235 + 231 ] }, { - "teal": 249, + "teal": 245, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 236, - 237 + 232, + 233 ] }, { - "teal": 250, + "teal": 246, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 238 + 234 ] }, { - "teal": 251, + "teal": 247, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 239 + 235 ] }, { - "teal": 252, + "teal": 248, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 240 + 236 + ] + }, + { + "teal": 249, + "source": "examples/reti/stakingPool.algo.ts:152", + "pc": [ + 237, + 238 + ] + }, + { + "teal": 250, + "source": "examples/reti/stakingPool.algo.ts:152", + "pc": [ + 239 ] }, { - "teal": 253, + "teal": 251, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 241, - 242 + 240 ] }, { "teal": 254, "source": "examples/reti/stakingPool.algo.ts:152", + "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction", "pc": [ - 243 + 241 ] }, { - "teal": 255, + "teal": 257, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ + 242, + 243, 244 ] }, { "teal": 258, "source": "examples/reti/stakingPool.algo.ts:152", - "errorMessage": "argument 0 (mbrPayment) for initStorage must be a pay transaction", "pc": [ 245 ] }, { - "teal": 261, + "teal": 259, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ - 246, - 247, - 248 + 246 ] }, { - "teal": 262, + "teal": 269, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ + 247, + 248, 249 ] }, { - "teal": 263, + "teal": 272, "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 250 @@ -1002,84 +1002,84 @@ "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 251, - 252, - 253 + 252 ] }, { - "teal": 276, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 277, + "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 254 + 253 ] }, { - "teal": 277, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 278, + "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 255, - 256 + 254 ] }, { - "teal": 281, + "teal": 279, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 257 + 255 ] }, { - "teal": 282, + "teal": 280, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 258 + 256 ] }, { - "teal": 283, + "teal": 281, "source": "examples/reti/stakingPool.algo.ts:153", "pc": [ - 259 + 257 ] }, { "teal": 284, "source": "examples/reti/stakingPool.algo.ts:153", + "errorMessage": "staking pool already initialized", "pc": [ - 260 + 258 ] }, { - "teal": 285, - "source": "examples/reti/stakingPool.algo.ts:153", + "teal": 291, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 261 + 259 ] }, { - "teal": 288, - "source": "examples/reti/stakingPool.algo.ts:153", - "errorMessage": "staking pool already initialized", + "teal": 292, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 262 + 260 ] }, { - "teal": 295, + "teal": 293, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 263 + 261, + 262 ] }, { - "teal": 296, + "teal": 294, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ + 263, 264 ] }, { - "teal": 297, + "teal": 295, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 265, @@ -1087,96 +1087,102 @@ ] }, { - "teal": 298, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 299, + "source": "examples/reti/stakingPool.algo.ts:157", + "pc": [ + 267 + ] + }, + { + "teal": 300, + "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ - 267, 268 ] }, { - "teal": 299, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 301, + "source": "examples/reti/stakingPool.algo.ts:157", "pc": [ 269, 270 ] }, { - "teal": 303, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 305, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 271 ] }, { - "teal": 304, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 306, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ 272 ] }, { - "teal": 305, - "source": "examples/reti/stakingPool.algo.ts:157", + "teal": 307, + "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ - 273, - 274 + 273 ] }, { - "teal": 309, + "teal": 308, "source": "examples/reti/stakingPool.algo.ts:158", "pc": [ + 274, 275 ] }, { - "teal": 310, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 311, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 276 ] }, { - "teal": 311, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 312, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 277 + 277, + 278 ] }, { - "teal": 312, - "source": "examples/reti/stakingPool.algo.ts:158", + "teal": 315, + "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 278, 279 ] }, { - "teal": 315, + "teal": 316, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 280 + 280, + 281 ] }, { - "teal": 316, + "teal": 317, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 281, 282 ] }, { - "teal": 319, + "teal": 318, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 283 ] }, { - "teal": 320, + "teal": 319, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ 284, @@ -1184,140 +1190,134 @@ ] }, { - "teal": 321, - "source": "examples/reti/stakingPool.algo.ts:156", - "pc": [ - 286 - ] - }, - { - "teal": 322, + "teal": 320, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 287 + 286, + 287, + 288 ] }, { - "teal": 323, + "teal": 321, "source": "examples/reti/stakingPool.algo.ts:156", "pc": [ - 288, - 289 + 289, + 290 ] }, { - "teal": 324, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 325, + "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 290, 291, 292 ] }, { - "teal": 325, - "source": "examples/reti/stakingPool.algo.ts:156", + "teal": 326, + "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ 293, - 294 + 294, + 295 ] }, { - "teal": 329, + "teal": 327, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 295, 296 ] }, { - "teal": 330, + "teal": 328, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 297, - 298, - 299 + 297 ] }, { - "teal": 331, + "teal": 329, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 300 + 298 ] }, { - "teal": 332, + "teal": 330, "source": "examples/reti/stakingPool.algo.ts:160", "pc": [ - 301 + 299, + 300 ] }, { - "teal": 333, - "source": "examples/reti/stakingPool.algo.ts:160", + "teal": 334, + "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 301, 302 ] }, { - "teal": 334, - "source": "examples/reti/stakingPool.algo.ts:160", + "teal": 335, + "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 303, - 304 + 303 ] }, { - "teal": 338, + "teal": 336, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 304, 305, 306 ] }, { - "teal": 339, + "teal": 337, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 307 + 307, + 308 ] }, { - "teal": 340, + "teal": 338, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 308, - 309, - 310 + 309 ] }, { - "teal": 341, + "teal": 339, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 311, - 312 + 310 ] }, { - "teal": 342, + "teal": 340, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 313 + 311 ] }, { - "teal": 343, + "teal": 341, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 314 + 312 ] }, { "teal": 344, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ + 313, + 314, 315 ] }, @@ -1325,108 +1325,108 @@ "teal": 345, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 316 + 316, + 317 ] }, { - "teal": 348, + "teal": 346, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 317, 318, - 319 + 319, + 320 ] }, { "teal": 349, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ - 320, 321 ] }, { - "teal": 350, + "teal": 352, "source": "examples/reti/stakingPool.algo.ts:161", "pc": [ 322, - 323, - 324 + 323 ] }, { - "teal": 353, - "source": "examples/reti/stakingPool.algo.ts:161", + "teal": 359, + "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ + 324, 325 ] }, { - "teal": 356, - "source": "examples/reti/stakingPool.algo.ts:161", + "teal": 360, + "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ 326, 327 ] }, { - "teal": 363, + "teal": 361, "source": "examples/reti/stakingPool.algo.ts:163", "pc": [ - 328, - 329 + 328 ] }, { - "teal": 364, - "source": "examples/reti/stakingPool.algo.ts:164", + "teal": 362, + "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ + 329, 330, 331 ] }, { - "teal": 365, - "source": "examples/reti/stakingPool.algo.ts:163", + "teal": 363, + "source": "examples/reti/stakingPool.algo.ts:165", "pc": [ - 332 + 332, + 333, + 334 ] }, { - "teal": 366, - "source": "examples/reti/stakingPool.algo.ts:165", + "teal": 364, + "source": "examples/reti/stakingPool.algo.ts:164", "pc": [ - 333, - 334, 335 ] }, { - "teal": 367, - "source": "examples/reti/stakingPool.algo.ts:165", + "teal": 365, + "source": "examples/reti/stakingPool.algo.ts:162", "pc": [ 336, - 337, - 338 + 337 ] }, { - "teal": 368, - "source": "examples/reti/stakingPool.algo.ts:164", + "teal": 370, + "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ + 338, 339 ] }, { - "teal": 369, - "source": "examples/reti/stakingPool.algo.ts:162", + "teal": 371, + "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 340, 341 ] }, { - "teal": 374, + "teal": 372, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 342, @@ -1434,38 +1434,38 @@ ] }, { - "teal": 375, + "teal": 373, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 344, - 345 + 344 ] }, { "teal": 376, "source": "examples/reti/stakingPool.algo.ts:168", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 346, - 347 + 345 ] }, { - "teal": 377, + "teal": 379, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 348 + 346, + 347 ] }, { "teal": 380, "source": "examples/reti/stakingPool.algo.ts:168", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ + 348, 349 ] }, { - "teal": 383, + "teal": 381, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ 350, @@ -1473,283 +1473,290 @@ ] }, { - "teal": 384, + "teal": 382, "source": "examples/reti/stakingPool.algo.ts:168", "pc": [ - 352, - 353 + 352 ] }, { "teal": 385, "source": "examples/reti/stakingPool.algo.ts:168", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}", "pc": [ - 354, - 355 + 353 ] }, { - "teal": 386, - "source": "examples/reti/stakingPool.algo.ts:168", + "teal": 389, + "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ - 356 + 354 ] }, { - "teal": 389, - "source": "examples/reti/stakingPool.algo.ts:168", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"PoolInitMbr\"}", + "teal": 390, + "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ + 355, + 356, 357 ] }, { - "teal": 393, + "teal": 391, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ 358 ] }, { - "teal": 394, + "teal": 392, "source": "examples/reti/stakingPool.algo.ts:169", "pc": [ - 359, - 360, - 361 + 359 ] }, { - "teal": 395, - "source": "examples/reti/stakingPool.algo.ts:169", + "teal": 397, + "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 362 + 360, + 361 ] }, { - "teal": 396, - "source": "examples/reti/stakingPool.algo.ts:169", + "teal": 398, + "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 363 + 362 ] }, { - "teal": 401, + "teal": 399, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ + 363, 364, 365 ] }, { - "teal": 402, + "teal": 400, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 366 + 366, + 367 ] }, { - "teal": 403, + "teal": 401, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 367, - 368, - 369 + 368 ] }, { - "teal": 404, + "teal": 402, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 370, - 371 + 369 ] }, { - "teal": 405, + "teal": 403, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 372 + 370 ] }, { - "teal": 406, + "teal": 404, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ - 373 + 371 ] }, { "teal": 407, "source": "examples/reti/stakingPool.algo.ts:171", "pc": [ + 372, + 373, 374 ] }, { - "teal": 408, - "source": "examples/reti/stakingPool.algo.ts:171", + "teal": 416, + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 375 ] }, { - "teal": 411, - "source": "examples/reti/stakingPool.algo.ts:171", + "teal": 417, + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ 376, - 377, - 378 + 377 ] }, { - "teal": 420, + "teal": 418, "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ + 378, 379 ] }, { - "teal": 421, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 422, + "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 380, 381 ] }, { - "teal": 422, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 423, + "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 382, - 383 + 383, + 384 ] }, { - "teal": 426, + "teal": 424, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ - 384, 385 ] }, { - "teal": 427, + "teal": 425, "source": "examples/reti/stakingPool.algo.ts:174", "pc": [ 386, - 387, - 388 + 387 ] }, { - "teal": 428, - "source": "examples/reti/stakingPool.algo.ts:174", + "teal": 429, + "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ + 388, 389 ] }, { - "teal": 429, - "source": "examples/reti/stakingPool.algo.ts:174", + "teal": 430, + "source": "examples/reti/stakingPool.algo.ts:175", "pc": [ 390, 391 ] }, { - "teal": 433, - "source": "examples/reti/stakingPool.algo.ts:175", + "teal": 434, + "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ - 392, - 393 + 392 ] }, { - "teal": 434, - "source": "examples/reti/stakingPool.algo.ts:175", + "teal": 435, + "source": "examples/reti/stakingPool.algo.ts:176", "pc": [ - 394, - 395 + 393, + 394 ] }, { "teal": 438, - "source": "examples/reti/stakingPool.algo.ts:176", + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ - 396 + 395 ] }, { "teal": 439, - "source": "examples/reti/stakingPool.algo.ts:176", + "source": "examples/reti/stakingPool.algo.ts:173", "pc": [ - 397, - 398 + 396, + 397 ] }, { "teal": 442, "source": "examples/reti/stakingPool.algo.ts:173", + "pc": [ + 398 + ] + }, + { + "teal": 445, + "source": "examples/reti/stakingPool.algo.ts:152", "pc": [ 399 ] }, { - "teal": 443, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 450, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 400, 401 ] }, { - "teal": 446, - "source": "examples/reti/stakingPool.algo.ts:173", + "teal": 453, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 402 + 402, + 403, + 404 ] }, { - "teal": 449, - "source": "examples/reti/stakingPool.algo.ts:152", + "teal": 454, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 403 + 405 ] }, { - "teal": 454, + "teal": 455, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 404, - 405 + 406 ] }, { - "teal": 457, + "teal": 456, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 406, 407, 408 ] }, { - "teal": 458, + "teal": 457, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 409 ] }, { - "teal": 459, + "teal": 460, "source": "examples/reti/stakingPool.algo.ts:191", + "errorMessage": "argument 0 (staker) for addStake must be a address", "pc": [ 410 ] }, { - "teal": 460, + "teal": 463, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 411, @@ -1757,118 +1764,111 @@ ] }, { - "teal": 461, + "teal": 464, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 413 ] }, { - "teal": 464, + "teal": 465, "source": "examples/reti/stakingPool.algo.ts:191", - "errorMessage": "argument 0 (staker) for addStake must be a address", "pc": [ 414 ] }, { - "teal": 467, + "teal": 466, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 415, - 416 + 415 ] }, { - "teal": 468, + "teal": 467, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 416, 417 ] }, { - "teal": 469, + "teal": 468, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 418 ] }, { - "teal": 470, + "teal": 469, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 419 ] }, { - "teal": 471, - "source": "examples/reti/stakingPool.algo.ts:191", - "pc": [ - 420, - 421 - ] - }, - { - "teal": 472, + "teal": 472, "source": "examples/reti/stakingPool.algo.ts:191", + "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 422 + 420 ] }, { - "teal": 473, + "teal": 475, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 421, + 422, 423 ] }, { "teal": 476, "source": "examples/reti/stakingPool.algo.ts:191", - "errorMessage": "argument 1 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ 424 ] }, { - "teal": 479, + "teal": 477, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 425, - 426, - 427 + 425 ] }, { - "teal": 480, + "teal": 478, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 428 + 426 ] }, { - "teal": 481, + "teal": 479, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 429 + 427 ] }, { - "teal": 482, + "teal": 480, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 430 + 428 ] }, { - "teal": 483, + "teal": 493, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 429, + 430, 431 ] }, { - "teal": 484, + "teal": 496, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 432 @@ -1879,63 +1879,69 @@ "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 433, - 434, - 435 + 434 ] }, { - "teal": 500, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 501, + "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 436 + 435 ] }, { - "teal": 501, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 502, + "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 437, - 438 + 436 ] }, { - "teal": 505, + "teal": 503, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 439 + 437 ] }, { - "teal": 506, + "teal": 504, "source": "examples/reti/stakingPool.algo.ts:192", "pc": [ - 440 + 438 ] }, { "teal": 507, "source": "examples/reti/stakingPool.algo.ts:192", + "errorMessage": "staking pool must be initialized first", + "pc": [ + 439 + ] + }, + { + "teal": 514, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ + 440, 441 ] }, { - "teal": 508, - "source": "examples/reti/stakingPool.algo.ts:192", + "teal": 515, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 442 ] }, { - "teal": 511, - "source": "examples/reti/stakingPool.algo.ts:192", - "errorMessage": "staking pool must be initialized first", + "teal": 516, + "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 443 ] }, { - "teal": 518, + "teal": 517, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 444, @@ -1943,98 +1949,98 @@ ] }, { - "teal": 519, + "teal": 518, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 446 ] }, { - "teal": 520, + "teal": 519, "source": "examples/reti/stakingPool.algo.ts:196", "pc": [ 447 ] }, { - "teal": 521, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 522, + "source": "examples/reti/stakingPool.algo.ts:195", + "errorMessage": "stake can only be added via the validator contract", "pc": [ - 448, - 449 + 448 ] }, { - "teal": 522, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 526, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ + 449, 450 ] }, { - "teal": 523, - "source": "examples/reti/stakingPool.algo.ts:196", + "teal": 527, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 451 + 451, + 452 ] }, { - "teal": 526, - "source": "examples/reti/stakingPool.algo.ts:195", - "errorMessage": "stake can only be added via the validator contract", + "teal": 528, + "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 452 + 453 ] }, { - "teal": 530, + "teal": 529, "source": "examples/reti/stakingPool.algo.ts:199", "pc": [ - 453, 454 ] }, { - "teal": 531, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 533, + "source": "examples/reti/stakingPool.algo.ts:202", "pc": [ 455, - 456 + 456, + 457 ] }, { - "teal": 532, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 542, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 457 + 458, + 459 ] }, { - "teal": 533, - "source": "examples/reti/stakingPool.algo.ts:199", + "teal": 543, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 458 + 460, + 461 ] }, { - "teal": 537, - "source": "examples/reti/stakingPool.algo.ts:202", + "teal": 544, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 459, - 460, - 461 + 462 ] }, { - "teal": 546, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 545, + "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ - 462, 463 ] }, { - "teal": 547, + "teal": 546, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 464, @@ -2042,98 +2048,92 @@ ] }, { - "teal": 548, + "teal": 547, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 466 ] }, { - "teal": 549, + "teal": 548, "source": "examples/reti/stakingPool.algo.ts:207", "pc": [ 467 ] }, - { - "teal": 550, - "source": "examples/reti/stakingPool.algo.ts:207", - "pc": [ - 468, - 469 - ] - }, { "teal": 551, "source": "examples/reti/stakingPool.algo.ts:207", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}", "pc": [ - 470 + 468 ] }, { - "teal": 552, - "source": "examples/reti/stakingPool.algo.ts:207", + "teal": 554, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 471 + 469, + 470 ] }, { "teal": 555, - "source": "examples/reti/stakingPool.algo.ts:207", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"AppID.fromUint64(this.creatingValidatorContractAppId.value).address\"}", + "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ + 471, 472 ] }, { - "teal": 558, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 556, + "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ 473, 474 ] }, { - "teal": 559, + "teal": 557, "source": "examples/reti/stakingPool.algo.ts:208", "pc": [ - 475, - 476 + 475 ] }, { "teal": 560, "source": "examples/reti/stakingPool.algo.ts:208", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 477, - 478 + 476 ] }, { - "teal": 561, - "source": "examples/reti/stakingPool.algo.ts:208", + "teal": 563, + "source": "examples/reti/stakingPool.algo.ts:206", "pc": [ - 479 + 477, + 478 ] }, { "teal": 564, - "source": "examples/reti/stakingPool.algo.ts:208", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ + 479, 480 ] }, { - "teal": 567, - "source": "examples/reti/stakingPool.algo.ts:206", + "teal": 565, + "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 481, 482 ] }, { - "teal": 568, + "teal": 566, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ 483, @@ -2141,160 +2141,166 @@ ] }, { - "teal": 569, + "teal": 567, "source": "examples/reti/stakingPool.algo.ts:209", "pc": [ - 485, - 486 + 485 ] }, { "teal": 570, "source": "examples/reti/stakingPool.algo.ts:209", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}", "pc": [ - 487, - 488 + 486 ] }, { - "teal": 571, - "source": "examples/reti/stakingPool.algo.ts:209", + "teal": 574, + "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 489 + 487, + 488 ] }, { - "teal": 574, - "source": "examples/reti/stakingPool.algo.ts:209", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"amount\",\"expected\":\"stakedAmountPayment.amount\"}", + "teal": 575, + "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 490 + 489, + 490, + 491 ] }, { - "teal": 578, + "teal": 576, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ - 491, 492 ] }, { - "teal": 579, + "teal": 577, "source": "examples/reti/stakingPool.algo.ts:215", "pc": [ 493, - 494, - 495 + 494 ] }, { - "teal": 580, - "source": "examples/reti/stakingPool.algo.ts:215", + "teal": 581, + "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ - 496 + 495 ] }, { - "teal": 581, - "source": "examples/reti/stakingPool.algo.ts:215", + "teal": 582, + "source": "examples/reti/stakingPool.algo.ts:216", "pc": [ - 497, - 498 + 496, + 497 ] }, { - "teal": 585, - "source": "examples/reti/stakingPool.algo.ts:216", + "teal": 586, + "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ + 498, 499 ] }, { - "teal": 586, - "source": "examples/reti/stakingPool.algo.ts:216", + "teal": 587, + "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 500, - 501 + 500 ] }, { - "teal": 590, + "teal": 588, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 502, - 503 + 501, + 502 ] }, { - "teal": 591, + "teal": 589, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ + 503, 504 ] }, { - "teal": 592, + "teal": 590, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 505, - 506 + 505 ] }, { - "teal": 593, + "teal": 591, + "source": "examples/reti/stakingPool.algo.ts:218", + "pc": [ + 506, + 507 + ] + }, + { + "teal": 592, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ - 507, 508 ] }, { - "teal": 594, + "teal": 593, "source": "examples/reti/stakingPool.algo.ts:218", "pc": [ 509 ] }, { - "teal": 595, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 597, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 510, 511 ] }, { - "teal": 596, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 598, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 512 ] }, { - "teal": 597, - "source": "examples/reti/stakingPool.algo.ts:218", + "teal": 599, + "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 513 + 513, + 514 ] }, { - "teal": 601, + "teal": 600, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 514, 515 ] }, { - "teal": 602, + "teal": 601, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 516 ] }, { - "teal": 603, + "teal": 602, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 517, @@ -2302,92 +2308,98 @@ ] }, { - "teal": 604, + "teal": 603, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ 519 ] }, { - "teal": 605, + "teal": 604, "source": "examples/reti/stakingPool.algo.ts:220", "pc": [ - 520 + 520, + 521 ] }, { - "teal": 606, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 609, + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 521, - 522 + 522, + 523 ] }, { - "teal": 607, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 610, + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 523 + 524 ] }, { - "teal": 608, - "source": "examples/reti/stakingPool.algo.ts:220", + "teal": 611, + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 524, 525 ] }, { - "teal": 613, - "source": "examples/reti/stakingPool.algo.ts:221", + "teal": 612, + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 526, 527 ] }, + { + "teal": 613, + "source": "examples/reti/stakingPool.algo.ts:222", + "pc": [ + 528, + 529 + ] + }, { "teal": 614, - "source": "examples/reti/stakingPool.algo.ts:221", + "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 528 + 530 ] }, { "teal": 615, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 529 + 531, + 532 ] }, { "teal": 616, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 530, - 531 + 533 ] }, { "teal": 617, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 532, - 533 + 534 ] }, { "teal": 618, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 534 + 535 ] }, { "teal": 619, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 535, 536 ] }, @@ -2402,32 +2414,27 @@ "teal": 621, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 538 - ] - }, - { - "teal": 622, - "source": "examples/reti/stakingPool.algo.ts:222", - "pc": [ + 538, 539 ] }, { - "teal": 623, + "teal": 622, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 540 ] }, { - "teal": 624, + "teal": 625, "source": "examples/reti/stakingPool.algo.ts:222", + "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 541 ] }, { - "teal": 625, + "teal": 626, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 542, @@ -2435,25 +2442,30 @@ ] }, { - "teal": 626, + "teal": 627, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ 544 ] }, { - "teal": 629, + "teal": 628, "source": "examples/reti/stakingPool.algo.ts:222", - "errorMessage": "this.stakeAccumulator.value + (stakedAmountPayment.amount as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 545 ] }, + { + "teal": 629, + "source": "examples/reti/stakingPool.algo.ts:222", + "pc": [ + 546 + ] + }, { "teal": 630, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 546, 547 ] }, @@ -2461,75 +2473,63 @@ "teal": 631, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 548 + 548, + 549 ] }, { "teal": 632, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 549 + 550 ] }, { "teal": 633, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 550 + 551 ] }, { "teal": 634, "source": "examples/reti/stakingPool.algo.ts:222", "pc": [ - 551 + 552 ] }, { "teal": 635, - "source": "examples/reti/stakingPool.algo.ts:222", + "source": "examples/reti/stakingPool.algo.ts:221", "pc": [ - 552, 553 ] }, { - "teal": 636, - "source": "examples/reti/stakingPool.algo.ts:222", + "teal": 639, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 554 ] }, { - "teal": 637, - "source": "examples/reti/stakingPool.algo.ts:222", - "pc": [ - 555 - ] - }, - { - "teal": 638, - "source": "examples/reti/stakingPool.algo.ts:222", + "teal": 640, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 555, 556 ] }, { - "teal": 639, - "source": "examples/reti/stakingPool.algo.ts:221", - "pc": [ - 557 - ] - }, - { - "teal": 643, + "teal": 645, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 557, 558 ] }, { - "teal": 644, + "teal": 646, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 559, @@ -2537,123 +2537,123 @@ ] }, { - "teal": 649, + "teal": 647, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 561, - 562 + 561 ] }, { - "teal": 650, + "teal": 648, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ + 562, 563, 564 ] }, { - "teal": 651, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 653, + "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 565 + 565, + 566 ] }, { - "teal": 652, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 654, + "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 566, 567, 568 ] }, { - "teal": 657, + "teal": 655, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ - 569, - 570 + 569 ] }, { - "teal": 658, + "teal": 656, "source": "examples/reti/stakingPool.algo.ts:226", "pc": [ + 570, 571, 572 ] }, { - "teal": 659, - "source": "examples/reti/stakingPool.algo.ts:226", + "teal": 661, + "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 573 ] }, { - "teal": 660, - "source": "examples/reti/stakingPool.algo.ts:226", + "teal": 662, + "source": "examples/reti/stakingPool.algo.ts:227", + "pc": [ + 574 + ] + }, + { + "teal": 663, + "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 574, 575, 576 ] }, { - "teal": 665, + "teal": 664, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 577 ] }, { - "teal": 666, - "source": "examples/reti/stakingPool.algo.ts:227", - "pc": [ - 578 - ] - }, - { - "teal": 667, + "teal": 665, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 579, - 580 + 578, + 579 ] }, { - "teal": 668, + "teal": 666, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ + 580, 581 ] }, { - "teal": 669, + "teal": 667, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 582, - 583 + 582 ] }, { - "teal": 670, + "teal": 668, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 584, - 585 + 583, + 584 ] }, { - "teal": 671, + "teal": 669, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ + 585, 586 ] }, { - "teal": 672, + "teal": 670, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 587, @@ -2661,7 +2661,7 @@ ] }, { - "teal": 673, + "teal": 671, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ 589, @@ -2669,130 +2669,130 @@ ] }, { - "teal": 674, + "teal": 672, "source": "examples/reti/stakingPool.algo.ts:227", "pc": [ - 591, - 592 + 591 ] }, { - "teal": 675, - "source": "examples/reti/stakingPool.algo.ts:227", + "teal": 677, + "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 593, - 594 + 592, + 593 ] }, { - "teal": 676, - "source": "examples/reti/stakingPool.algo.ts:227", + "teal": 678, + "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 595 + 594 ] }, { - "teal": 681, + "teal": 679, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 596, - 597 + 595 ] }, { - "teal": 682, + "teal": 680, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 598 + 596 ] }, { - "teal": 683, + "teal": 681, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 599 + 597 ] }, { - "teal": 684, + "teal": 682, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 600 + 598, + 599 ] }, { - "teal": 685, + "teal": 683, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 601 + 600 ] }, { - "teal": 686, + "teal": 684, "source": "examples/reti/stakingPool.algo.ts:229", "pc": [ - 602, - 603 + 601, + 602 ] }, { - "teal": 687, - "source": "examples/reti/stakingPool.algo.ts:229", + "teal": 689, + "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ + 603, 604 ] }, { - "teal": 688, - "source": "examples/reti/stakingPool.algo.ts:229", + "teal": 690, + "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ 605, - 606 + 606, + 607 ] }, { - "teal": 693, + "teal": 691, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ - 607, - 608 + 608, + 609 ] }, { - "teal": 694, + "teal": 692, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ - 609, - 610, - 611 + 610 ] }, { - "teal": 695, + "teal": 693, "source": "examples/reti/stakingPool.algo.ts:230", "pc": [ + 611, 612, 613 ] }, { - "teal": 696, - "source": "examples/reti/stakingPool.algo.ts:230", + "teal": 698, + "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 614 + 614, + 615 ] }, { - "teal": 697, - "source": "examples/reti/stakingPool.algo.ts:230", + "teal": 699, + "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 615, 616, 617 ] }, { - "teal": 702, + "teal": 700, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 618, @@ -2800,84 +2800,84 @@ ] }, { - "teal": 703, + "teal": 701, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 620, - 621 + 621, + 622 ] }, { - "teal": 704, + "teal": 702, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 622, 623 ] }, { - "teal": 705, + "teal": 703, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ 624, - 625, - 626 + 625 ] }, { - "teal": 706, + "teal": 704, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ + 626, 627 ] }, { - "teal": 707, + "teal": 705, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 628, - 629 + 628 ] }, { - "teal": 708, + "teal": 706, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 630, - 631 + 629 ] }, { - "teal": 709, + "teal": 707, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 632 + 630 ] }, { - "teal": 710, + "teal": 708, "source": "examples/reti/stakingPool.algo.ts:232", "pc": [ - 633 + 631, + 632 ] }, { - "teal": 711, - "source": "examples/reti/stakingPool.algo.ts:232", + "teal": 712, + "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ + 633, 634 ] }, { - "teal": 712, - "source": "examples/reti/stakingPool.algo.ts:232", + "teal": 713, + "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 635, 636 ] }, { - "teal": 716, + "teal": 714, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 637, @@ -2885,15 +2885,21 @@ ] }, { - "teal": 717, + "teal": 715, + "source": "examples/reti/stakingPool.algo.ts:233", + "pc": [ + 639 + ] + }, + { + "teal": 716, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ - 639, 640 ] }, { - "teal": 718, + "teal": 717, "source": "examples/reti/stakingPool.algo.ts:233", "pc": [ 641, @@ -2901,29 +2907,29 @@ ] }, { - "teal": 719, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 721, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 643 + 643, + 644 ] }, { - "teal": 720, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 722, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 644 + 645 ] }, { - "teal": 721, - "source": "examples/reti/stakingPool.algo.ts:233", + "teal": 723, + "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 645, 646 ] }, { - "teal": 725, + "teal": 724, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 647, @@ -2931,154 +2937,154 @@ ] }, { - "teal": 726, + "teal": 725, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ 649 ] }, { - "teal": 727, + "teal": 726, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 650 + 650, + 651 ] }, { - "teal": 728, + "teal": 727, "source": "examples/reti/stakingPool.algo.ts:236", "pc": [ - 651, 652 ] }, { - "teal": 729, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 731, + "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ - 653 + 653, + 654 ] }, { - "teal": 730, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 732, + "source": "examples/reti/stakingPool.algo.ts:238", "pc": [ - 654, - 655 + 655, + 656, + 657 ] }, { - "teal": 731, - "source": "examples/reti/stakingPool.algo.ts:236", + "teal": 738, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 656 + 658, + 659 ] }, { - "teal": 735, - "source": "examples/reti/stakingPool.algo.ts:238", + "teal": 739, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 657, - 658 + 660 ] }, { - "teal": 736, - "source": "examples/reti/stakingPool.algo.ts:238", + "teal": 740, + "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 659, - 660, 661 ] }, + { + "teal": 741, + "source": "examples/reti/stakingPool.algo.ts:240", + "pc": [ + 662 + ] + }, { "teal": 742, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 662, - 663 + 663, + 664, + 665 ] }, { "teal": 743, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 664 + 666, + 667 ] }, { "teal": 744, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 665 + 668, + 669, + 670 ] }, { "teal": 745, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 666 + 671, + 672 ] }, { "teal": 746, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 667, - 668, - 669 + 673 ] }, { "teal": 747, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ - 670, - 671 - ] - }, - { - "teal": 748, - "source": "examples/reti/stakingPool.algo.ts:240", - "pc": [ - 672, - 673, 674 ] }, { - "teal": 749, + "teal": 750, "source": "examples/reti/stakingPool.algo.ts:240", "pc": [ 675, - 676 + 676, + 677 ] }, { - "teal": 750, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 755, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 677 + 678, + 679 ] }, { - "teal": 751, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 756, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 678 + 680 ] }, { - "teal": 754, - "source": "examples/reti/stakingPool.algo.ts:240", + "teal": 757, + "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ - 679, - 680, 681 ] }, { - "teal": 759, + "teal": 758, "source": "examples/reti/stakingPool.algo.ts:241", "pc": [ 682, @@ -3086,29 +3092,29 @@ ] }, { - "teal": 760, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 765, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 684 + 684, + 685 ] }, { - "teal": 761, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 766, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 685 + 686 ] }, { - "teal": 762, - "source": "examples/reti/stakingPool.algo.ts:241", + "teal": 767, + "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 686, 687 ] }, { - "teal": 769, + "teal": 768, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ 688, @@ -3116,77 +3122,71 @@ ] }, { - "teal": 770, + "teal": 769, "source": "examples/reti/stakingPool.algo.ts:225", "pc": [ - 690 + 690, + 691, + 692 ] }, { - "teal": 771, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 775, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 691 + 693, + 694 ] }, { - "teal": 772, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 776, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 692, - 693 + 695 ] }, { - "teal": 773, - "source": "examples/reti/stakingPool.algo.ts:225", + "teal": 777, + "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ - 694, - 695, 696 ] }, { - "teal": 779, + "teal": 778, "source": "examples/reti/stakingPool.algo.ts:245", "pc": [ 697, - 698 - ] - }, - { - "teal": 780, - "source": "examples/reti/stakingPool.algo.ts:245", - "pc": [ + 698, 699 ] }, { - "teal": 781, - "source": "examples/reti/stakingPool.algo.ts:245", + "teal": 782, + "source": "examples/reti/stakingPool.algo.ts:247", + "errorMessage": "Staking pool full", "pc": [ 700 ] }, { - "teal": 782, - "source": "examples/reti/stakingPool.algo.ts:245", + "teal": 787, + "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 701, - 702, - 703 + 702 ] }, { - "teal": 786, - "source": "examples/reti/stakingPool.algo.ts:247", - "errorMessage": "Staking pool full", + "teal": 788, + "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ + 703, 704 ] }, { - "teal": 791, + "teal": 789, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ 705, @@ -3194,48 +3194,60 @@ ] }, { - "teal": 792, + "teal": 790, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ - 707, - 708 + 707 ] }, { - "teal": 793, + "teal": 791, "source": "examples/reti/stakingPool.algo.ts:252", "pc": [ - 709, - 710 + 708 ] }, { "teal": 794, "source": "examples/reti/stakingPool.algo.ts:252", + "errorMessage": "must stake at least the minimum for this pool", + "pc": [ + 709 + ] + }, + { + "teal": 798, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ + 710, 711 ] }, { - "teal": 795, - "source": "examples/reti/stakingPool.algo.ts:252", + "teal": 799, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 712 ] }, { - "teal": 798, - "source": "examples/reti/stakingPool.algo.ts:252", - "errorMessage": "must stake at least the minimum for this pool", + "teal": 800, + "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 713 ] }, + { + "teal": 801, + "source": "examples/reti/stakingPool.algo.ts:254", + "pc": [ + 714 + ] + }, { "teal": 802, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 714, 715 ] }, @@ -3257,284 +3269,272 @@ "teal": 805, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 718 + 718, + 719 ] }, { "teal": 806, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 719 + 720 ] }, { "teal": 807, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 720 + 721, + 722 ] }, { "teal": 808, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 721 + 723 ] }, { "teal": 809, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 722, - 723 + 724, + 725 ] }, { "teal": 810, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ - 724 - ] - }, - { - "teal": 811, - "source": "examples/reti/stakingPool.algo.ts:254", - "pc": [ - 725, 726 ] }, { - "teal": 812, + "teal": 811, "source": "examples/reti/stakingPool.algo.ts:254", "pc": [ 727 ] }, { - "teal": 813, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 821, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 728, 729 ] }, { - "teal": 814, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 822, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 730 ] }, { - "teal": 815, - "source": "examples/reti/stakingPool.algo.ts:254", + "teal": 823, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 731 ] }, + { + "teal": 824, + "source": "examples/reti/stakingPool.algo.ts:255", + "pc": [ + 732 + ] + }, { "teal": 825, "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ - 732, 733 ] }, { "teal": 826, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:256", "pc": [ - 734 + 734, + 735 ] }, { "teal": 827, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 735 + 736, + 737 ] }, { "teal": 828, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 736 + 738, + 739 ] }, { "teal": 829, - "source": "examples/reti/stakingPool.algo.ts:255", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 737 + 740 ] }, { "teal": 830, - "source": "examples/reti/stakingPool.algo.ts:256", + "source": "examples/reti/stakingPool.algo.ts:257", "pc": [ - 738, - 739 + 741 ] }, { "teal": 831, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ - 740, - 741 + 742, + 743 ] }, { "teal": 832, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:258", "pc": [ - 742, - 743 + 744 ] }, { "teal": 833, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ - 744 + 745, + 746 ] }, { "teal": 834, - "source": "examples/reti/stakingPool.algo.ts:257", + "source": "examples/reti/stakingPool.algo.ts:259", "pc": [ - 745 + 747 ] }, { "teal": 835, - "source": "examples/reti/stakingPool.algo.ts:258", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 746, - 747 + 748, + 749 ] }, { "teal": 836, - "source": "examples/reti/stakingPool.algo.ts:258", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 748 + 750 ] }, { "teal": 837, - "source": "examples/reti/stakingPool.algo.ts:259", + "source": "examples/reti/stakingPool.algo.ts:260", "pc": [ - 749, - 750 + 751 ] }, { "teal": 838, - "source": "examples/reti/stakingPool.algo.ts:259", + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ - 751 + 752 ] }, { "teal": 839, - "source": "examples/reti/stakingPool.algo.ts:260", - "pc": [ - 752, - 753 - ] - }, - { - "teal": 840, - "source": "examples/reti/stakingPool.algo.ts:260", + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ + 753, 754 ] }, { - "teal": 841, - "source": "examples/reti/stakingPool.algo.ts:260", + "teal": 840, + "source": "examples/reti/stakingPool.algo.ts:255", "pc": [ 755 ] }, { - "teal": 842, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 844, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 756 + 756, + 757 ] }, { - "teal": 843, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 845, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 757, 758 ] }, { - "teal": 844, - "source": "examples/reti/stakingPool.algo.ts:255", + "teal": 846, + "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 759 ] }, { - "teal": 848, + "teal": 847, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ - 760, - 761 + 760 ] }, { - "teal": 849, + "teal": 848, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ + 761, 762 ] }, { - "teal": 850, + "teal": 849, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 763 ] }, { - "teal": 851, + "teal": 850, "source": "examples/reti/stakingPool.algo.ts:262", "pc": [ 764 ] }, { - "teal": 852, - "source": "examples/reti/stakingPool.algo.ts:262", + "teal": 854, + "source": "examples/reti/stakingPool.algo.ts:263", "pc": [ 765, 766 ] }, { - "teal": 853, - "source": "examples/reti/stakingPool.algo.ts:262", - "pc": [ - 767 - ] - }, - { - "teal": 854, - "source": "examples/reti/stakingPool.algo.ts:262", + "teal": 858, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ + 767, 768 ] }, { - "teal": 858, - "source": "examples/reti/stakingPool.algo.ts:263", + "teal": 861, + "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ 769, 770 @@ -3544,21 +3544,21 @@ "teal": 862, "source": "examples/reti/stakingPool.algo.ts:191", "pc": [ - 771, - 772 + 771 ] }, { - "teal": 865, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 867, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 772, 773, 774 ] }, { - "teal": 866, - "source": "examples/reti/stakingPool.algo.ts:191", + "teal": 868, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 775 ] @@ -3580,69 +3580,69 @@ ] }, { - "teal": 875, + "teal": 873, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 780, - 781, - 782 + 780 ] }, { - "teal": 876, + "teal": 874, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 783 + 781, + 782 ] }, { - "teal": 877, + "teal": 875, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 784 + 783 ] }, { "teal": 878, "source": "examples/reti/stakingPool.algo.ts:277", + "errorMessage": "argument 1 (staker) for removeStake must be a address", "pc": [ - 785, - 786 + 784 ] }, { - "teal": 879, + "teal": 881, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 785, + 786, 787 ] }, { "teal": 882, "source": "examples/reti/stakingPool.algo.ts:277", - "errorMessage": "argument 1 (staker) for removeStake must be a address", "pc": [ 788 ] }, { - "teal": 885, + "teal": 883, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 789, - 790, - 791 + 789 ] }, { - "teal": 886, + "teal": 897, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ + 790, + 791, 792 ] }, { - "teal": 887, + "teal": 900, "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 793 @@ -3653,60 +3653,61 @@ "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ 794, - 795, - 796 + 795 ] }, { - "teal": 904, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 906, + "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ + 796, 797 ] }, { - "teal": 905, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 907, + "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ 798, 799 ] }, { - "teal": 910, + "teal": 908, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ - 800, - 801 + 800 ] }, { - "teal": 911, + "teal": 909, "source": "examples/reti/stakingPool.algo.ts:280", "pc": [ + 801, 802, 803 ] }, { - "teal": 912, - "source": "examples/reti/stakingPool.algo.ts:280", + "teal": 917, + "source": "examples/reti/stakingPool.algo.ts:282", "pc": [ - 804 + 804, + 805, + 806 ] }, { - "teal": 913, - "source": "examples/reti/stakingPool.algo.ts:280", + "teal": 920, + "source": "examples/reti/stakingPool.algo.ts:281", + "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator", "pc": [ - 805, - 806, 807 ] }, { - "teal": 921, - "source": "examples/reti/stakingPool.algo.ts:282", + "teal": 925, + "source": "examples/reti/stakingPool.algo.ts:287", "pc": [ 808, 809, @@ -3714,31 +3715,30 @@ ] }, { - "teal": 924, - "source": "examples/reti/stakingPool.algo.ts:281", - "errorMessage": "If staker is not sender in removeStake call, then sender MUST be owner or manager of validator", + "teal": 929, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 811 ] }, { - "teal": 929, - "source": "examples/reti/stakingPool.algo.ts:287", + "teal": 930, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 812, - 813, - 814 + 813 ] }, { - "teal": 933, + "teal": 935, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ + 814, 815 ] }, { - "teal": 934, + "teal": 936, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 816, @@ -3746,123 +3746,123 @@ ] }, { - "teal": 939, + "teal": 937, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ - 818, - 819 + 818 ] }, { - "teal": 940, + "teal": 938, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ + 819, 820, 821 ] }, { - "teal": 941, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 943, + "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 822 + 822, + 823 ] }, { - "teal": 942, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 944, + "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 823, 824, 825 ] }, { - "teal": 947, + "teal": 945, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ - 826, - 827 + 826 ] }, { - "teal": 948, + "teal": 946, "source": "examples/reti/stakingPool.algo.ts:290", "pc": [ + 827, 828, 829 ] }, { - "teal": 949, - "source": "examples/reti/stakingPool.algo.ts:290", + "teal": 951, + "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 830 ] }, { - "teal": 950, - "source": "examples/reti/stakingPool.algo.ts:290", + "teal": 952, + "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 831, - 832, - 833 + 831 ] }, { - "teal": 955, + "teal": 953, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 834 + 832, + 833 ] }, { - "teal": 956, + "teal": 954, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 835 + 834 ] }, { - "teal": 957, + "teal": 955, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 836, - 837 + 835, + 836 ] }, { - "teal": 958, + "teal": 956, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ + 837, 838 ] }, { - "teal": 959, + "teal": 957, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 839, - 840 + 839 ] }, { - "teal": 960, + "teal": 958, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 841, - 842 + 840, + 841 ] }, { - "teal": 961, + "teal": 959, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ + 842, 843 ] }, { - "teal": 962, + "teal": 960, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 844, @@ -3870,7 +3870,7 @@ ] }, { - "teal": 963, + "teal": 961, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ 846, @@ -3878,249 +3878,249 @@ ] }, { - "teal": 964, + "teal": 962, "source": "examples/reti/stakingPool.algo.ts:291", "pc": [ - 848, - 849 + 848 ] }, { - "teal": 965, - "source": "examples/reti/stakingPool.algo.ts:291", + "teal": 967, + "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 850, - 851 + 849, + 850 ] }, { - "teal": 966, - "source": "examples/reti/stakingPool.algo.ts:291", + "teal": 968, + "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 852 + 851 ] }, { - "teal": 971, + "teal": 969, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 853, - 854 + 852 ] }, { - "teal": 972, + "teal": 970, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 855 + 853 ] }, { - "teal": 973, + "teal": 971, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 856 + 854 ] }, { - "teal": 974, + "teal": 972, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 857 + 855, + 856 ] }, { - "teal": 975, + "teal": 973, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 858 + 857 ] }, { - "teal": 976, + "teal": 974, "source": "examples/reti/stakingPool.algo.ts:293", "pc": [ - 859, - 860 + 858, + 859 ] }, { - "teal": 977, - "source": "examples/reti/stakingPool.algo.ts:293", + "teal": 979, + "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ + 860, 861 ] }, { - "teal": 978, - "source": "examples/reti/stakingPool.algo.ts:293", + "teal": 980, + "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ 862, - 863 + 863, + 864 ] }, { - "teal": 983, + "teal": 981, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ - 864, - 865 + 865, + 866 ] }, { - "teal": 984, + "teal": 982, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ - 866, - 867, - 868 + 867 ] }, { - "teal": 985, + "teal": 983, "source": "examples/reti/stakingPool.algo.ts:294", "pc": [ + 868, 869, 870 ] }, { - "teal": 986, - "source": "examples/reti/stakingPool.algo.ts:294", + "teal": 989, + "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 871 + 871, + 872 ] }, { - "teal": 987, - "source": "examples/reti/stakingPool.algo.ts:294", + "teal": 990, + "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 872, - 873, - 874 + 873 ] }, { - "teal": 993, + "teal": 991, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ - 875, - 876 + 874 ] }, { - "teal": 994, + "teal": 992, "source": "examples/reti/stakingPool.algo.ts:295", "pc": [ + 875, + 876, 877 ] }, { - "teal": 995, - "source": "examples/reti/stakingPool.algo.ts:295", + "teal": 997, + "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 878 + 878, + 879 ] }, { - "teal": 996, - "source": "examples/reti/stakingPool.algo.ts:295", + "teal": 998, + "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 879, 880, - 881 + 881, + 882 ] }, { - "teal": 1001, + "teal": 999, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ - 882, 883 ] }, { - "teal": 1002, + "teal": 1000, "source": "examples/reti/stakingPool.algo.ts:297", "pc": [ 884, - 885, - 886 + 885 ] }, { - "teal": 1003, - "source": "examples/reti/stakingPool.algo.ts:297", + "teal": 1006, + "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ + 886, 887 ] }, { - "teal": 1004, - "source": "examples/reti/stakingPool.algo.ts:297", + "teal": 1007, + "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 888, - 889 + 889, + 890 ] }, { - "teal": 1010, + "teal": 1008, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ - 890, 891 ] }, { - "teal": 1011, + "teal": 1009, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ 892, - 893, - 894 + 893 ] }, { - "teal": 1012, + "teal": 1010, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ - 895 + 894 ] }, { - "teal": 1013, + "teal": 1011, "source": "examples/reti/stakingPool.algo.ts:299", "pc": [ + 895, 896, 897 ] }, { - "teal": 1014, - "source": "examples/reti/stakingPool.algo.ts:299", + "teal": 1015, + "source": "examples/reti/stakingPool.algo.ts:300", + "errorMessage": "Insufficient balance", "pc": [ 898 ] }, { - "teal": 1015, - "source": "examples/reti/stakingPool.algo.ts:299", + "teal": 1020, + "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 899, - 900, - 901 + 900 ] }, { - "teal": 1019, - "source": "examples/reti/stakingPool.algo.ts:300", - "errorMessage": "Insufficient balance", + "teal": 1021, + "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ + 901, 902 ] }, { - "teal": 1024, + "teal": 1022, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 903, @@ -4128,242 +4128,242 @@ ] }, { - "teal": 1025, + "teal": 1023, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 905, - 906 + 906, + 907 ] }, { - "teal": 1026, + "teal": 1024, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 907, 908 ] }, { - "teal": 1027, + "teal": 1025, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ 909, - 910, - 911 + 910 ] }, { - "teal": 1028, + "teal": 1026, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 912 + 911 ] }, { - "teal": 1029, + "teal": 1027, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 913, - 914 + 912 ] }, { - "teal": 1030, + "teal": 1028, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 915 + 913 ] }, { - "teal": 1031, + "teal": 1029, "source": "examples/reti/stakingPool.algo.ts:302", "pc": [ - 916 + 914, + 915 ] }, { - "teal": 1032, - "source": "examples/reti/stakingPool.algo.ts:302", + "teal": 1033, + "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ + 916, 917 ] }, { - "teal": 1033, - "source": "examples/reti/stakingPool.algo.ts:302", + "teal": 1034, + "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 918, - 919 + 918 ] }, { - "teal": 1037, + "teal": 1035, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 920, - 921 + 919, + 920 ] }, { - "teal": 1038, + "teal": 1036, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 922 + 921 ] }, { - "teal": 1039, + "teal": 1037, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 923, - 924 + 922, + 923 ] }, { - "teal": 1040, + "teal": 1038, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 925 + 924 ] }, { - "teal": 1041, + "teal": 1039, "source": "examples/reti/stakingPool.algo.ts:303", "pc": [ - 926, - 927 + 925 ] }, { - "teal": 1042, - "source": "examples/reti/stakingPool.algo.ts:303", + "teal": 1043, + "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ - 928 + 926 ] }, { - "teal": 1043, - "source": "examples/reti/stakingPool.algo.ts:303", + "teal": 1044, + "source": "examples/reti/stakingPool.algo.ts:305", "pc": [ - 929 + 927, + 928 ] }, { - "teal": 1047, - "source": "examples/reti/stakingPool.algo.ts:305", + "teal": 1049, + "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ + 929, 930 ] }, { - "teal": 1048, - "source": "examples/reti/stakingPool.algo.ts:305", + "teal": 1050, + "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ 931, - 932 + 932, + 933 ] }, { - "teal": 1053, + "teal": 1051, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 933, 934 ] }, { - "teal": 1054, + "teal": 1052, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 935, - 936, - 937 + 935 ] }, { - "teal": 1055, + "teal": 1053, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ - 938 + 936 ] }, { - "teal": 1056, + "teal": 1054, "source": "examples/reti/stakingPool.algo.ts:306", "pc": [ + 937, + 938, 939 ] }, { - "teal": 1057, - "source": "examples/reti/stakingPool.algo.ts:306", + "teal": 1060, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 940 + 940, + 941 ] }, { - "teal": 1058, - "source": "examples/reti/stakingPool.algo.ts:306", + "teal": 1061, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 941, - 942, - 943 + 942 ] }, { - "teal": 1064, + "teal": 1062, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 944, - 945 + 943 ] }, { - "teal": 1065, + "teal": 1063, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ - 946 + 944 ] }, { - "teal": 1066, + "teal": 1064, "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ + 945, + 946, 947 ] }, { - "teal": 1067, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1072, + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 948 ] }, { - "teal": 1068, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1073, + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 949, - 950, - 951 + 949 ] }, { - "teal": 1076, + "teal": 1074, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 952 + 950, + 951 ] }, { - "teal": 1077, + "teal": 1075, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ + 952, 953 ] }, { - "teal": 1078, + "teal": 1076, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ 954, @@ -4371,300 +4371,300 @@ ] }, { - "teal": 1079, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1080, + "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 956, - 957 + 956 ] }, { - "teal": 1080, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1081, + "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 958, - 959 + 957 ] }, { - "teal": 1084, + "teal": 1082, "source": "examples/reti/stakingPool.algo.ts:310", "pc": [ - 960 + 958, + 959 ] }, { - "teal": 1085, - "source": "examples/reti/stakingPool.algo.ts:310", + "teal": 1086, + "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 961 + 960 ] }, { - "teal": 1086, - "source": "examples/reti/stakingPool.algo.ts:310", + "teal": 1087, + "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 962, - 963 + 961 ] }, { - "teal": 1090, + "teal": 1088, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 964 + 962 ] }, { - "teal": 1091, + "teal": 1089, "source": "examples/reti/stakingPool.algo.ts:311", "pc": [ - 965 + 963, + 964 ] }, { "teal": 1092, - "source": "examples/reti/stakingPool.algo.ts:311", + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 966 + 965 ] }, { "teal": 1093, - "source": "examples/reti/stakingPool.algo.ts:311", + "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 967, - 968 + 966, + 967 ] }, { "teal": 1096, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 969 + 968 ] }, { "teal": 1097, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 970, - 971 + 969, + 970 ] }, { - "teal": 1100, + "teal": 1098, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 972 + 971 ] }, { - "teal": 1101, + "teal": 1099, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 973, - 974 + 972 ] }, { - "teal": 1102, + "teal": 1100, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 975 + 973, + 974 ] }, { - "teal": 1103, + "teal": 1101, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 976 + 975, + 976, + 977 ] }, { - "teal": 1104, + "teal": 1102, "source": "examples/reti/stakingPool.algo.ts:309", "pc": [ - 977, - 978 + 978, + 979 ] }, { - "teal": 1105, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1110, + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 979, - 980, - 981 + 980 ] }, { - "teal": 1106, - "source": "examples/reti/stakingPool.algo.ts:309", + "teal": 1111, + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 982, - 983 + 981, + 982 ] }, { - "teal": 1114, + "teal": 1112, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ + 983, 984 ] }, { - "teal": 1115, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1116, + "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 985, 986 ] }, { - "teal": 1116, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1117, + "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 987, - 988 + 988, + 989 ] }, { - "teal": 1120, + "teal": 1118, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ - 989, 990 ] }, { - "teal": 1121, + "teal": 1119, "source": "examples/reti/stakingPool.algo.ts:318", "pc": [ 991, - 992, - 993 + 992 ] }, { - "teal": 1122, - "source": "examples/reti/stakingPool.algo.ts:318", + "teal": 1123, + "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ + 993, 994 ] }, { - "teal": 1123, - "source": "examples/reti/stakingPool.algo.ts:318", + "teal": 1124, + "source": "examples/reti/stakingPool.algo.ts:319", "pc": [ 995, 996 ] }, { - "teal": 1127, - "source": "examples/reti/stakingPool.algo.ts:319", + "teal": 1128, + "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 997, 998 ] }, { - "teal": 1128, - "source": "examples/reti/stakingPool.algo.ts:319", + "teal": 1129, + "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 999, - 1000 + 1000, + 1001 ] }, { - "teal": 1132, + "teal": 1130, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ - 1001, 1002 ] }, { - "teal": 1133, + "teal": 1131, "source": "examples/reti/stakingPool.algo.ts:320", "pc": [ 1003, - 1004, - 1005 + 1004 ] }, { "teal": 1134, - "source": "examples/reti/stakingPool.algo.ts:320", + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1006 + 1005 ] }, { "teal": 1135, - "source": "examples/reti/stakingPool.algo.ts:320", + "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1007, - 1008 + 1006, + 1007 ] }, { "teal": 1138, "source": "examples/reti/stakingPool.algo.ts:317", "pc": [ - 1009 + 1008 ] }, { - "teal": 1139, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1142, + "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1010, - 1011 + 1009, + 1010 ] }, { - "teal": 1142, - "source": "examples/reti/stakingPool.algo.ts:317", + "teal": 1143, + "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1012 + 1011, + 1012, + 1013 ] }, { - "teal": 1146, + "teal": 1144, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ - 1013, 1014 ] }, { - "teal": 1147, + "teal": 1145, "source": "examples/reti/stakingPool.algo.ts:322", "pc": [ 1015, - 1016, - 1017 + 1016 ] }, { - "teal": 1148, - "source": "examples/reti/stakingPool.algo.ts:322", + "teal": 1149, + "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ + 1017, 1018 ] }, { - "teal": 1149, - "source": "examples/reti/stakingPool.algo.ts:322", + "teal": 1150, + "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1019, 1020 ] }, { - "teal": 1153, + "teal": 1151, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1021, @@ -4672,7 +4672,7 @@ ] }, { - "teal": 1154, + "teal": 1152, "source": "examples/reti/stakingPool.algo.ts:323", "pc": [ 1023, @@ -4680,64 +4680,64 @@ ] }, { - "teal": 1155, - "source": "examples/reti/stakingPool.algo.ts:323", + "teal": 1153, + "source": "examples/reti/stakingPool.algo.ts:308", "pc": [ 1025, - 1026 + 1026, + 1027 ] }, { - "teal": 1156, - "source": "examples/reti/stakingPool.algo.ts:323", + "teal": 1158, + "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1027, - 1028 + 1028, + 1029 ] }, { - "teal": 1157, - "source": "examples/reti/stakingPool.algo.ts:308", + "teal": 1159, + "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1029, 1030, - 1031 + 1031, + 1032 ] }, { - "teal": 1162, + "teal": 1160, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ - 1032, 1033 ] }, { - "teal": 1163, + "teal": 1161, "source": "examples/reti/stakingPool.algo.ts:328", "pc": [ 1034, - 1035, - 1036 + 1035 ] }, { - "teal": 1164, - "source": "examples/reti/stakingPool.algo.ts:328", + "teal": 1165, + "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ + 1036, 1037 ] }, { - "teal": 1165, - "source": "examples/reti/stakingPool.algo.ts:328", + "teal": 1166, + "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1038, 1039 ] }, { - "teal": 1169, + "teal": 1167, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1040, @@ -4745,7 +4745,7 @@ ] }, { - "teal": 1170, + "teal": 1168, "source": "examples/reti/stakingPool.algo.ts:329", "pc": [ 1042, @@ -4753,389 +4753,389 @@ ] }, { - "teal": 1171, - "source": "examples/reti/stakingPool.algo.ts:329", + "teal": 1178, + "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1044, 1045 ] }, { - "teal": 1172, - "source": "examples/reti/stakingPool.algo.ts:329", + "teal": 1179, + "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1046, - 1047 + 1047, + 1048 ] }, { - "teal": 1182, + "teal": 1180, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1048, 1049 ] }, { - "teal": 1183, + "teal": 1181, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1050, - 1051, - 1052 + 1050 ] }, { - "teal": 1184, + "teal": 1182, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1053 + 1051 ] }, { - "teal": 1185, + "teal": 1183, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1054 + 1052 ] }, { - "teal": 1186, + "teal": 1184, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ + 1053, + 1054, 1055 ] }, { - "teal": 1187, + "teal": 1185, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1056 + 1056, + 1057 ] }, { - "teal": 1188, + "teal": 1186, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1057, 1058, - 1059 + 1059, + 1060 ] }, { - "teal": 1189, + "teal": 1187, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1060, 1061 ] }, { - "teal": 1190, + "teal": 1188, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ 1062, - 1063, - 1064 - ] - }, - { - "teal": 1191, - "source": "examples/reti/stakingPool.algo.ts:335", - "pc": [ - 1065 + 1063 ] }, { - "teal": 1192, + "teal": 1189, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1066, - 1067 + 1064 ] }, { - "teal": 1193, + "teal": 1190, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1068 + 1065 ] }, { - "teal": 1194, + "teal": 1191, "source": "examples/reti/stakingPool.algo.ts:335", "pc": [ - 1069 + 1066 ] }, { "teal": 1195, - "source": "examples/reti/stakingPool.algo.ts:335", - "pc": [ - 1070 - ] - }, - { - "teal": 1199, "source": "examples/reti/stakingPool.algo.ts:334", "errorMessage": "cannot reduce balance below minimum allowed stake unless all is removed", "pc": [ - 1071 + 1067 ] }, { - "teal": 1207, + "teal": 1203, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1072 + 1068 ] }, { - "teal": 1208, + "teal": 1204, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1073 + 1069 ] }, { - "teal": 1209, + "teal": 1205, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1074, - 1075 + 1070, + 1071 ] }, { - "teal": 1213, + "teal": 1209, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ - 1076, - 1077 + 1072, + 1073 ] }, { - "teal": 1214, + "teal": 1210, "source": "examples/reti/stakingPool.algo.ts:343", "pc": [ - 1078, - 1079 + 1074, + 1075 ] }, { - "teal": 1218, + "teal": 1214, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ - 1080, - 1081 + 1076, + 1077 ] }, { - "teal": 1219, + "teal": 1215, "source": "examples/reti/stakingPool.algo.ts:344", "pc": [ - 1082, - 1083 + 1078, + 1079 ] }, { - "teal": 1223, + "teal": 1219, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ + 1080, + 1081, + 1082, + 1083, 1084, 1085, 1086, 1087, 1088, - 1089, - 1090, - 1091, - 1092, - 1093 + 1089 ] }, { - "teal": 1224, + "teal": 1220, "source": "examples/reti/stakingPool.algo.ts:345", "pc": [ - 1094, - 1095 + 1090, + 1091 ] }, { - "teal": 1227, + "teal": 1223, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1096 + 1092 ] }, { - "teal": 1228, + "teal": 1224, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1097, - 1098 + 1093, + 1094 ] }, { - "teal": 1231, + "teal": 1227, "source": "examples/reti/stakingPool.algo.ts:342", "pc": [ - 1099 + 1095 ] }, { - "teal": 1235, + "teal": 1231, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ - 1100 + 1096 ] }, { - "teal": 1236, + "teal": 1232, "source": "examples/reti/stakingPool.algo.ts:347", "pc": [ - 1101, - 1102 + 1097, + 1098 ] }, { - "teal": 1241, + "teal": 1237, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1103, - 1104 + 1099, + 1100 ] }, { - "teal": 1242, + "teal": 1238, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1105, - 1106, - 1107 + 1101, + 1102, + 1103 ] }, { - "teal": 1243, + "teal": 1239, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1108 + 1104 ] }, { - "teal": 1244, + "teal": 1240, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1109 + 1105 ] }, { - "teal": 1245, + "teal": 1241, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1110 + 1106 ] }, { - "teal": 1246, + "teal": 1242, "source": "examples/reti/stakingPool.algo.ts:348", "pc": [ - 1111, - 1112, - 1113 + 1107, + 1108, + 1109 ] }, { - "teal": 1251, + "teal": 1247, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1114, - 1115 + 1110, + 1111 ] }, { - "teal": 1252, + "teal": 1248, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1116 + 1112 ] }, { - "teal": 1253, + "teal": 1249, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1117 + 1113 ] }, { - "teal": 1254, + "teal": 1250, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1118 + 1114 ] }, { - "teal": 1255, + "teal": 1251, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1119, - 1120 + 1115, + 1116 ] }, { - "teal": 1256, + "teal": 1252, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1121 + 1117 ] }, { - "teal": 1257, + "teal": 1253, "source": "examples/reti/stakingPool.algo.ts:350", "pc": [ - 1122 + 1118 ] }, { - "teal": 1261, + "teal": 1257, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1123, - 1124 + 1119, + 1120 ] }, { - "teal": 1262, + "teal": 1258, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1125 + 1121 ] }, { - "teal": 1263, + "teal": 1259, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1126, - 1127 + 1122, + 1123 ] }, { - "teal": 1264, + "teal": 1260, "source": "examples/reti/stakingPool.algo.ts:351", "pc": [ - 1128 + 1124 ] }, { - "teal": 1265, + "teal": 1261, "source": "examples/reti/stakingPool.algo.ts:351", + "pc": [ + 1125, + 1126 + ] + }, + { + "teal": 1265, + "source": "examples/reti/stakingPool.algo.ts:352", + "pc": [ + 1127, + 1128 + ] + }, + { + "teal": 1266, + "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1129, 1130 ] }, { - "teal": 1269, + "teal": 1267, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1131, @@ -5143,7 +5143,7 @@ ] }, { - "teal": 1270, + "teal": 1268, "source": "examples/reti/stakingPool.algo.ts:352", "pc": [ 1133, @@ -5151,23 +5151,23 @@ ] }, { - "teal": 1271, - "source": "examples/reti/stakingPool.algo.ts:352", + "teal": 1272, + "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1135, 1136 ] }, { - "teal": 1272, - "source": "examples/reti/stakingPool.algo.ts:352", + "teal": 1273, + "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1137, 1138 ] }, { - "teal": 1276, + "teal": 1274, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1139, @@ -5175,7 +5175,7 @@ ] }, { - "teal": 1277, + "teal": 1275, "source": "examples/reti/stakingPool.algo.ts:353", "pc": [ 1141, @@ -5183,38 +5183,44 @@ ] }, { - "teal": 1278, - "source": "examples/reti/stakingPool.algo.ts:353", + "teal": 1279, + "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ - 1143, - 1144 + 1143 ] }, { - "teal": 1279, - "source": "examples/reti/stakingPool.algo.ts:353", + "teal": 1280, + "source": "examples/reti/stakingPool.algo.ts:354", "pc": [ - 1145, - 1146 + 1144, + 1145 ] }, { - "teal": 1283, - "source": "examples/reti/stakingPool.algo.ts:354", + "teal": 1285, + "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ + 1146, 1147 ] }, { - "teal": 1284, - "source": "examples/reti/stakingPool.algo.ts:354", + "teal": 1286, + "source": "examples/reti/stakingPool.algo.ts:357", + "pc": [ + 1148 + ] + }, + { + "teal": 1287, + "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1148, 1149 ] }, { - "teal": 1289, + "teal": 1288, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1150, @@ -5222,66 +5228,66 @@ ] }, { - "teal": 1290, + "teal": 1289, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ 1152 ] }, { - "teal": 1291, + "teal": 1290, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1153 + 1153, + 1154 ] }, { - "teal": 1292, + "teal": 1291, "source": "examples/reti/stakingPool.algo.ts:357", "pc": [ - 1154, 1155 ] }, { - "teal": 1293, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1295, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1156 + 1156, + 1157 ] }, { - "teal": 1294, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1296, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1157, 1158 ] }, { - "teal": 1295, - "source": "examples/reti/stakingPool.algo.ts:357", + "teal": 1297, + "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1159 + 1159, + 1160 ] }, { - "teal": 1299, + "teal": 1298, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1160, 1161 ] }, { - "teal": 1300, + "teal": 1299, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1162 ] }, { - "teal": 1301, + "teal": 1300, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1163, @@ -5289,95 +5295,96 @@ ] }, { - "teal": 1302, + "teal": 1301, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ 1165 ] }, { - "teal": 1303, + "teal": 1302, "source": "examples/reti/stakingPool.algo.ts:359", "pc": [ - 1166 + 1166, + 1167 ] }, { - "teal": 1304, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1306, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1167, - 1168 + 1168, + 1169 ] }, { - "teal": 1305, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1307, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1169 + 1170 ] }, { - "teal": 1306, - "source": "examples/reti/stakingPool.algo.ts:359", + "teal": 1308, + "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1170, - 1171 + 1171, + 1172 ] }, { - "teal": 1310, + "teal": 1309, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1172, 1173 ] }, { - "teal": 1311, + "teal": 1310, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1174 ] }, { - "teal": 1312, + "teal": 1311, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1175, - 1176 + 1175 ] }, { - "teal": 1313, + "teal": 1312, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1177 + 1176 ] }, { - "teal": 1314, + "teal": 1313, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1177, 1178 ] }, { - "teal": 1315, + "teal": 1314, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1179 ] }, { - "teal": 1316, + "teal": 1317, "source": "examples/reti/stakingPool.algo.ts:360", + "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 1180 ] }, { - "teal": 1317, + "teal": 1318, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1181, @@ -5385,95 +5392,94 @@ ] }, { - "teal": 1318, + "teal": 1319, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1183 ] }, { - "teal": 1321, + "teal": 1320, "source": "examples/reti/stakingPool.algo.ts:360", - "errorMessage": "(amountToUnstake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 1184 ] }, { - "teal": 1322, + "teal": 1321, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1185, - 1186 + 1185 ] }, { - "teal": 1323, + "teal": 1322, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1187 + 1186 ] }, { - "teal": 1324, + "teal": 1323, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1187, 1188 ] }, { - "teal": 1325, + "teal": 1324, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1189 ] }, { - "teal": 1326, + "teal": 1325, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ 1190 ] }, { - "teal": 1327, + "teal": 1326, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ - 1191, - 1192 + 1191 ] }, { - "teal": 1328, + "teal": 1327, "source": "examples/reti/stakingPool.algo.ts:360", "pc": [ + 1192, 1193 ] }, { - "teal": 1329, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1331, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1194 + 1194, + 1195 ] }, { - "teal": 1330, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1332, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1195 + 1196 ] }, { - "teal": 1331, - "source": "examples/reti/stakingPool.algo.ts:360", + "teal": 1333, + "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1196, 1197 ] }, { - "teal": 1335, + "teal": 1334, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1198, @@ -5481,50 +5487,51 @@ ] }, { - "teal": 1336, + "teal": 1335, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1200 ] }, { - "teal": 1337, + "teal": 1336, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1201 ] }, { - "teal": 1338, + "teal": 1337, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1202, - 1203 + 1202 ] }, { - "teal": 1339, + "teal": 1338, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ + 1203, 1204 ] }, { - "teal": 1340, + "teal": 1339, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1205 ] }, { - "teal": 1341, + "teal": 1342, "source": "examples/reti/stakingPool.algo.ts:361", + "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits", "pc": [ 1206 ] }, { - "teal": 1342, + "teal": 1343, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1207, @@ -5532,25 +5539,30 @@ ] }, { - "teal": 1343, + "teal": 1344, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ 1209 ] }, { - "teal": 1346, + "teal": 1345, "source": "examples/reti/stakingPool.algo.ts:361", - "errorMessage": "this.stakeAccumulator.value - subtractAmount overflowed 128 bits", "pc": [ 1210 ] }, + { + "teal": 1346, + "source": "examples/reti/stakingPool.algo.ts:361", + "pc": [ + 1211 + ] + }, { "teal": 1347, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1211, 1212 ] }, @@ -5558,346 +5570,340 @@ "teal": 1348, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1213 + 1213, + 1214 ] }, { "teal": 1349, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1214 + 1215 ] }, { "teal": 1350, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1215 + 1216 ] }, { "teal": 1351, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1216 + 1217 ] }, { "teal": 1352, "source": "examples/reti/stakingPool.algo.ts:361", "pc": [ - 1217, 1218 ] }, { - "teal": 1353, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1365, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1219 ] }, { - "teal": 1354, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1366, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ 1220 ] }, { - "teal": 1355, - "source": "examples/reti/stakingPool.algo.ts:361", - "pc": [ - 1221 - ] - }, - { - "teal": 1356, - "source": "examples/reti/stakingPool.algo.ts:361", + "teal": 1367, + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ + 1221, 1222 ] }, { - "teal": 1369, + "teal": 1368, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1223 + 1223, + 1224 ] }, { - "teal": 1370, + "teal": 1369, "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1224 + 1225, + 1226 ] }, { - "teal": 1371, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1373, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ - 1225, - 1226 + 1227 ] }, { - "teal": 1372, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1374, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ - 1227, 1228 ] }, { - "teal": 1373, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1375, + "source": "examples/reti/stakingPool.algo.ts:367", "pc": [ 1229, 1230 ] }, { - "teal": 1377, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1385, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1231 ] }, { - "teal": 1378, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1386, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1232 ] }, { - "teal": 1379, - "source": "examples/reti/stakingPool.algo.ts:367", + "teal": 1387, + "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1233, - 1234 + 1233 ] }, { - "teal": 1389, + "teal": 1388, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ + 1234, 1235 ] }, { - "teal": 1390, + "teal": 1389, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1236 ] }, { - "teal": 1391, + "teal": 1390, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1237 ] }, { - "teal": 1392, - "source": "examples/reti/stakingPool.algo.ts:369", - "pc": [ - 1238, - 1239 - ] - }, - { - "teal": 1393, + "teal": 1391, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1240 + 1238 ] }, { - "teal": 1394, + "teal": 1392, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ + 1239, + 1240, 1241 ] }, { - "teal": 1395, + "teal": 1393, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ 1242 ] }, { - "teal": 1396, + "teal": 1394, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1243, - 1244, - 1245 + 1243 ] }, { - "teal": 1397, + "teal": 1395, "source": "examples/reti/stakingPool.algo.ts:369", "pc": [ - 1246 + 1244, + 1245 ] }, { - "teal": 1398, - "source": "examples/reti/stakingPool.algo.ts:369", + "teal": 1396, + "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ + 1246, 1247 ] }, { - "teal": 1399, - "source": "examples/reti/stakingPool.algo.ts:369", + "teal": 1397, + "source": "examples/reti/stakingPool.algo.ts:370", "pc": [ 1248, 1249 ] }, { - "teal": 1400, - "source": "examples/reti/stakingPool.algo.ts:370", + "teal": 1398, + "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ 1250, 1251 ] }, { - "teal": 1401, - "source": "examples/reti/stakingPool.algo.ts:370", + "teal": 1399, + "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ - 1252, - 1253 + 1252 ] }, { - "teal": 1402, + "teal": 1400, "source": "examples/reti/stakingPool.algo.ts:371", "pc": [ - 1254, - 1255 + 1253, + 1254 ] }, { - "teal": 1403, - "source": "examples/reti/stakingPool.algo.ts:371", + "teal": 1401, + "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ + 1255, 1256 ] }, { - "teal": 1404, - "source": "examples/reti/stakingPool.algo.ts:371", + "teal": 1402, + "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ - 1257, - 1258 + 1257 ] }, { - "teal": 1405, + "teal": 1403, "source": "examples/reti/stakingPool.algo.ts:372", "pc": [ - 1259, - 1260 + 1258, + 1259 ] }, { - "teal": 1406, - "source": "examples/reti/stakingPool.algo.ts:372", + "teal": 1404, + "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ + 1260, 1261 ] }, { - "teal": 1407, - "source": "examples/reti/stakingPool.algo.ts:372", + "teal": 1405, + "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ 1262, 1263 ] }, { - "teal": 1408, + "teal": 1406, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1264, - 1265 + 1264 ] }, { - "teal": 1409, + "teal": 1407, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1266, - 1267 + 1265, + 1266 ] }, { - "teal": 1410, + "teal": 1408, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1268 + 1267 ] }, { - "teal": 1411, + "teal": 1409, "source": "examples/reti/stakingPool.algo.ts:373", "pc": [ - 1269, - 1270 + 1268, + 1269 ] }, { "teal": 1412, - "source": "examples/reti/stakingPool.algo.ts:373", + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1271 + 1270 ] }, { "teal": 1413, - "source": "examples/reti/stakingPool.algo.ts:373", + "source": "examples/reti/stakingPool.algo.ts:366", "pc": [ - 1272, - 1273 + 1271, + 1272 ] }, { "teal": 1416, "source": "examples/reti/stakingPool.algo.ts:366", + "pc": [ + 1273 + ] + }, + { + "teal": 1420, + "source": "examples/reti/stakingPool.algo.ts:376", "pc": [ 1274 ] }, { - "teal": 1417, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1427, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1275, 1276 ] }, { - "teal": 1420, - "source": "examples/reti/stakingPool.algo.ts:366", + "teal": 1428, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1277 ] }, { - "teal": 1424, - "source": "examples/reti/stakingPool.algo.ts:376", + "teal": 1429, + "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1278 ] }, { - "teal": 1431, + "teal": 1430, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ 1279, @@ -5905,69 +5911,63 @@ ] }, { - "teal": 1432, - "source": "examples/reti/stakingPool.algo.ts:289", - "pc": [ - 1281 - ] - }, - { - "teal": 1433, + "teal": 1431, "source": "examples/reti/stakingPool.algo.ts:289", "pc": [ - 1282 + 1281, + 1282, + 1283 ] }, { - "teal": 1434, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 1435, + "source": "examples/reti/stakingPool.algo.ts:379", + "errorMessage": "account not found", "pc": [ - 1283, 1284 ] }, { - "teal": 1435, - "source": "examples/reti/stakingPool.algo.ts:289", + "teal": 1436, + "source": "examples/reti/stakingPool.algo.ts:277", "pc": [ - 1285, - 1286, - 1287 + 1285 ] }, { - "teal": 1439, - "source": "examples/reti/stakingPool.algo.ts:379", - "errorMessage": "account not found", + "teal": 1441, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ + 1286, + 1287, 1288 ] }, { - "teal": 1440, - "source": "examples/reti/stakingPool.algo.ts:277", + "teal": 1442, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1289 ] }, { - "teal": 1445, + "teal": 1443, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ - 1290, - 1291, - 1292 + 1290 ] }, { - "teal": 1446, + "teal": 1451, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ + 1291, + 1292, 1293 ] }, { - "teal": 1447, + "teal": 1454, "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1294 @@ -5978,50 +5978,50 @@ "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ 1295, - 1296, - 1297 + 1296 ] }, { - "teal": 1458, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1459, + "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ + 1297, 1298 ] }, { - "teal": 1459, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1460, + "source": "examples/reti/stakingPool.algo.ts:391", "pc": [ 1299, 1300 ] }, { - "teal": 1463, - "source": "examples/reti/stakingPool.algo.ts:391", + "teal": 1464, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1301, - 1302 + 1301 ] }, { - "teal": 1464, - "source": "examples/reti/stakingPool.algo.ts:391", + "teal": 1465, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1303, - 1304 + 1302, + 1303 ] }, { - "teal": 1468, + "teal": 1470, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ + 1304, 1305 ] }, { - "teal": 1469, + "teal": 1471, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1306, @@ -6029,123 +6029,123 @@ ] }, { - "teal": 1474, + "teal": 1472, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1308, - 1309 + 1308 ] }, { - "teal": 1475, + "teal": 1473, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ + 1309, 1310, 1311 ] }, { - "teal": 1476, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1478, + "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1312 + 1312, + 1313 ] }, { - "teal": 1477, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1479, + "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1313, 1314, 1315 ] }, { - "teal": 1482, + "teal": 1480, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ - 1316, - 1317 + 1316 ] }, { - "teal": 1483, + "teal": 1481, "source": "examples/reti/stakingPool.algo.ts:394", "pc": [ + 1317, 1318, 1319 ] }, { - "teal": 1484, - "source": "examples/reti/stakingPool.algo.ts:394", + "teal": 1486, + "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1320 ] }, { - "teal": 1485, - "source": "examples/reti/stakingPool.algo.ts:394", + "teal": 1487, + "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1321, - 1322, - 1323 + 1321 ] }, { - "teal": 1490, + "teal": 1488, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1324 + 1322, + 1323 ] }, { - "teal": 1491, + "teal": 1489, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1325 + 1324 ] }, { - "teal": 1492, + "teal": 1490, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1326, - 1327 + 1325, + 1326 ] }, { - "teal": 1493, + "teal": 1491, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ + 1327, 1328 ] }, { - "teal": 1494, + "teal": 1492, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1329, - 1330 + 1329 ] }, { - "teal": 1495, + "teal": 1493, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1331, - 1332 + 1330, + 1331 ] }, { - "teal": 1496, + "teal": 1494, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ + 1332, 1333 ] }, { - "teal": 1497, + "teal": 1495, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1334, @@ -6153,7 +6153,7 @@ ] }, { - "teal": 1498, + "teal": 1496, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ 1336, @@ -6161,251 +6161,251 @@ ] }, { - "teal": 1499, + "teal": 1497, "source": "examples/reti/stakingPool.algo.ts:395", "pc": [ - 1338, - 1339 + 1338 ] }, { - "teal": 1500, - "source": "examples/reti/stakingPool.algo.ts:395", + "teal": 1502, + "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1340, - 1341 + 1339, + 1340 ] }, { - "teal": 1501, - "source": "examples/reti/stakingPool.algo.ts:395", + "teal": 1503, + "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1342 + 1341 ] }, { - "teal": 1506, + "teal": 1504, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1343, - 1344 + 1342 ] }, { - "teal": 1507, + "teal": 1505, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1345 + 1343 ] }, { - "teal": 1508, + "teal": 1506, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1346 + 1344 ] }, { - "teal": 1509, + "teal": 1507, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1347 + 1345, + 1346 ] }, { - "teal": 1510, + "teal": 1508, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1348 + 1347 ] }, { - "teal": 1511, + "teal": 1509, "source": "examples/reti/stakingPool.algo.ts:397", "pc": [ - 1349, - 1350 + 1348, + 1349 ] }, { - "teal": 1512, - "source": "examples/reti/stakingPool.algo.ts:397", + "teal": 1514, + "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ + 1350, 1351 ] }, { - "teal": 1513, - "source": "examples/reti/stakingPool.algo.ts:397", + "teal": 1515, + "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ 1352, - 1353 + 1353, + 1354 ] }, { - "teal": 1518, + "teal": 1516, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ - 1354, - 1355 + 1355, + 1356 ] }, { - "teal": 1519, + "teal": 1517, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ - 1356, - 1357, - 1358 + 1357 ] }, { - "teal": 1520, + "teal": 1518, "source": "examples/reti/stakingPool.algo.ts:398", "pc": [ + 1358, 1359, 1360 ] }, { - "teal": 1521, - "source": "examples/reti/stakingPool.algo.ts:398", + "teal": 1524, + "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1361 + 1361, + 1362 ] }, { - "teal": 1522, - "source": "examples/reti/stakingPool.algo.ts:398", + "teal": 1525, + "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1362, 1363, - 1364 + 1364, + 1365 ] }, { - "teal": 1528, + "teal": 1526, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1365, 1366 ] }, { - "teal": 1529, + "teal": 1527, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1367, - 1368, - 1369 + 1367 ] }, { - "teal": 1530, + "teal": 1528, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ - 1370 + 1368 ] }, { - "teal": 1531, + "teal": 1529, "source": "examples/reti/stakingPool.algo.ts:399", "pc": [ + 1369, + 1370, 1371 ] }, { - "teal": 1532, - "source": "examples/reti/stakingPool.algo.ts:399", + "teal": 1534, + "source": "examples/reti/stakingPool.algo.ts:400", "pc": [ 1372 ] }, { - "teal": 1533, - "source": "examples/reti/stakingPool.algo.ts:399", + "teal": 1539, + "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ - 1373, - 1374, - 1375 + 1373 ] }, { - "teal": 1538, - "source": "examples/reti/stakingPool.algo.ts:400", + "teal": 1540, + "source": "examples/reti/stakingPool.algo.ts:402", "pc": [ - 1376 + 1374, + 1375 ] }, { - "teal": 1543, - "source": "examples/reti/stakingPool.algo.ts:402", + "teal": 1545, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ + 1376, 1377 ] }, { - "teal": 1544, - "source": "examples/reti/stakingPool.algo.ts:402", + "teal": 1546, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1378, - 1379 + 1378 ] }, { - "teal": 1549, + "teal": 1547, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1380, - 1381 + 1379 ] }, { - "teal": 1550, + "teal": 1548, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ - 1382 + 1380 ] }, { - "teal": 1551, + "teal": 1549, "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ + 1381, + 1382, 1383 ] }, { - "teal": 1552, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1557, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1384 ] }, { - "teal": 1553, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1558, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1385, - 1386, - 1387 + 1385 ] }, { - "teal": 1561, + "teal": 1559, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1388 + 1386, + 1387 ] }, { - "teal": 1562, + "teal": 1560, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ + 1388, 1389 ] }, { - "teal": 1563, + "teal": 1561, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1390, @@ -6413,96 +6413,102 @@ ] }, { - "teal": 1564, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1565, + "source": "examples/reti/stakingPool.algo.ts:406", + "pc": [ + 1392 + ] + }, + { + "teal": 1566, + "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ - 1392, 1393 ] }, { - "teal": 1565, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1567, + "source": "examples/reti/stakingPool.algo.ts:406", "pc": [ 1394, 1395 ] }, { - "teal": 1569, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1571, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1396 ] }, { - "teal": 1570, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1572, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ 1397 ] }, { - "teal": 1571, - "source": "examples/reti/stakingPool.algo.ts:406", + "teal": 1573, + "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ - 1398, - 1399 + 1398 ] }, { - "teal": 1575, + "teal": 1574, "source": "examples/reti/stakingPool.algo.ts:407", "pc": [ + 1399, 1400 ] }, { - "teal": 1576, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1577, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1401 ] }, { - "teal": 1577, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1578, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1402 + 1402, + 1403 ] }, { - "teal": 1578, - "source": "examples/reti/stakingPool.algo.ts:407", + "teal": 1581, + "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1403, 1404 ] }, { - "teal": 1581, + "teal": 1582, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1405 + 1405, + 1406 ] }, { - "teal": 1582, + "teal": 1583, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1406, 1407 ] }, { - "teal": 1585, + "teal": 1584, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1408 ] }, { - "teal": 1586, + "teal": 1585, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ 1409, @@ -6510,203 +6516,197 @@ ] }, { - "teal": 1587, - "source": "examples/reti/stakingPool.algo.ts:405", - "pc": [ - 1411 - ] - }, - { - "teal": 1588, + "teal": 1586, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1412 + 1411, + 1412, + 1413 ] }, { - "teal": 1589, + "teal": 1587, "source": "examples/reti/stakingPool.algo.ts:405", "pc": [ - 1413, - 1414 + 1414, + 1415 ] }, { - "teal": 1590, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1595, + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1415, - 1416, - 1417 + 1416 ] }, { - "teal": 1591, - "source": "examples/reti/stakingPool.algo.ts:405", + "teal": 1596, + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1418, - 1419 + 1417, + 1418 ] }, { - "teal": 1599, + "teal": 1597, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ + 1419, 1420 ] }, { - "teal": 1600, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1601, + "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1421, 1422 ] }, { - "teal": 1601, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1602, + "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1423, - 1424 + 1424, + 1425 ] }, { - "teal": 1605, + "teal": 1603, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ - 1425, 1426 ] }, { - "teal": 1606, + "teal": 1604, "source": "examples/reti/stakingPool.algo.ts:413", "pc": [ 1427, - 1428, - 1429 + 1428 ] }, { - "teal": 1607, - "source": "examples/reti/stakingPool.algo.ts:413", + "teal": 1608, + "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ + 1429, 1430 ] }, { - "teal": 1608, - "source": "examples/reti/stakingPool.algo.ts:413", + "teal": 1609, + "source": "examples/reti/stakingPool.algo.ts:414", "pc": [ 1431, 1432 ] }, { - "teal": 1612, - "source": "examples/reti/stakingPool.algo.ts:414", + "teal": 1613, + "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1433, 1434 ] }, { - "teal": 1613, - "source": "examples/reti/stakingPool.algo.ts:414", + "teal": 1614, + "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1435, - 1436 + 1436, + 1437 ] }, { - "teal": 1617, + "teal": 1615, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ - 1437, 1438 ] }, { - "teal": 1618, + "teal": 1616, "source": "examples/reti/stakingPool.algo.ts:415", "pc": [ 1439, - 1440, - 1441 + 1440 ] }, { "teal": 1619, - "source": "examples/reti/stakingPool.algo.ts:415", + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1442 + 1441 ] }, { "teal": 1620, - "source": "examples/reti/stakingPool.algo.ts:415", + "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1443, - 1444 + 1442, + 1443 ] }, { "teal": 1623, "source": "examples/reti/stakingPool.algo.ts:412", "pc": [ - 1445 + 1444 ] }, { - "teal": 1624, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1627, + "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1446, - 1447 + 1445, + 1446 ] }, { - "teal": 1627, - "source": "examples/reti/stakingPool.algo.ts:412", + "teal": 1628, + "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1448 + 1447, + 1448, + 1449 ] }, { - "teal": 1631, + "teal": 1629, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ - 1449, 1450 ] }, { - "teal": 1632, + "teal": 1630, "source": "examples/reti/stakingPool.algo.ts:417", "pc": [ 1451, - 1452, - 1453 + 1452 ] }, { - "teal": 1633, - "source": "examples/reti/stakingPool.algo.ts:417", + "teal": 1634, + "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ + 1453, 1454 ] }, { - "teal": 1634, - "source": "examples/reti/stakingPool.algo.ts:417", + "teal": 1635, + "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1455, 1456 ] }, { - "teal": 1638, + "teal": 1636, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1457, @@ -6714,7 +6714,7 @@ ] }, { - "teal": 1639, + "teal": 1637, "source": "examples/reti/stakingPool.algo.ts:418", "pc": [ 1459, @@ -6722,64 +6722,64 @@ ] }, { - "teal": 1640, - "source": "examples/reti/stakingPool.algo.ts:418", + "teal": 1638, + "source": "examples/reti/stakingPool.algo.ts:404", "pc": [ 1461, - 1462 + 1462, + 1463 ] }, { - "teal": 1641, - "source": "examples/reti/stakingPool.algo.ts:418", + "teal": 1643, + "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1463, - 1464 + 1464, + 1465 ] }, { - "teal": 1642, - "source": "examples/reti/stakingPool.algo.ts:404", + "teal": 1644, + "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1465, 1466, - 1467 + 1467, + 1468 ] }, { - "teal": 1647, + "teal": 1645, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ - 1468, 1469 ] }, { - "teal": 1648, + "teal": 1646, "source": "examples/reti/stakingPool.algo.ts:423", "pc": [ 1470, - 1471, - 1472 + 1471 ] }, { - "teal": 1649, - "source": "examples/reti/stakingPool.algo.ts:423", + "teal": 1650, + "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ + 1472, 1473 ] }, { - "teal": 1650, - "source": "examples/reti/stakingPool.algo.ts:423", + "teal": 1651, + "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1474, 1475 ] }, { - "teal": 1654, + "teal": 1652, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1476, @@ -6787,7 +6787,7 @@ ] }, { - "teal": 1655, + "teal": 1653, "source": "examples/reti/stakingPool.algo.ts:424", "pc": [ 1478, @@ -6795,23 +6795,29 @@ ] }, { - "teal": 1656, - "source": "examples/reti/stakingPool.algo.ts:424", + "teal": 1658, + "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1480, 1481 ] }, { - "teal": 1657, - "source": "examples/reti/stakingPool.algo.ts:424", + "teal": 1659, + "source": "examples/reti/stakingPool.algo.ts:428", + "pc": [ + 1482 + ] + }, + { + "teal": 1660, + "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1482, 1483 ] }, { - "teal": 1662, + "teal": 1661, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1484, @@ -6819,321 +6825,321 @@ ] }, { - "teal": 1663, + "teal": 1662, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ 1486 ] }, { - "teal": 1664, + "teal": 1663, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1487 + 1487, + 1488 ] }, { - "teal": 1665, + "teal": 1664, "source": "examples/reti/stakingPool.algo.ts:428", "pc": [ - 1488, 1489 ] }, { - "teal": 1666, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1677, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ 1490 ] }, { - "teal": 1667, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1678, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1491, - 1492 + 1491 ] }, { - "teal": 1668, - "source": "examples/reti/stakingPool.algo.ts:428", + "teal": 1679, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ + 1492, 1493 ] }, { - "teal": 1681, + "teal": 1680, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1494 + 1494, + 1495 ] }, { - "teal": 1682, + "teal": 1681, "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1495 + 1496, + 1497 ] }, { - "teal": 1683, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1685, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ - 1496, - 1497 + 1498 ] }, { - "teal": 1684, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1686, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ - 1498, 1499 ] }, { - "teal": 1685, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1687, + "source": "examples/reti/stakingPool.algo.ts:434", "pc": [ 1500, 1501 ] }, { - "teal": 1689, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1697, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1502 ] }, { - "teal": 1690, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1698, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1503 ] }, { - "teal": 1691, - "source": "examples/reti/stakingPool.algo.ts:434", + "teal": 1699, + "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1504, - 1505 + 1504 ] }, { - "teal": 1701, + "teal": 1700, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ + 1505, 1506 ] }, { - "teal": 1702, + "teal": 1701, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1507 ] }, { - "teal": 1703, + "teal": 1702, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ 1508 ] }, + { + "teal": 1703, + "source": "examples/reti/stakingPool.algo.ts:436", + "pc": [ + 1509 + ] + }, { "teal": 1704, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1509, - 1510 + 1510, + 1511, + 1512 ] }, { "teal": 1705, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1511 + 1513 ] }, { "teal": 1706, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1512 + 1514 ] }, { "teal": 1707, "source": "examples/reti/stakingPool.algo.ts:436", "pc": [ - 1513 + 1515, + 1516 ] }, { "teal": 1708, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ - 1514, - 1515, - 1516 + 1517, + 1518 ] }, { "teal": 1709, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:437", "pc": [ - 1517 + 1519, + 1520 ] }, { "teal": 1710, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ - 1518 + 1521, + 1522 ] }, { "teal": 1711, - "source": "examples/reti/stakingPool.algo.ts:436", + "source": "examples/reti/stakingPool.algo.ts:438", "pc": [ - 1519, - 1520 + 1523, + 1524 ] }, { "teal": 1712, - "source": "examples/reti/stakingPool.algo.ts:437", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1521, - 1522 + 1525, + 1526 ] }, { "teal": 1713, - "source": "examples/reti/stakingPool.algo.ts:437", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1523, - 1524 + 1527 ] }, { "teal": 1714, - "source": "examples/reti/stakingPool.algo.ts:438", + "source": "examples/reti/stakingPool.algo.ts:439", "pc": [ - 1525, - 1526 + 1528, + 1529 ] }, { "teal": 1715, - "source": "examples/reti/stakingPool.algo.ts:438", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1527, - 1528 + 1530 ] }, { "teal": 1716, - "source": "examples/reti/stakingPool.algo.ts:439", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1529, - 1530 + 1531, + 1532 ] }, { "teal": 1717, - "source": "examples/reti/stakingPool.algo.ts:439", - "pc": [ - 1531 - ] - }, - { - "teal": 1718, - "source": "examples/reti/stakingPool.algo.ts:439", + "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1532, 1533 ] }, { - "teal": 1719, + "teal": 1718, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1534 + 1534, + 1535 ] }, { - "teal": 1720, + "teal": 1719, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1535, 1536 ] }, { - "teal": 1721, + "teal": 1720, "source": "examples/reti/stakingPool.algo.ts:440", "pc": [ - 1537 + 1537, + 1538 ] }, { - "teal": 1722, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1723, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1538, 1539 ] }, { - "teal": 1723, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1724, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1540 + 1540, + 1541 ] }, { - "teal": 1724, - "source": "examples/reti/stakingPool.algo.ts:440", + "teal": 1727, + "source": "examples/reti/stakingPool.algo.ts:433", "pc": [ - 1541, 1542 ] }, { - "teal": 1727, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1731, + "source": "examples/reti/stakingPool.algo.ts:443", "pc": [ 1543 ] }, { - "teal": 1728, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1738, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1544, 1545 ] }, { - "teal": 1731, - "source": "examples/reti/stakingPool.algo.ts:433", + "teal": 1739, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1546 ] }, { - "teal": 1735, - "source": "examples/reti/stakingPool.algo.ts:443", + "teal": 1740, + "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1547 ] }, { - "teal": 1742, + "teal": 1741, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ 1548, @@ -7141,167 +7147,161 @@ ] }, { - "teal": 1743, + "teal": 1742, "source": "examples/reti/stakingPool.algo.ts:393", "pc": [ - 1550 + 1550, + 1551, + 1552 ] }, { - "teal": 1744, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1746, + "source": "examples/reti/stakingPool.algo.ts:446", + "errorMessage": "account not found", "pc": [ - 1551 + 1553 ] }, { - "teal": 1745, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1747, + "source": "examples/reti/stakingPool.algo.ts:387", "pc": [ - 1552, - 1553 + 1554 ] }, { - "teal": 1746, - "source": "examples/reti/stakingPool.algo.ts:393", + "teal": 1752, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1554, 1555, 1556 ] }, { - "teal": 1750, - "source": "examples/reti/stakingPool.algo.ts:446", - "errorMessage": "account not found", + "teal": 1755, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1557 + 1557, + 1558, + 1559 ] }, { - "teal": 1751, - "source": "examples/reti/stakingPool.algo.ts:387", + "teal": 1756, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1558 + 1560 ] }, { - "teal": 1756, + "teal": 1757, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1559, - 1560 + 1561 ] }, { - "teal": 1759, + "teal": 1758, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1561, 1562, 1563 ] }, { - "teal": 1760, + "teal": 1759, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1564 ] }, { - "teal": 1761, + "teal": 1762, "source": "examples/reti/stakingPool.algo.ts:457", + "errorMessage": "argument 0 (staker) for getStakerInfo must be a address", "pc": [ 1565 ] }, { - "teal": 1762, + "teal": 1765, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1566, - 1567 - ] - }, - { - "teal": 1763, - "source": "examples/reti/stakingPool.algo.ts:457", - "pc": [ + 1567, 1568 ] }, { "teal": 1766, "source": "examples/reti/stakingPool.algo.ts:457", - "errorMessage": "argument 0 (staker) for getStakerInfo must be a address", "pc": [ 1569 ] }, { - "teal": 1769, + "teal": 1767, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1570, - 1571, - 1572 + 1570 ] }, { - "teal": 1770, + "teal": 1768, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1573 + 1571 ] }, { - "teal": 1771, + "teal": 1769, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1574 + 1572 ] }, { - "teal": 1772, + "teal": 1779, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ + 1573, + 1574, 1575 ] }, { - "teal": 1773, + "teal": 1782, "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1576 ] }, { - "teal": 1783, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1786, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1577, - 1578, - 1579 + 1577 ] }, { - "teal": 1786, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1787, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1580 + 1578, + 1579 ] }, { - "teal": 1790, + "teal": 1792, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ + 1580, 1581 ] }, { - "teal": 1791, + "teal": 1793, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ 1582, @@ -7309,123 +7309,123 @@ ] }, { - "teal": 1796, + "teal": 1794, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1584, - 1585 + 1584 ] }, { - "teal": 1797, + "teal": 1795, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ + 1585, 1586, 1587 ] }, { - "teal": 1798, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1800, + "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1588 + 1588, + 1589 ] }, { - "teal": 1799, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1801, + "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1589, 1590, 1591 ] }, { - "teal": 1804, + "teal": 1802, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ - 1592, - 1593 + 1592 ] }, { - "teal": 1805, + "teal": 1803, "source": "examples/reti/stakingPool.algo.ts:459", "pc": [ + 1593, 1594, 1595 ] }, { - "teal": 1806, - "source": "examples/reti/stakingPool.algo.ts:459", + "teal": 1808, + "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1596 ] }, { - "teal": 1807, - "source": "examples/reti/stakingPool.algo.ts:459", + "teal": 1809, + "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1597, - 1598, - 1599 + 1597 ] }, { - "teal": 1812, + "teal": 1810, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1600 + 1598, + 1599 ] }, { - "teal": 1813, + "teal": 1811, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1601 + 1600 ] }, { - "teal": 1814, + "teal": 1812, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1602, - 1603 + 1601, + 1602 ] }, { - "teal": 1815, + "teal": 1813, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ + 1603, 1604 ] }, { - "teal": 1816, + "teal": 1814, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1605, - 1606 + 1605 ] }, { - "teal": 1817, + "teal": 1815, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1607, - 1608 + 1606, + 1607 ] }, { - "teal": 1818, + "teal": 1816, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ + 1608, 1609 ] }, { - "teal": 1819, + "teal": 1817, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1610, @@ -7433,7 +7433,7 @@ ] }, { - "teal": 1820, + "teal": 1818, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ 1612, @@ -7441,33 +7441,45 @@ ] }, { - "teal": 1821, + "teal": 1819, "source": "examples/reti/stakingPool.algo.ts:460", "pc": [ - 1614, - 1615 + 1614 ] }, { - "teal": 1822, - "source": "examples/reti/stakingPool.algo.ts:460", + "teal": 1825, + "source": "examples/reti/stakingPool.algo.ts:462", + "pc": [ + 1615, + 1616 + ] + }, + { + "teal": 1826, + "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1616, 1617 ] }, { - "teal": 1823, - "source": "examples/reti/stakingPool.algo.ts:460", + "teal": 1827, + "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ 1618 ] }, + { + "teal": 1828, + "source": "examples/reti/stakingPool.algo.ts:462", + "pc": [ + 1619 + ] + }, { "teal": 1829, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1619, 1620 ] }, @@ -7475,89 +7487,89 @@ "teal": 1830, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1621 + 1621, + 1622 ] }, { "teal": 1831, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1622 + 1623 ] }, { "teal": 1832, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1623 + 1624, + 1625 ] }, { "teal": 1833, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1624 + 1626 ] }, { "teal": 1834, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1625, - 1626 + 1627, + 1628 ] }, { "teal": 1835, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1627 + 1629 ] }, { "teal": 1836, "source": "examples/reti/stakingPool.algo.ts:462", "pc": [ - 1628, - 1629 + 1630, + 1631, + 1632 ] }, { - "teal": 1837, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1841, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1630 + 1633, + 1634 ] }, { - "teal": 1838, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1842, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1631, - 1632 + 1635 ] }, { - "teal": 1839, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1843, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1633 + 1636 ] }, { - "teal": 1840, - "source": "examples/reti/stakingPool.algo.ts:462", + "teal": 1844, + "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1634, - 1635, - 1636 + 1637 ] }, { "teal": 1845, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1637, 1638 ] }, @@ -7565,112 +7577,100 @@ "teal": 1846, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ - 1639 - ] - }, - { - "teal": 1847, - "source": "examples/reti/stakingPool.algo.ts:463", - "pc": [ + 1639, 1640 ] }, { - "teal": 1848, + "teal": 1847, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ 1641 ] }, { - "teal": 1849, - "source": "examples/reti/stakingPool.algo.ts:463", - "pc": [ - 1642 - ] - }, - { - "teal": 1850, + "teal": 1848, "source": "examples/reti/stakingPool.algo.ts:463", "pc": [ + 1642, 1643, 1644 ] }, { - "teal": 1851, - "source": "examples/reti/stakingPool.algo.ts:463", + "teal": 1855, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1645 + 1645, + 1646 ] }, { - "teal": 1852, - "source": "examples/reti/stakingPool.algo.ts:463", + "teal": 1856, + "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1646, - 1647, - 1648 + 1647 ] }, { - "teal": 1859, + "teal": 1857, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1649, - 1650 + 1648 ] }, { - "teal": 1860, + "teal": 1858, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1651 + 1649, + 1650 ] }, { - "teal": 1861, + "teal": 1859, "source": "examples/reti/stakingPool.algo.ts:458", "pc": [ - 1652 + 1651, + 1652, + 1653 ] }, { - "teal": 1862, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1863, + "source": "examples/reti/stakingPool.algo.ts:466", + "errorMessage": "account not found", "pc": [ - 1653, 1654 ] }, { - "teal": 1863, - "source": "examples/reti/stakingPool.algo.ts:458", + "teal": 1867, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ 1655, - 1656, - 1657 + 1656 ] }, { - "teal": 1867, - "source": "examples/reti/stakingPool.algo.ts:466", - "errorMessage": "account not found", + "teal": 1868, + "source": "examples/reti/stakingPool.algo.ts:457", "pc": [ - 1658 + 1657 ] }, { - "teal": 1871, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1873, + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1658, 1659, 1660 ] }, { - "teal": 1872, - "source": "examples/reti/stakingPool.algo.ts:457", + "teal": 1874, + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ 1661 ] @@ -7708,85 +7708,91 @@ ] }, { - "teal": 1885, + "teal": 1883, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1670, - 1671, - 1672 + 1670 ] }, { - "teal": 1886, + "teal": 1884, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1673 + 1671, + 1672 ] }, { - "teal": 1887, + "teal": 1885, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1674 + 1673 ] }, { "teal": 1888, "source": "examples/reti/stakingPool.algo.ts:479", + "errorMessage": "argument 2 (staker) for payTokenReward must be a address", "pc": [ - 1675, - 1676 + 1674 ] }, { - "teal": 1889, + "teal": 1891, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1675, + 1676, 1677 ] }, { "teal": 1892, "source": "examples/reti/stakingPool.algo.ts:479", - "errorMessage": "argument 2 (staker) for payTokenReward must be a address", "pc": [ 1678 ] }, { - "teal": 1895, + "teal": 1893, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1679, - 1680, - 1681 + 1679 ] }, { - "teal": 1896, + "teal": 1906, "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ + 1680, + 1681, 1682 ] }, { - "teal": 1897, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1913, + "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ - 1683 + 1683, + 1684 ] }, { - "teal": 1910, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1914, + "source": "examples/reti/stakingPool.algo.ts:482", + "pc": [ + 1685 + ] + }, + { + "teal": 1915, + "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ - 1684, - 1685, 1686 ] }, { - "teal": 1917, + "teal": 1916, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1687, @@ -7794,166 +7800,160 @@ ] }, { - "teal": 1918, + "teal": 1917, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1689 ] }, { - "teal": 1919, + "teal": 1918, "source": "examples/reti/stakingPool.algo.ts:482", "pc": [ 1690 ] }, { - "teal": 1920, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1921, + "source": "examples/reti/stakingPool.algo.ts:481", + "errorMessage": "this can only be called via the validator contract", "pc": [ - 1691, - 1692 + 1691 ] }, { - "teal": 1921, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1925, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ + 1692, 1693 ] }, { - "teal": 1922, - "source": "examples/reti/stakingPool.algo.ts:482", + "teal": 1926, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1694 ] }, { - "teal": 1925, - "source": "examples/reti/stakingPool.algo.ts:481", - "errorMessage": "this can only be called via the validator contract", + "teal": 1927, + "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ 1695 ] }, { - "teal": 1929, + "teal": 1928, "source": "examples/reti/stakingPool.algo.ts:485", "pc": [ - 1696, - 1697 + 1696 ] }, { - "teal": 1930, + "teal": 1931, "source": "examples/reti/stakingPool.algo.ts:485", + "errorMessage": "must be pool 1 in order to be called to pay out token rewards", "pc": [ - 1698 + 1697 ] }, { - "teal": 1931, - "source": "examples/reti/stakingPool.algo.ts:485", + "teal": 1935, + "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ + 1698, 1699 ] }, { - "teal": 1932, - "source": "examples/reti/stakingPool.algo.ts:485", + "teal": 1936, + "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ 1700 ] }, { - "teal": 1935, - "source": "examples/reti/stakingPool.algo.ts:485", - "errorMessage": "must be pool 1 in order to be called to pay out token rewards", - "pc": [ - 1701 - ] - }, - { - "teal": 1939, + "teal": 1937, "source": "examples/reti/stakingPool.algo.ts:486", "pc": [ - 1702, - 1703 + 1701 ] }, { "teal": 1940, "source": "examples/reti/stakingPool.algo.ts:486", + "errorMessage": "can only claim token rewards from validator that has them", "pc": [ - 1704 + 1702 ] }, { - "teal": 1941, - "source": "examples/reti/stakingPool.algo.ts:486", + "teal": 1948, + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1705 + 1703 ] }, { - "teal": 1944, - "source": "examples/reti/stakingPool.algo.ts:486", - "errorMessage": "can only claim token rewards from validator that has them", + "teal": 1949, + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1706 + 1704, + 1705 ] }, { - "teal": 1952, + "teal": 1950, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ + 1706, 1707 ] }, { - "teal": 1953, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1954, + "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1708, 1709 ] }, { - "teal": 1954, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1955, + "source": "examples/reti/stakingPool.algo.ts:490", "pc": [ 1710, 1711 ] }, { - "teal": 1958, - "source": "examples/reti/stakingPool.algo.ts:490", + "teal": 1959, + "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1712, 1713 ] }, { - "teal": 1959, - "source": "examples/reti/stakingPool.algo.ts:490", + "teal": 1960, + "source": "examples/reti/stakingPool.algo.ts:491", "pc": [ 1714, 1715 ] }, { - "teal": 1963, - "source": "examples/reti/stakingPool.algo.ts:491", + "teal": 1964, + "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1716, 1717 ] }, { - "teal": 1964, - "source": "examples/reti/stakingPool.algo.ts:491", + "teal": 1965, + "source": "examples/reti/stakingPool.algo.ts:492", "pc": [ 1718, 1719 @@ -7961,172 +7961,172 @@ }, { "teal": 1968, - "source": "examples/reti/stakingPool.algo.ts:492", + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1720, - 1721 + 1720 ] }, { "teal": 1969, - "source": "examples/reti/stakingPool.algo.ts:492", + "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1722, - 1723 + 1721, + 1722 ] }, { "teal": 1972, "source": "examples/reti/stakingPool.algo.ts:489", "pc": [ - 1724 + 1723 ] }, { "teal": 1973, - "source": "examples/reti/stakingPool.algo.ts:489", + "source": "examples/reti/stakingPool.algo.ts:479", "pc": [ - 1725, - 1726 + 1724 ] }, { - "teal": 1976, - "source": "examples/reti/stakingPool.algo.ts:489", + "teal": 1978, + "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ + 1725, + 1726, 1727 ] }, { - "teal": 1977, - "source": "examples/reti/stakingPool.algo.ts:479", + "teal": 1979, + "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1728 + 1728, + 1729, + 1730 ] }, { "teal": 1982, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1729, - 1730, - 1731 + 1731, + 1732, + 1733 ] }, { "teal": 1983, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1732, - 1733, 1734 ] }, { - "teal": 1986, + "teal": 1984, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ - 1735, - 1736, - 1737 + 1735 ] }, { - "teal": 1987, + "teal": 1996, "source": "examples/reti/stakingPool.algo.ts:505", "pc": [ + 1736, + 1737, 1738 ] }, - { - "teal": 1988, - "source": "examples/reti/stakingPool.algo.ts:505", - "pc": [ - 1739 - ] - }, { "teal": 2000, - "source": "examples/reti/stakingPool.algo.ts:505", - "pc": [ - 1740, - 1741, - 1742 - ] - }, - { - "teal": 2004, "source": "examples/reti/stakingPool.algo.ts:506", "pc": [ - 1743, - 1744, - 1745 + 1739, + 1740, + 1741 ] }, { - "teal": 2007, + "teal": 2003, "source": "examples/reti/stakingPool.algo.ts:506", "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 1746 + 1742 ] }, { - "teal": 2011, + "teal": 2007, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ + 1743, + 1744, + 1745, + 1746, 1747, 1748, 1749, 1750, 1751, - 1752, - 1753, - 1754, - 1755, - 1756 + 1752 ] }, { - "teal": 2012, + "teal": 2008, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ - 1757, - 1758 + 1753, + 1754 ] }, { - "teal": 2013, + "teal": 2009, "source": "examples/reti/stakingPool.algo.ts:507", "pc": [ - 1759 + 1755 ] }, { - "teal": 2014, + "teal": 2010, "source": "examples/reti/stakingPool.algo.ts:505", + "pc": [ + 1756 + ] + }, + { + "teal": 2015, + "source": "examples/reti/stakingPool.algo.ts:518", + "pc": [ + 1757, + 1758, + 1759 + ] + }, + { + "teal": 2016, + "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1760 ] }, { - "teal": 2019, + "teal": 2017, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ - 1761, - 1762, - 1763 + 1761 ] }, { - "teal": 2020, + "teal": 2028, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ + 1762, + 1763, 1764 ] }, { - "teal": 2021, + "teal": 2031, "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1765 @@ -8137,41 +8137,41 @@ "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ 1766, - 1767, - 1768 + 1767 ] }, { - "teal": 2035, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 2039, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1769 + 1768 ] }, { - "teal": 2036, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 2040, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1770, - 1771 + 1769 ] }, { - "teal": 2043, + "teal": 2041, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1772 + 1770, + 1771 ] }, { - "teal": 2044, + "teal": 2042, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ + 1772, 1773 ] }, { - "teal": 2045, + "teal": 2043, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1774, @@ -8179,96 +8179,102 @@ ] }, { - "teal": 2046, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2047, + "source": "examples/reti/stakingPool.algo.ts:521", + "pc": [ + 1776 + ] + }, + { + "teal": 2048, + "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ - 1776, 1777 ] }, { - "teal": 2047, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2049, + "source": "examples/reti/stakingPool.algo.ts:521", "pc": [ 1778, 1779 ] }, { - "teal": 2051, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2053, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1780 ] }, { - "teal": 2052, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2054, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ 1781 ] }, { - "teal": 2053, - "source": "examples/reti/stakingPool.algo.ts:521", + "teal": 2055, + "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ - 1782, - 1783 + 1782 ] }, { - "teal": 2057, + "teal": 2056, "source": "examples/reti/stakingPool.algo.ts:522", "pc": [ + 1783, 1784 ] }, { - "teal": 2058, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2059, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1785 ] }, { - "teal": 2059, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2060, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1786 + 1786, + 1787 ] }, { - "teal": 2060, - "source": "examples/reti/stakingPool.algo.ts:522", + "teal": 2063, + "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1787, 1788 ] }, { - "teal": 2063, + "teal": 2064, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1789 + 1789, + 1790 ] }, { - "teal": 2064, + "teal": 2065, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1790, 1791 ] }, { - "teal": 2067, + "teal": 2066, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1792 ] }, { - "teal": 2068, + "teal": 2067, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ 1793, @@ -8276,94 +8282,88 @@ ] }, { - "teal": 2069, - "source": "examples/reti/stakingPool.algo.ts:520", - "pc": [ - 1795 - ] - }, - { - "teal": 2070, + "teal": 2068, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1796 + 1795, + 1796, + 1797 ] }, { - "teal": 2071, + "teal": 2069, "source": "examples/reti/stakingPool.algo.ts:520", "pc": [ - 1797, - 1798 + 1798, + 1799 ] }, { - "teal": 2072, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2073, + "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ - 1799, 1800, 1801 ] }, { - "teal": 2073, - "source": "examples/reti/stakingPool.algo.ts:520", + "teal": 2074, + "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1802, - 1803 + 1803, + 1804 ] }, { - "teal": 2077, + "teal": 2075, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ - 1804, 1805 ] }, { - "teal": 2078, + "teal": 2076, "source": "examples/reti/stakingPool.algo.ts:529", "pc": [ 1806, - 1807, - 1808 + 1807 ] }, { - "teal": 2079, - "source": "examples/reti/stakingPool.algo.ts:529", + "teal": 2080, + "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ + 1808, 1809 ] }, { - "teal": 2080, - "source": "examples/reti/stakingPool.algo.ts:529", + "teal": 2081, + "source": "examples/reti/stakingPool.algo.ts:530", "pc": [ 1810, 1811 ] }, { - "teal": 2084, - "source": "examples/reti/stakingPool.algo.ts:530", + "teal": 2085, + "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1812, 1813 ] }, { - "teal": 2085, - "source": "examples/reti/stakingPool.algo.ts:530", + "teal": 2086, + "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1814, 1815 ] }, { - "teal": 2089, + "teal": 2087, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1816, @@ -8371,15 +8371,21 @@ ] }, { - "teal": 2090, + "teal": 2088, + "source": "examples/reti/stakingPool.algo.ts:531", + "pc": [ + 1818 + ] + }, + { + "teal": 2089, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ - 1818, 1819 ] }, { - "teal": 2091, + "teal": 2090, "source": "examples/reti/stakingPool.algo.ts:531", "pc": [ 1820, @@ -8387,106 +8393,106 @@ ] }, { - "teal": 2092, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2095, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1822 + 1822, + 1823, + 1824 ] }, { - "teal": 2093, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2096, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1823 + 1825, + 1826 ] }, { - "teal": 2094, - "source": "examples/reti/stakingPool.algo.ts:531", + "teal": 2097, + "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1824, - 1825 + 1827 ] }, { - "teal": 2099, + "teal": 2098, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1826, - 1827, 1828 ] }, { - "teal": 2100, + "teal": 2099, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1829, - 1830 + 1829 ] }, { - "teal": 2101, + "teal": 2100, "source": "examples/reti/stakingPool.algo.ts:534", "pc": [ - 1831 + 1830, + 1831, + 1832 ] }, { - "teal": 2102, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2105, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1832 + 1833, + 1834 ] }, { - "teal": 2103, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2106, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1833 + 1835 ] }, { - "teal": 2104, - "source": "examples/reti/stakingPool.algo.ts:534", + "teal": 2107, + "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1834, - 1835, - 1836 + 1836, + 1837 ] }, { - "teal": 2109, + "teal": 2108, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1837, 1838 ] }, { - "teal": 2110, + "teal": 2109, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1839 + 1839, + 1840 ] }, { - "teal": 2111, + "teal": 2110, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ - 1840, 1841 ] }, { - "teal": 2112, + "teal": 2111, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1842 ] }, { - "teal": 2113, + "teal": 2112, "source": "examples/reti/stakingPool.algo.ts:535", "pc": [ 1843, @@ -8494,549 +8500,543 @@ ] }, { - "teal": 2114, - "source": "examples/reti/stakingPool.algo.ts:535", - "pc": [ - 1845 - ] - }, - { - "teal": 2115, - "source": "examples/reti/stakingPool.algo.ts:535", + "teal": 2116, + "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ + 1845, 1846 ] }, { - "teal": 2116, - "source": "examples/reti/stakingPool.algo.ts:535", + "teal": 2117, + "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ 1847, 1848 ] }, { - "teal": 2120, + "teal": 2118, "source": "examples/reti/stakingPool.algo.ts:539", "pc": [ - 1849, - 1850 + 1849 ] }, { "teal": 2121, "source": "examples/reti/stakingPool.algo.ts:539", + "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call", "pc": [ - 1851, - 1852 + 1850 ] }, { - "teal": 2122, - "source": "examples/reti/stakingPool.algo.ts:539", + "teal": 2126, + "source": "examples/reti/stakingPool.algo.ts:542", "pc": [ + 1851, + 1852, 1853 ] }, { - "teal": 2125, - "source": "examples/reti/stakingPool.algo.ts:539", - "errorMessage": "can't call epochBalanceUpdate in same epoch as prior call", + "teal": 2130, + "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1854 + 1854, + 1855 ] }, { - "teal": 2130, - "source": "examples/reti/stakingPool.algo.ts:542", + "teal": 2131, + "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1855, 1856, 1857 ] }, { - "teal": 2134, + "teal": 2132, "source": "examples/reti/stakingPool.algo.ts:545", "pc": [ - 1858, - 1859 + 1858 ] }, { - "teal": 2135, - "source": "examples/reti/stakingPool.algo.ts:545", + "teal": 2136, + "source": "examples/reti/stakingPool.algo.ts:546", + "pc": [ + 1859, + 1860 + ] + }, + { + "teal": 2137, + "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ - 1860, 1861 ] }, { - "teal": 2136, - "source": "examples/reti/stakingPool.algo.ts:545", + "teal": 2138, + "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1862 ] }, { - "teal": 2140, + "teal": 2139, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ - 1863, - 1864 + 1863 ] }, { - "teal": 2141, + "teal": 2140, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ + 1864, 1865 ] }, { - "teal": 2142, + "teal": 2141, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1866 ] }, { - "teal": 2143, + "teal": 2142, "source": "examples/reti/stakingPool.algo.ts:546", "pc": [ 1867 ] }, { - "teal": 2144, - "source": "examples/reti/stakingPool.algo.ts:546", + "teal": 2146, + "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ 1868, 1869 ] }, { - "teal": 2145, - "source": "examples/reti/stakingPool.algo.ts:546", - "pc": [ - 1870 - ] - }, - { - "teal": 2146, - "source": "examples/reti/stakingPool.algo.ts:546", + "teal": 2147, + "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1871 + 1870, + 1871, + 1872 ] }, { - "teal": 2150, + "teal": 2148, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1872, 1873 ] }, { - "teal": 2151, + "teal": 2149, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1874, - 1875, - 1876 + 1874 ] }, { - "teal": 2152, + "teal": 2150, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1877 + 1875 ] }, { - "teal": 2153, + "teal": 2151, "source": "examples/reti/stakingPool.algo.ts:551", "pc": [ - 1878 + 1876, + 1877 ] }, { - "teal": 2154, - "source": "examples/reti/stakingPool.algo.ts:551", + "teal": 2155, + "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ - 1879 + 1878, + 1879, + 1880 ] }, { - "teal": 2155, - "source": "examples/reti/stakingPool.algo.ts:551", + "teal": 2156, + "source": "examples/reti/stakingPool.algo.ts:552", "pc": [ - 1880, - 1881 + 1881, + 1882 ] }, { - "teal": 2159, - "source": "examples/reti/stakingPool.algo.ts:552", + "teal": 2160, + "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ - 1882, 1883, 1884 ] }, { - "teal": 2160, - "source": "examples/reti/stakingPool.algo.ts:552", + "teal": 2161, + "source": "examples/reti/stakingPool.algo.ts:553", "pc": [ 1885, 1886 ] }, { - "teal": 2164, - "source": "examples/reti/stakingPool.algo.ts:553", + "teal": 2166, + "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1887, 1888 ] }, { - "teal": 2165, - "source": "examples/reti/stakingPool.algo.ts:553", + "teal": 2167, + "source": "examples/reti/stakingPool.algo.ts:558", "pc": [ 1889, - 1890 + 1890, + 1891 ] }, { - "teal": 2170, - "source": "examples/reti/stakingPool.algo.ts:558", + "teal": 2173, + "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1891, - 1892 + 1892, + 1893 ] }, { - "teal": 2171, - "source": "examples/reti/stakingPool.algo.ts:558", + "teal": 2174, + "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1893, - 1894, - 1895 + 1894 ] }, { - "teal": 2177, + "teal": 2175, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1896, - 1897 + 1895 ] }, { - "teal": 2178, + "teal": 2176, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ - 1898 + 1896 ] }, { - "teal": 2179, + "teal": 2177, "source": "examples/reti/stakingPool.algo.ts:559", "pc": [ + 1897, + 1898, 1899 ] }, { - "teal": 2180, - "source": "examples/reti/stakingPool.algo.ts:559", + "teal": 2185, + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1900 ] }, { - "teal": 2181, - "source": "examples/reti/stakingPool.algo.ts:559", + "teal": 2186, + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1901, - 1902, - 1903 + 1901 ] }, { - "teal": 2189, + "teal": 2187, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1904 + 1902, + 1903 ] }, { - "teal": 2190, + "teal": 2188, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ + 1904, 1905 ] }, { - "teal": 2191, + "teal": 2189, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1906, 1907 ] }, - { - "teal": 2192, - "source": "examples/reti/stakingPool.algo.ts:561", - "pc": [ - 1908, - 1909 - ] - }, { "teal": 2193, - "source": "examples/reti/stakingPool.algo.ts:561", - "pc": [ - 1910, - 1911 - ] - }, - { - "teal": 2197, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1912 + 1908 ] }, { - "teal": 2198, + "teal": 2194, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1913 + 1909 ] }, { - "teal": 2199, + "teal": 2195, "source": "examples/reti/stakingPool.algo.ts:562", "pc": [ - 1914, - 1915 + 1910, + 1911 ] }, { - "teal": 2203, + "teal": 2199, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1916 + 1912 ] }, { - "teal": 2204, + "teal": 2200, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1917 + 1913 ] }, { - "teal": 2205, + "teal": 2201, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1918 + 1914 ] }, { - "teal": 2206, + "teal": 2202, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ - 1919, - 1920 + 1915, + 1916 ] }, { - "teal": 2207, + "teal": 2203, "source": "examples/reti/stakingPool.algo.ts:563", "pc": [ + 1917, + 1918, + 1919, + 1920, 1921, 1922, 1923, 1924, 1925, - 1926, + 1926 + ] + }, + { + "teal": 2204, + "source": "examples/reti/stakingPool.algo.ts:563", + "pc": [ 1927, - 1928, - 1929, - 1930 + 1928 + ] + }, + { + "teal": 2207, + "source": "examples/reti/stakingPool.algo.ts:561", + "pc": [ + 1929 ] }, { "teal": 2208, - "source": "examples/reti/stakingPool.algo.ts:563", + "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1931, - 1932 + 1930, + 1931 ] }, { "teal": 2211, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1933 + 1932 ] }, { "teal": 2212, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1934, - 1935 + 1933, + 1934 ] }, { - "teal": 2215, + "teal": 2213, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1936 + 1935 ] }, { - "teal": 2216, + "teal": 2214, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1937, - 1938 + 1936 ] }, { - "teal": 2217, + "teal": 2215, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1939 + 1937, + 1938 ] }, { - "teal": 2218, + "teal": 2216, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1940 + 1939, + 1940, + 1941 ] }, { - "teal": 2219, + "teal": 2217, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ - 1941, 1942 ] }, { - "teal": 2220, + "teal": 2218, "source": "examples/reti/stakingPool.algo.ts:561", "pc": [ 1943, - 1944, - 1945 + 1944 ] }, { - "teal": 2221, - "source": "examples/reti/stakingPool.algo.ts:561", + "teal": 2222, + "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ + 1945, 1946 ] }, { - "teal": 2222, - "source": "examples/reti/stakingPool.algo.ts:561", + "teal": 2223, + "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ 1947, 1948 ] }, { - "teal": 2226, + "teal": 2224, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ - 1949, - 1950 + 1949 ] }, { - "teal": 2227, + "teal": 2225, "source": "examples/reti/stakingPool.algo.ts:565", "pc": [ - 1951, - 1952 + 1950, + 1951 ] }, { - "teal": 2228, - "source": "examples/reti/stakingPool.algo.ts:565", + "teal": 2231, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ + 1952, 1953 ] }, { - "teal": 2229, - "source": "examples/reti/stakingPool.algo.ts:565", + "teal": 2232, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1954, - 1955 + 1954 ] }, { - "teal": 2235, + "teal": 2233, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1956, - 1957 + 1955 ] }, { - "teal": 2236, + "teal": 2234, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1958 + 1956 ] }, { - "teal": 2237, + "teal": 2235, "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ + 1957, + 1958, 1959 ] }, { - "teal": 2238, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2243, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1960 ] }, { - "teal": 2239, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2244, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1961, - 1962, - 1963 + 1961 ] }, { - "teal": 2247, + "teal": 2245, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1964 + 1962, + 1963 ] }, { - "teal": 2248, + "teal": 2246, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ + 1964, 1965 ] }, { - "teal": 2249, + "teal": 2247, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1966, @@ -9044,96 +9044,102 @@ ] }, { - "teal": 2250, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2251, + "source": "examples/reti/stakingPool.algo.ts:572", + "pc": [ + 1968 + ] + }, + { + "teal": 2252, + "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ - 1968, 1969 ] }, { - "teal": 2251, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2253, + "source": "examples/reti/stakingPool.algo.ts:572", "pc": [ 1970, 1971 ] }, { - "teal": 2255, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2257, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1972 ] }, { - "teal": 2256, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2258, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ 1973 ] }, { - "teal": 2257, - "source": "examples/reti/stakingPool.algo.ts:572", + "teal": 2259, + "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ - 1974, - 1975 + 1974 ] }, { - "teal": 2261, + "teal": 2260, "source": "examples/reti/stakingPool.algo.ts:573", "pc": [ + 1975, 1976 ] }, { - "teal": 2262, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2263, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1977 ] }, { - "teal": 2263, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2264, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1978 + 1978, + 1979 ] }, { - "teal": 2264, - "source": "examples/reti/stakingPool.algo.ts:573", + "teal": 2267, + "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1979, 1980 ] }, { - "teal": 2267, + "teal": 2268, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1981 + 1981, + 1982 ] }, { - "teal": 2268, + "teal": 2269, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1982, 1983 ] }, { - "teal": 2271, + "teal": 2270, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1984 ] }, { - "teal": 2272, + "teal": 2271, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ 1985, @@ -9141,69 +9147,63 @@ ] }, { - "teal": 2273, - "source": "examples/reti/stakingPool.algo.ts:571", - "pc": [ - 1987 - ] - }, - { - "teal": 2274, + "teal": 2272, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1988 + 1987, + 1988, + 1989 ] }, { - "teal": 2275, + "teal": 2273, "source": "examples/reti/stakingPool.algo.ts:571", "pc": [ - 1989, - 1990 + 1990, + 1991 ] }, { - "teal": 2276, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2274, + "source": "examples/reti/stakingPool.algo.ts:570", "pc": [ - 1991, 1992, - 1993 + 1993, + 1994 ] }, { - "teal": 2277, - "source": "examples/reti/stakingPool.algo.ts:571", + "teal": 2282, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1994, 1995 ] }, { - "teal": 2278, - "source": "examples/reti/stakingPool.algo.ts:570", + "teal": 2283, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1996, - 1997, - 1998 + 1996 ] }, { - "teal": 2286, + "teal": 2284, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 1999 + 1997, + 1998 ] }, { - "teal": 2287, + "teal": 2285, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ + 1999, 2000 ] }, { - "teal": 2288, + "teal": 2286, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2001, @@ -9211,142 +9211,148 @@ ] }, { - "teal": 2289, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2290, + "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2003, 2004 ] }, { - "teal": 2290, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2291, + "source": "examples/reti/stakingPool.algo.ts:578", "pc": [ 2005, 2006 ] }, { - "teal": 2294, - "source": "examples/reti/stakingPool.algo.ts:578", + "teal": 2295, + "source": "examples/reti/stakingPool.algo.ts:579", + "pc": [ + 2007 + ] + }, + { + "teal": 2296, + "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2007, 2008 ] }, { - "teal": 2295, - "source": "examples/reti/stakingPool.algo.ts:578", + "teal": 2297, + "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2009, - 2010 + 2009 ] }, { - "teal": 2299, + "teal": 2298, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ + 2010, 2011 ] }, { - "teal": 2300, + "teal": 2299, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2012 ] }, { - "teal": 2301, + "teal": 2300, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ 2013 ] }, { - "teal": 2302, + "teal": 2301, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2014, - 2015 + 2014 ] }, { - "teal": 2303, + "teal": 2302, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2016 + 2015, + 2016, + 2017 ] }, { - "teal": 2304, + "teal": 2303, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2017 + 2018 ] }, { - "teal": 2305, + "teal": 2304, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2018 + 2019 ] }, { - "teal": 2306, + "teal": 2305, "source": "examples/reti/stakingPool.algo.ts:579", "pc": [ - 2019, 2020, 2021 ] }, { - "teal": 2307, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2308, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2022 ] }, { - "teal": 2308, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2309, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2023 + 2023, + 2024 ] }, { - "teal": 2309, - "source": "examples/reti/stakingPool.algo.ts:579", + "teal": 2312, + "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2024, 2025 ] }, { - "teal": 2312, + "teal": 2313, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2026 + 2026, + 2027 ] }, { - "teal": 2313, + "teal": 2314, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2027, 2028 ] }, { - "teal": 2316, + "teal": 2315, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2029 ] }, { - "teal": 2317, + "teal": 2316, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ 2030, @@ -9354,161 +9360,161 @@ ] }, { - "teal": 2318, + "teal": 2317, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2032 + 2032, + 2033, + 2034 ] }, { - "teal": 2319, + "teal": 2318, "source": "examples/reti/stakingPool.algo.ts:577", "pc": [ - 2033 + 2035, + 2036 ] }, { - "teal": 2320, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2328, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2034, - 2035 + 2037 ] }, { - "teal": 2321, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2329, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2036, - 2037, 2038 ] }, { - "teal": 2322, - "source": "examples/reti/stakingPool.algo.ts:577", + "teal": 2330, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2039, 2040 ] }, { - "teal": 2332, + "teal": 2331, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2041 + 2041, + 2042, + 2043, + 2044, + 2045, + 2046 ] }, { - "teal": 2333, + "teal": 2332, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2042 + 2047, + 2048 ] }, { - "teal": 2334, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2336, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ - 2043, - 2044 + 2049 ] }, { - "teal": 2335, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2337, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ - 2045, - 2046, - 2047, - 2048, - 2049, 2050 ] }, { - "teal": 2336, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2338, + "source": "examples/reti/stakingPool.algo.ts:587", "pc": [ 2051, 2052 ] }, { - "teal": 2340, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2342, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2053 ] }, { - "teal": 2341, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2343, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ 2054 ] }, { - "teal": 2342, - "source": "examples/reti/stakingPool.algo.ts:587", + "teal": 2344, + "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ - 2055, - 2056 + 2055 ] }, { - "teal": 2346, + "teal": 2345, "source": "examples/reti/stakingPool.algo.ts:588", "pc": [ + 2056, 2057 ] }, { - "teal": 2347, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2348, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2058 ] }, { - "teal": 2348, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2349, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2059 + 2059, + 2060 ] }, { - "teal": 2349, - "source": "examples/reti/stakingPool.algo.ts:588", + "teal": 2352, + "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2060, 2061 ] }, { - "teal": 2352, + "teal": 2353, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2062 + 2062, + 2063 ] }, { - "teal": 2353, + "teal": 2354, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2063, 2064 ] }, { - "teal": 2356, + "teal": 2355, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2065 ] }, { - "teal": 2357, + "teal": 2356, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ 2066, @@ -9516,495 +9522,495 @@ ] }, { - "teal": 2358, - "source": "examples/reti/stakingPool.algo.ts:586", - "pc": [ - 2068 - ] - }, - { - "teal": 2359, + "teal": 2357, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2069 + 2068, + 2069, + 2070 ] }, { - "teal": 2360, + "teal": 2358, "source": "examples/reti/stakingPool.algo.ts:586", "pc": [ - 2070, - 2071 + 2071, + 2072 ] }, { - "teal": 2361, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2362, + "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ - 2072, 2073, 2074 ] }, { - "teal": 2362, - "source": "examples/reti/stakingPool.algo.ts:586", + "teal": 2363, + "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2075, - 2076 + 2076, + 2077 ] }, { - "teal": 2366, + "teal": 2364, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ - 2077, 2078 ] }, { - "teal": 2367, + "teal": 2365, "source": "examples/reti/stakingPool.algo.ts:590", "pc": [ 2079, - 2080, - 2081 + 2080 ] }, { - "teal": 2368, - "source": "examples/reti/stakingPool.algo.ts:590", + "teal": 2369, + "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ + 2081, 2082 ] }, { - "teal": 2369, - "source": "examples/reti/stakingPool.algo.ts:590", + "teal": 2370, + "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ 2083, 2084 ] }, { - "teal": 2373, + "teal": 2371, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2085, - 2086 + 2085 ] }, { - "teal": 2374, + "teal": 2372, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2087, - 2088 + 2086, + 2087 ] }, { - "teal": 2375, + "teal": 2373, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2089 + 2088 ] }, { - "teal": 2376, + "teal": 2374, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2090, - 2091 + 2089 ] }, { - "teal": 2377, + "teal": 2375, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2092 + 2090, + 2091 ] }, { - "teal": 2378, + "teal": 2376, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ + 2092, 2093 ] }, { - "teal": 2379, - "source": "examples/reti/stakingPool.algo.ts:596", - "pc": [ - 2094, - 2095 - ] - }, - { - "teal": 2380, + "teal": 2377, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2096, - 2097 + 2094 ] }, { - "teal": 2381, + "teal": 2378, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2098 + 2095 ] }, { - "teal": 2382, + "teal": 2379, "source": "examples/reti/stakingPool.algo.ts:596", "pc": [ - 2099 + 2096, + 2097 ] }, { "teal": 2383, - "source": "examples/reti/stakingPool.algo.ts:596", + "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ - 2100, - 2101 + 2098 ] }, { - "teal": 2387, + "teal": 2384, "source": "examples/reti/stakingPool.algo.ts:597", "pc": [ - 2102 + 2099, + 2100 ] }, { "teal": 2388, - "source": "examples/reti/stakingPool.algo.ts:597", + "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ - 2103, - 2104 + 2101, + 2102, + 2103 ] }, { - "teal": 2392, + "teal": 2389, "source": "examples/reti/stakingPool.algo.ts:598", "pc": [ - 2105, + 2104, + 2105 + ] + }, + { + "teal": 2394, + "source": "examples/reti/stakingPool.algo.ts:606", + "pc": [ 2106, 2107 ] }, { - "teal": 2393, - "source": "examples/reti/stakingPool.algo.ts:598", + "teal": 2395, + "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2108, - 2109 + 2109, + 2110 ] }, { - "teal": 2398, + "teal": 2396, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ - 2110, 2111 ] }, { - "teal": 2399, + "teal": 2397, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ 2112, - 2113, - 2114 + 2113 ] }, { - "teal": 2400, + "teal": 2398, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ - 2115 + 2114 ] }, { - "teal": 2401, + "teal": 2399, "source": "examples/reti/stakingPool.algo.ts:606", "pc": [ + 2115, 2116, 2117 ] }, { - "teal": 2402, - "source": "examples/reti/stakingPool.algo.ts:606", + "teal": 2404, + "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ 2118 ] }, { - "teal": 2403, - "source": "examples/reti/stakingPool.algo.ts:606", - "pc": [ - 2119, - 2120, - 2121 - ] - }, - { - "teal": 2408, + "teal": 2405, "source": "examples/reti/stakingPool.algo.ts:607", "pc": [ - 2122 + 2119, + 2120 ] }, { - "teal": 2409, - "source": "examples/reti/stakingPool.algo.ts:607", + "teal": 2410, + "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ - 2123, - 2124 + 2121 ] }, { - "teal": 2414, + "teal": 2411, "source": "examples/reti/stakingPool.algo.ts:613", "pc": [ - 2125 + 2122, + 2123 ] }, { "teal": 2415, - "source": "examples/reti/stakingPool.algo.ts:613", + "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ - 2126, - 2127 + 2124 ] }, { - "teal": 2419, + "teal": 2416, "source": "examples/reti/stakingPool.algo.ts:614", "pc": [ - 2128 + 2125, + 2126 ] }, { "teal": 2420, - "source": "examples/reti/stakingPool.algo.ts:614", + "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ - 2129, - 2130 + 2127 ] }, { - "teal": 2424, + "teal": 2421, "source": "examples/reti/stakingPool.algo.ts:615", "pc": [ - 2131 + 2128, + 2129 ] }, { "teal": 2425, - "source": "examples/reti/stakingPool.algo.ts:615", + "source": "examples/reti/stakingPool.algo.ts:616", "pc": [ - 2132, - 2133 + 2130 ] }, { - "teal": 2429, + "teal": 2426, "source": "examples/reti/stakingPool.algo.ts:616", "pc": [ + 2131, + 2132 + ] + }, + { + "teal": 2431, + "source": "examples/reti/stakingPool.algo.ts:617", + "pc": [ + 2133, 2134 ] }, { - "teal": 2430, - "source": "examples/reti/stakingPool.algo.ts:616", + "teal": 2432, + "source": "examples/reti/stakingPool.algo.ts:617", "pc": [ 2135, - 2136 + 2136, + 2137 ] }, { - "teal": 2435, - "source": "examples/reti/stakingPool.algo.ts:617", + "teal": 2438, + "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2137, - 2138 + 2138, + 2139 ] }, { - "teal": 2436, - "source": "examples/reti/stakingPool.algo.ts:617", + "teal": 2439, + "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2139, 2140, 2141 ] }, { - "teal": 2442, + "teal": 2440, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2142, - 2143 + 2143, + 2144 ] }, { - "teal": 2443, + "teal": 2441, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2144, 2145 ] }, { - "teal": 2444, + "teal": 2442, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ 2146, - 2147, - 2148 + 2147 ] }, { - "teal": 2445, + "teal": 2443, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2149 + 2148 ] }, { - "teal": 2446, + "teal": 2444, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2150, - 2151 + 2149, + 2150 ] }, { - "teal": 2447, + "teal": 2445, "source": "examples/reti/stakingPool.algo.ts:619", "pc": [ - 2152 + 2151 ] }, { - "teal": 2448, - "source": "examples/reti/stakingPool.algo.ts:619", + "teal": 2446, + "source": "examples/reti/stakingPool.algo.ts:618", "pc": [ - 2153, - 2154 + 2152, + 2153 ] }, { - "teal": 2449, - "source": "examples/reti/stakingPool.algo.ts:619", + "teal": 2451, + "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ + 2154, 2155 ] }, { - "teal": 2450, - "source": "examples/reti/stakingPool.algo.ts:618", + "teal": 2452, + "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2156, 2157 ] }, { - "teal": 2455, + "teal": 2453, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ 2158, - 2159 + 2159, + 2160 ] }, { - "teal": 2456, + "teal": 2454, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ - 2160, 2161 ] }, { - "teal": 2457, + "teal": 2455, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ - 2162, - 2163, - 2164 + 2162 ] }, { - "teal": 2458, + "teal": 2456, "source": "examples/reti/stakingPool.algo.ts:623", "pc": [ + 2163, + 2164, 2165 ] }, { - "teal": 2459, - "source": "examples/reti/stakingPool.algo.ts:623", + "teal": 2461, + "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2166 + 2166, + 2167 ] }, { - "teal": 2460, - "source": "examples/reti/stakingPool.algo.ts:623", + "teal": 2462, + "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2167, - 2168, - 2169 + 2168 ] }, { - "teal": 2465, + "teal": 2463, + "source": "examples/reti/stakingPool.algo.ts:629", + "pc": [ + 2169, + 2170 + ] + }, + { + "teal": 2464, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2170, 2171 ] }, { - "teal": 2466, + "teal": 2465, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2172 ] }, { - "teal": 2467, + "teal": 2466, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ - 2173, - 2174 + 2173 ] }, { - "teal": 2468, + "teal": 2467, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ + 2174, 2175 ] }, { - "teal": 2469, + "teal": 2468, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2176 ] }, { - "teal": 2470, + "teal": 2469, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2177 ] }, { - "teal": 2471, + "teal": 2470, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2178, @@ -10012,21 +10018,21 @@ ] }, { - "teal": 2472, + "teal": 2471, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2180 ] }, { - "teal": 2473, + "teal": 2472, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2181 ] }, { - "teal": 2474, + "teal": 2473, "source": "examples/reti/stakingPool.algo.ts:629", "pc": [ 2182, @@ -10034,53 +10040,53 @@ ] }, { - "teal": 2475, - "source": "examples/reti/stakingPool.algo.ts:629", - "pc": [ - 2184 - ] - }, - { - "teal": 2476, - "source": "examples/reti/stakingPool.algo.ts:629", + "teal": 2477, + "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ + 2184, 2185 ] }, { - "teal": 2477, - "source": "examples/reti/stakingPool.algo.ts:629", + "teal": 2478, + "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2186, - 2187 + 2187, + 2188 ] }, { - "teal": 2481, + "teal": 2479, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2188, 2189 ] }, { - "teal": 2482, + "teal": 2480, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2190, - 2191, + 2191 + ] + }, + { + "teal": 2481, + "source": "examples/reti/stakingPool.algo.ts:632", + "pc": [ 2192 ] }, { - "teal": 2483, + "teal": 2482, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2193 ] }, { - "teal": 2484, + "teal": 2483, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2194, @@ -10088,145 +10094,127 @@ ] }, { - "teal": 2485, + "teal": 2484, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2196 ] }, { - "teal": 2486, + "teal": 2485, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ 2197 ] }, { - "teal": 2487, - "source": "examples/reti/stakingPool.algo.ts:632", - "pc": [ - 2198, - 2199 - ] - }, - { - "teal": 2488, + "teal": 2486, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2200 + 2198 ] }, { - "teal": 2489, + "teal": 2487, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2201 + 2199 ] }, { - "teal": 2490, + "teal": 2488, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2202 + 2200 ] }, { "teal": 2491, "source": "examples/reti/stakingPool.algo.ts:632", + "errorMessage": "wideRatio failed", "pc": [ - 2203 + 2201 ] }, { "teal": 2492, "source": "examples/reti/stakingPool.algo.ts:632", "pc": [ - 2204 + 2202, + 2203 ] }, { - "teal": 2495, - "source": "examples/reti/stakingPool.algo.ts:632", - "errorMessage": "wideRatio failed", + "teal": 2500, + "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ + 2204, 2205 ] }, { - "teal": 2496, - "source": "examples/reti/stakingPool.algo.ts:632", + "teal": 2501, + "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ - 2206, - 2207 + 2206 ] }, { - "teal": 2504, + "teal": 2502, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ - 2208, - 2209 + 2207 ] }, { - "teal": 2505, + "teal": 2503, "source": "examples/reti/stakingPool.algo.ts:635", "pc": [ + 2208, + 2209, 2210 ] }, { - "teal": 2506, - "source": "examples/reti/stakingPool.algo.ts:635", + "teal": 2509, + "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2211 + 2211, + 2212 ] }, { - "teal": 2507, - "source": "examples/reti/stakingPool.algo.ts:635", + "teal": 2510, + "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2212, 2213, 2214 ] }, { - "teal": 2513, + "teal": 2511, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ - 2215, - 2216 + 2215 ] }, { - "teal": 2514, + "teal": 2512, "source": "examples/reti/stakingPool.algo.ts:640", "pc": [ + 2216, 2217, 2218 ] }, { - "teal": 2515, - "source": "examples/reti/stakingPool.algo.ts:640", - "pc": [ - 2219 - ] - }, - { - "teal": 2516, - "source": "examples/reti/stakingPool.algo.ts:640", + "teal": 2517, + "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ + 2219, 2220, 2221, - 2222 - ] - }, - { - "teal": 2521, - "source": "examples/reti/stakingPool.algo.ts:641", - "pc": [ + 2222, 2223, 2224, 2225, @@ -10246,239 +10234,239 @@ 2239, 2240, 2241, - 2242, - 2243, - 2244, - 2245, - 2246 + 2242 ] }, { - "teal": 2522, + "teal": 2518, "source": "examples/reti/stakingPool.algo.ts:641", "pc": [ - 2247 + 2243 ] }, { - "teal": 2526, + "teal": 2522, "source": "examples/reti/stakingPool.algo.ts:642", "pc": [ - 2248 + 2244 ] }, { - "teal": 2534, + "teal": 2530, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2249, - 2250 + 2245, + 2246 ] }, { - "teal": 2535, + "teal": 2531, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2251, - 2252, - 2253 + 2247, + 2248, + 2249 ] }, { - "teal": 2540, + "teal": 2536, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2254, - 2255 + 2250, + 2251 ] }, { - "teal": 2541, + "teal": 2537, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2256, - 2257 + 2252, + 2253 ] }, { - "teal": 2542, + "teal": 2538, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2258 + 2254 ] }, { - "teal": 2543, + "teal": 2539, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2259 + 2255 ] }, { - "teal": 2544, + "teal": 2540, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2260, - 2261 + 2256, + 2257 ] }, { - "teal": 2545, + "teal": 2541, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2262, - 2263, - 2264 + 2258, + 2259, + 2260 ] }, { - "teal": 2546, + "teal": 2542, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2265 + 2261 ] }, { - "teal": 2547, + "teal": 2543, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2266 + 2262 ] }, { - "teal": 2548, + "teal": 2544, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2267 + 2263 ] }, { - "teal": 2549, + "teal": 2545, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2268 + 2264 ] }, { - "teal": 2550, + "teal": 2546, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2269 + 2265 ] }, { - "teal": 2551, + "teal": 2547, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2270 + 2266 ] }, { - "teal": 2554, + "teal": 2550, "source": "examples/reti/stakingPool.algo.ts:649", "errorMessage": "wideRatio failed", "pc": [ - 2271 + 2267 ] }, { - "teal": 2555, + "teal": 2551, "source": "examples/reti/stakingPool.algo.ts:649", "pc": [ - 2272, - 2273 + 2268, + 2269 ] }, { - "teal": 2559, + "teal": 2555, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2274, - 2275 + 2270, + 2271 ] }, { - "teal": 2560, + "teal": 2556, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2276, - 2277 + 2272, + 2273 ] }, { - "teal": 2561, + "teal": 2557, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2278 + 2274 ] }, { - "teal": 2562, + "teal": 2558, "source": "examples/reti/stakingPool.algo.ts:651", "pc": [ - 2279, - 2280 + 2275, + 2276 ] }, { - "teal": 2570, + "teal": 2566, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2281 + 2277 ] }, { - "teal": 2571, + "teal": 2567, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2282 + 2278 ] }, { - "teal": 2572, + "teal": 2568, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2283, - 2284 + 2279, + 2280 ] }, { - "teal": 2576, + "teal": 2572, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ - 2285, - 2286 + 2281, + 2282 ] }, { - "teal": 2577, + "teal": 2573, "source": "examples/reti/stakingPool.algo.ts:653", "pc": [ - 2287, - 2288 + 2283, + 2284 ] }, { - "teal": 2581, + "teal": 2577, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ - 2289, - 2290, - 2291 + 2285, + 2286, + 2287 ] }, { - "teal": 2582, + "teal": 2578, "source": "examples/reti/stakingPool.algo.ts:654", "pc": [ - 2292, - 2293 + 2288, + 2289 ] }, { - "teal": 2586, + "teal": 2582, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ + 2290, + 2291, + 2292, + 2293, 2294, 2295, 2296, @@ -10510,405 +10498,423 @@ 2322, 2323, 2324, - 2325, - 2326, - 2327, - 2328, - 2329 + 2325 ] }, { - "teal": 2587, + "teal": 2583, "source": "examples/reti/stakingPool.algo.ts:655", "pc": [ - 2330, - 2331 + 2326, + 2327 ] }, { - "teal": 2590, + "teal": 2586, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2332 + 2328 ] }, { - "teal": 2591, + "teal": 2587, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2333, - 2334 + 2329, + 2330 ] }, { - "teal": 2594, + "teal": 2590, "source": "examples/reti/stakingPool.algo.ts:652", "pc": [ - 2335 + 2331 ] }, { - "teal": 2598, + "teal": 2594, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ - 2336, - 2337 + 2332, + 2333 ] }, { - "teal": 2599, + "teal": 2595, "source": "examples/reti/stakingPool.algo.ts:658", "pc": [ - 2338, - 2339 + 2334, + 2335 ] }, { - "teal": 2600, + "teal": 2596, "source": "examples/reti/stakingPool.algo.ts:646", "pc": [ - 2340, + 2336, + 2337, + 2338 + ] + }, + { + "teal": 2601, + "source": "examples/reti/stakingPool.algo.ts:659", + "pc": [ + 2339, + 2340 + ] + }, + { + "teal": 2602, + "source": "examples/reti/stakingPool.algo.ts:659", + "pc": [ 2341, - 2342 + 2342, + 2343 ] }, { - "teal": 2605, + "teal": 2603, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2343, 2344 ] }, { - "teal": 2606, + "teal": 2604, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2345, - 2346, - 2347 + 2345 ] }, { - "teal": 2607, + "teal": 2605, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ - 2348 + 2346 ] }, { - "teal": 2608, + "teal": 2606, "source": "examples/reti/stakingPool.algo.ts:659", "pc": [ + 2347, + 2348, 2349 ] }, { - "teal": 2609, - "source": "examples/reti/stakingPool.algo.ts:659", + "teal": 2614, + "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2350 + 2350, + 2351 ] }, { - "teal": 2610, - "source": "examples/reti/stakingPool.algo.ts:659", + "teal": 2615, + "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2351, 2352, 2353 ] }, { - "teal": 2618, + "teal": 2616, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ 2354, - 2355 + 2355, + 2356 ] }, { - "teal": 2619, + "teal": 2617, "source": "examples/reti/stakingPool.algo.ts:663", "pc": [ - 2356, 2357 ] }, { - "teal": 2620, - "source": "examples/reti/stakingPool.algo.ts:663", + "teal": 2618, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2358, - 2359, - 2360 + 2358 ] }, { - "teal": 2621, - "source": "examples/reti/stakingPool.algo.ts:663", + "teal": 2619, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2361 + 2359 ] }, { - "teal": 2622, - "source": "examples/reti/stakingPool.algo.ts:662", + "teal": 2620, + "source": "examples/reti/stakingPool.algo.ts:664", "pc": [ - 2362 + 2360, + 2361 ] }, { - "teal": 2623, + "teal": 2621, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2363 + 2362 ] }, { - "teal": 2624, - "source": "examples/reti/stakingPool.algo.ts:664", + "teal": 2622, + "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2364, - 2365 + 2363 ] }, { - "teal": 2625, + "teal": 2623, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2366 + 2364 ] }, { - "teal": 2626, + "teal": 2624, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2367 + 2365 ] }, { - "teal": 2627, + "teal": 2625, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2368 + 2366 ] }, { "teal": 2628, "source": "examples/reti/stakingPool.algo.ts:662", + "errorMessage": "wideRatio failed", "pc": [ - 2369 + 2367 ] }, { "teal": 2629, "source": "examples/reti/stakingPool.algo.ts:662", "pc": [ - 2370 + 2368, + 2369 ] }, { - "teal": 2632, - "source": "examples/reti/stakingPool.algo.ts:662", - "errorMessage": "wideRatio failed", + "teal": 2633, + "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ + 2370, 2371 ] }, { - "teal": 2633, - "source": "examples/reti/stakingPool.algo.ts:662", + "teal": 2634, + "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ 2372, 2373 ] }, { - "teal": 2637, + "teal": 2635, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ - 2374, - 2375 + 2374 ] }, { - "teal": 2638, + "teal": 2636, "source": "examples/reti/stakingPool.algo.ts:668", "pc": [ - 2376, - 2377 + 2375, + 2376 ] }, { - "teal": 2639, - "source": "examples/reti/stakingPool.algo.ts:668", + "teal": 2641, + "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ + 2377, 2378 ] }, { - "teal": 2640, - "source": "examples/reti/stakingPool.algo.ts:668", + "teal": 2642, + "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ - 2379, - 2380 + 2379 ] }, { - "teal": 2645, + "teal": 2643, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ - 2381, - 2382 + 2380 ] }, { - "teal": 2646, + "teal": 2644, "source": "examples/reti/stakingPool.algo.ts:675", "pc": [ + 2381, + 2382, 2383 ] }, { - "teal": 2647, - "source": "examples/reti/stakingPool.algo.ts:675", + "teal": 2649, + "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2384 ] }, { - "teal": 2648, - "source": "examples/reti/stakingPool.algo.ts:675", + "teal": 2650, + "source": "examples/reti/stakingPool.algo.ts:678", "pc": [ 2385, - 2386, - 2387 + 2386 ] }, { - "teal": 2653, - "source": "examples/reti/stakingPool.algo.ts:678", + "teal": 2656, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ + 2387, 2388 ] }, { - "teal": 2654, - "source": "examples/reti/stakingPool.algo.ts:678", + "teal": 2657, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2389, - 2390 + 2390, + 2391 ] }, { - "teal": 2660, + "teal": 2658, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2391, - 2392 + 2392, + 2393 ] }, { - "teal": 2661, + "teal": 2659, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2393, 2394, - 2395 + 2395, + 2396 ] }, { - "teal": 2662, + "teal": 2660, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2396, 2397 ] }, { - "teal": 2663, + "teal": 2661, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ - 2398, - 2399, - 2400 + 2398 ] }, { - "teal": 2664, + "teal": 2662, "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ + 2399, + 2400, 2401 ] }, + { + "teal": 2663, + "source": "examples/reti/stakingPool.algo.ts:681", + "pc": [ + 2402, + 2403 + ] + }, + { + "teal": 2664, + "source": "examples/reti/stakingPool.algo.ts:681", + "pc": [ + 2404, + 2405, + 2406 + ] + }, { "teal": 2665, - "source": "examples/reti/stakingPool.algo.ts:680", + "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2402 + 2407, + 2408 ] }, { "teal": 2666, - "source": "examples/reti/stakingPool.algo.ts:680", + "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2403, - 2404, - 2405 + 2409 ] }, { "teal": 2667, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2406, - 2407 + 2410, + 2411 ] }, { "teal": 2668, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2408, - 2409, - 2410 + 2412, + 2413, + 2414 ] }, { "teal": 2669, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2411, - 2412 + 2415, + 2416 ] }, { "teal": 2670, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2413 + 2417 ] }, { "teal": 2671, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ - 2414, - 2415 - ] - }, - { - "teal": 2672, - "source": "examples/reti/stakingPool.algo.ts:681", - "pc": [ - 2416, - 2417, 2418 ] }, { - "teal": 2673, + "teal": 2672, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2419, @@ -10916,182 +10922,164 @@ ] }, { - "teal": 2674, + "teal": 2673, "source": "examples/reti/stakingPool.algo.ts:681", "pc": [ 2421 ] }, { - "teal": 2675, - "source": "examples/reti/stakingPool.algo.ts:681", + "teal": 2674, + "source": "examples/reti/stakingPool.algo.ts:680", "pc": [ 2422 ] }, - { - "teal": 2676, - "source": "examples/reti/stakingPool.algo.ts:681", - "pc": [ - 2423, - 2424 - ] - }, { "teal": 2677, - "source": "examples/reti/stakingPool.algo.ts:681", + "source": "examples/reti/stakingPool.algo.ts:679", "pc": [ + 2423, + 2424, 2425 ] }, { - "teal": 2678, - "source": "examples/reti/stakingPool.algo.ts:680", + "teal": 2682, + "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2426 + 2426, + 2427 ] }, { - "teal": 2681, - "source": "examples/reti/stakingPool.algo.ts:679", + "teal": 2683, + "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2427, 2428, 2429 ] }, { - "teal": 2686, + "teal": 2684, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2430, - 2431 + 2430 ] }, { - "teal": 2687, + "teal": 2685, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ + 2431, 2432, 2433 ] }, { - "teal": 2688, + "teal": 2686, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2434 + 2434, + 2435 ] }, { - "teal": 2689, + "teal": 2687, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2435, 2436, - 2437 + 2437, + 2438 ] }, { "teal": 2690, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2438, - 2439 + 2439, + 2440 ] }, { - "teal": 2691, + "teal": 2693, "source": "examples/reti/stakingPool.algo.ts:683", "pc": [ - 2440, 2441, 2442 ] }, { - "teal": 2694, - "source": "examples/reti/stakingPool.algo.ts:683", + "teal": 2701, + "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2443, - 2444 + 2443 ] }, { - "teal": 2697, - "source": "examples/reti/stakingPool.algo.ts:683", + "teal": 2702, + "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2445, - 2446 + 2444 ] }, { - "teal": 2705, + "teal": 2703, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2447 + 2445, + 2446 ] }, { - "teal": 2706, - "source": "examples/reti/stakingPool.algo.ts:684", + "teal": 2707, + "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ + 2447, 2448 ] }, { - "teal": 2707, - "source": "examples/reti/stakingPool.algo.ts:684", + "teal": 2708, + "source": "examples/reti/stakingPool.algo.ts:685", "pc": [ 2449, 2450 ] }, { - "teal": 2711, - "source": "examples/reti/stakingPool.algo.ts:685", + "teal": 2712, + "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ 2451, 2452 ] }, { - "teal": 2712, - "source": "examples/reti/stakingPool.algo.ts:685", - "pc": [ - 2453, - 2454 - ] - }, - { - "teal": 2716, + "teal": 2713, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ - 2455, - 2456 + 2453, + 2454, + 2455 ] }, { - "teal": 2717, + "teal": 2714, "source": "examples/reti/stakingPool.algo.ts:686", "pc": [ - 2457, - 2458, - 2459 + 2456, + 2457 ] }, { "teal": 2718, - "source": "examples/reti/stakingPool.algo.ts:686", - "pc": [ - 2460, - 2461 - ] - }, - { - "teal": 2722, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ + 2458, + 2459, + 2460, + 2461, 2462, 2463, 2464, @@ -11142,171 +11130,171 @@ 2509, 2510, 2511, - 2512, - 2513, - 2514, - 2515, - 2516 + 2512 ] }, { - "teal": 2723, + "teal": 2719, "source": "examples/reti/stakingPool.algo.ts:687", "pc": [ - 2517, - 2518 + 2513, + 2514 ] }, { - "teal": 2726, + "teal": 2722, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2519 + 2515 ] }, { - "teal": 2727, + "teal": 2723, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2520, - 2521 + 2516, + 2517 ] }, { - "teal": 2730, + "teal": 2726, "source": "examples/reti/stakingPool.algo.ts:684", "pc": [ - 2522 + 2518 ] }, { - "teal": 2736, + "teal": 2732, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2523, - 2524 + 2519, + 2520 ] }, { - "teal": 2737, + "teal": 2733, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2525, - 2526 + 2521, + 2522 ] }, { - "teal": 2738, + "teal": 2734, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2527 + 2523 ] }, { - "teal": 2739, + "teal": 2735, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2528 + 2524 ] }, { - "teal": 2740, + "teal": 2736, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2529 + 2525 ] }, { - "teal": 2741, + "teal": 2737, "source": "examples/reti/stakingPool.algo.ts:690", "pc": [ - 2530, - 2531, - 2532 + 2526, + 2527, + 2528 ] }, { - "teal": 2750, + "teal": 2746, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2533 + 2529 ] }, { - "teal": 2751, + "teal": 2747, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2534 + 2530 ] }, { - "teal": 2752, + "teal": 2748, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2535, - 2536 + 2531, + 2532 ] }, { - "teal": 2756, + "teal": 2752, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2537, - 2538 + 2533, + 2534 ] }, { - "teal": 2757, + "teal": 2753, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2539, - 2540 + 2535, + 2536 ] }, { - "teal": 2758, + "teal": 2754, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2541 + 2537 ] }, { - "teal": 2759, + "teal": 2755, "source": "examples/reti/stakingPool.algo.ts:692", "pc": [ - 2542, - 2543 + 2538, + 2539 ] }, { - "teal": 2763, + "teal": 2759, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2544, - 2545 + 2540, + 2541 ] }, { - "teal": 2764, + "teal": 2760, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2546, - 2547, - 2548 + 2542, + 2543, + 2544 ] }, { - "teal": 2765, + "teal": 2761, "source": "examples/reti/stakingPool.algo.ts:693", "pc": [ - 2549, - 2550 + 2545, + 2546 ] }, { - "teal": 2769, + "teal": 2765, "source": "examples/reti/stakingPool.algo.ts:694", "pc": [ + 2547, + 2548, + 2549, + 2550, 2551, 2552, 2553, @@ -11320,158 +11308,170 @@ 2561, 2562, 2563, - 2564, + 2564 + ] + }, + { + "teal": 2766, + "source": "examples/reti/stakingPool.algo.ts:694", + "pc": [ 2565, - 2566, - 2567, - 2568 + 2566 + ] + }, + { + "teal": 2769, + "source": "examples/reti/stakingPool.algo.ts:691", + "pc": [ + 2567 ] }, { "teal": 2770, - "source": "examples/reti/stakingPool.algo.ts:694", + "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2569, - 2570 + 2568, + 2569 ] }, { "teal": 2773, "source": "examples/reti/stakingPool.algo.ts:691", "pc": [ - 2571 + 2570 ] }, { - "teal": 2774, - "source": "examples/reti/stakingPool.algo.ts:691", + "teal": 2782, + "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ - 2572, - 2573 + 2571 ] }, { - "teal": 2777, - "source": "examples/reti/stakingPool.algo.ts:691", + "teal": 2783, + "source": "examples/reti/stakingPool.algo.ts:706", "pc": [ - 2574 + 2572, + 2573 ] }, { - "teal": 2786, - "source": "examples/reti/stakingPool.algo.ts:706", + "teal": 2788, + "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2574, 2575 ] }, { - "teal": 2787, - "source": "examples/reti/stakingPool.algo.ts:706", + "teal": 2789, + "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2576, - 2577 + 2576 ] }, { - "teal": 2792, + "teal": 2790, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2578, - 2579 + 2577 ] }, { - "teal": 2793, + "teal": 2791, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2580 + 2578 ] }, { - "teal": 2794, + "teal": 2792, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2579, + 2580, 2581 ] }, { - "teal": 2795, + "teal": 2793, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2582 + 2582, + 2583 ] }, { - "teal": 2796, + "teal": 2794, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2583, - 2584, - 2585 + 2584 ] }, { - "teal": 2797, + "teal": 2795, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2586, - 2587 + 2585 ] }, { - "teal": 2798, + "teal": 2796, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ - 2588 + 2586 ] }, { "teal": 2799, "source": "examples/reti/stakingPool.algo.ts:730", "pc": [ + 2587, + 2588, 2589 ] }, { - "teal": 2800, - "source": "examples/reti/stakingPool.algo.ts:730", + "teal": 2804, + "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2590 ] }, { - "teal": 2803, - "source": "examples/reti/stakingPool.algo.ts:730", + "teal": 2805, + "source": "examples/reti/stakingPool.algo.ts:731", "pc": [ 2591, - 2592, - 2593 + 2592 ] }, { - "teal": 2808, - "source": "examples/reti/stakingPool.algo.ts:731", + "teal": 2809, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2594 + 2593 ] }, { - "teal": 2809, - "source": "examples/reti/stakingPool.algo.ts:731", + "teal": 2810, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2595, - 2596 + 2594, + 2595 ] }, { - "teal": 2813, + "teal": 2815, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ + 2596, 2597 ] }, { - "teal": 2814, + "teal": 2816, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2598, @@ -11479,123 +11479,123 @@ ] }, { - "teal": 2819, + "teal": 2817, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2600, - 2601 + 2600 ] }, { - "teal": 2820, + "teal": 2818, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ + 2601, 2602, 2603 ] }, { - "teal": 2821, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 2823, + "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2604 + 2604, + 2605 ] }, { - "teal": 2822, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 2824, + "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2605, 2606, 2607 ] }, { - "teal": 2827, + "teal": 2825, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ - 2608, - 2609 + 2608 ] }, { - "teal": 2828, + "teal": 2826, "source": "examples/reti/stakingPool.algo.ts:733", "pc": [ + 2609, 2610, 2611 ] }, { - "teal": 2829, - "source": "examples/reti/stakingPool.algo.ts:733", + "teal": 2831, + "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2612 ] }, { - "teal": 2830, - "source": "examples/reti/stakingPool.algo.ts:733", + "teal": 2832, + "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2613, - 2614, - 2615 + 2613 ] }, { - "teal": 2835, + "teal": 2833, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2616 + 2614, + 2615 ] }, { - "teal": 2836, + "teal": 2834, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2617 + 2616 ] }, { - "teal": 2837, + "teal": 2835, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2618, - 2619 + 2617, + 2618 ] }, { - "teal": 2838, + "teal": 2836, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ + 2619, 2620 ] }, { - "teal": 2839, + "teal": 2837, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2621, - 2622 + 2621 ] }, { - "teal": 2840, + "teal": 2838, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2623, - 2624 + 2622, + 2623 ] }, { - "teal": 2841, + "teal": 2839, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ + 2624, 2625 ] }, { - "teal": 2842, + "teal": 2840, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2626, @@ -11603,7 +11603,7 @@ ] }, { - "teal": 2843, + "teal": 2841, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ 2628, @@ -11611,562 +11611,574 @@ ] }, { - "teal": 2844, + "teal": 2842, "source": "examples/reti/stakingPool.algo.ts:734", "pc": [ - 2630, - 2631 + 2630 ] }, { - "teal": 2845, - "source": "examples/reti/stakingPool.algo.ts:734", + "teal": 2847, + "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2632, - 2633 + 2631, + 2632 ] }, { - "teal": 2846, - "source": "examples/reti/stakingPool.algo.ts:734", + "teal": 2848, + "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2634 + 2633 ] }, { - "teal": 2851, + "teal": 2849, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2635, - 2636 + 2634 ] }, { - "teal": 2852, + "teal": 2850, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2637 + 2635 ] }, { - "teal": 2853, + "teal": 2851, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2638 + 2636 ] }, { - "teal": 2854, + "teal": 2852, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2639 + 2637, + 2638 ] }, { - "teal": 2855, + "teal": 2853, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2640 + 2639 ] }, { - "teal": 2856, + "teal": 2854, "source": "examples/reti/stakingPool.algo.ts:736", "pc": [ - 2641, - 2642 + 2640, + 2641 ] }, { - "teal": 2857, - "source": "examples/reti/stakingPool.algo.ts:736", + "teal": 2859, + "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ + 2642, 2643 ] }, { - "teal": 2858, - "source": "examples/reti/stakingPool.algo.ts:736", + "teal": 2860, + "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ 2644, - 2645 + 2645, + 2646 ] }, { - "teal": 2863, + "teal": 2861, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ - 2646, - 2647 + 2647, + 2648 ] }, { - "teal": 2864, + "teal": 2862, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ - 2648, - 2649, - 2650 + 2649 ] }, { - "teal": 2865, + "teal": 2863, "source": "examples/reti/stakingPool.algo.ts:737", "pc": [ + 2650, 2651, 2652 ] }, { - "teal": 2866, - "source": "examples/reti/stakingPool.algo.ts:737", + "teal": 2869, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2653 + 2653, + 2654 ] }, { - "teal": 2867, - "source": "examples/reti/stakingPool.algo.ts:737", + "teal": 2870, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2654, 2655, - 2656 + 2656, + 2657 ] }, { - "teal": 2873, + "teal": 2871, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2657, 2658 ] }, { - "teal": 2874, + "teal": 2872, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ 2659, - 2660, - 2661 + 2660 ] }, { - "teal": 2875, + "teal": 2873, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2662 + 2661 ] }, { - "teal": 2876, + "teal": 2874, "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ + 2662, 2663, 2664 ] }, { - "teal": 2877, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2879, + "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2665 + 2665, + 2666 ] }, { - "teal": 2878, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2880, + "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2666, 2667, 2668 ] }, { - "teal": 2883, + "teal": 2881, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ 2669, - 2670 + 2670, + 2671 ] }, { - "teal": 2884, + "teal": 2882, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2671, 2672 ] }, { - "teal": 2885, + "teal": 2883, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2673, - 2674, - 2675 + 2673 ] }, { - "teal": 2886, + "teal": 2884, "source": "examples/reti/stakingPool.algo.ts:741", "pc": [ - 2676 + 2674, + 2675 ] }, { - "teal": 2887, - "source": "examples/reti/stakingPool.algo.ts:741", + "teal": 2885, + "source": "examples/reti/stakingPool.algo.ts:738", "pc": [ - 2677 + 2676, + 2677, + 2678 ] }, { - "teal": 2888, - "source": "examples/reti/stakingPool.algo.ts:741", + "teal": 2890, + "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2678, - 2679 + 2679, + 2680 ] }, { - "teal": 2889, - "source": "examples/reti/stakingPool.algo.ts:738", + "teal": 2891, + "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2680, 2681, 2682 ] }, { - "teal": 2894, + "teal": 2892, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ 2683, - 2684 + 2684, + 2685 ] }, { - "teal": 2895, + "teal": 2893, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2685, 2686 ] }, { - "teal": 2896, + "teal": 2894, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2687, - 2688, - 2689 + 2687 ] }, { - "teal": 2897, + "teal": 2895, "source": "examples/reti/stakingPool.algo.ts:745", "pc": [ - 2690 + 2688, + 2689 ] }, { - "teal": 2898, - "source": "examples/reti/stakingPool.algo.ts:745", + "teal": 2900, + "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ + 2690, 2691 ] }, { - "teal": 2899, - "source": "examples/reti/stakingPool.algo.ts:745", + "teal": 2901, + "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ 2692, 2693 ] }, { - "teal": 2904, + "teal": 2902, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ - 2694, - 2695 + 2694 ] }, { - "teal": 2905, + "teal": 2903, "source": "examples/reti/stakingPool.algo.ts:749", "pc": [ + 2695, 2696, 2697 ] }, { - "teal": 2906, - "source": "examples/reti/stakingPool.algo.ts:749", + "teal": 2908, + "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2698 + 2698, + 2699 ] }, { - "teal": 2907, - "source": "examples/reti/stakingPool.algo.ts:749", + "teal": 2909, + "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2699, 2700, 2701 ] }, { - "teal": 2912, + "teal": 2910, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ 2702, - 2703 + 2703, + 2704 ] }, { - "teal": 2913, + "teal": 2911, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2704, 2705 ] }, { - "teal": 2914, + "teal": 2912, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2706, - 2707, - 2708 + 2706 ] }, { - "teal": 2915, + "teal": 2913, "source": "examples/reti/stakingPool.algo.ts:750", "pc": [ - 2709 + 2707, + 2708 ] }, { - "teal": 2916, - "source": "examples/reti/stakingPool.algo.ts:750", + "teal": 2917, + "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ + 2709, 2710 ] }, { - "teal": 2917, - "source": "examples/reti/stakingPool.algo.ts:750", + "teal": 2918, + "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ 2711, 2712 ] }, { - "teal": 2921, + "teal": 2919, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2713, - 2714 + 2713 ] }, { - "teal": 2922, + "teal": 2920, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2715, - 2716 + 2714, + 2715 ] }, { - "teal": 2923, + "teal": 2921, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2717 + 2716 ] }, { - "teal": 2924, + "teal": 2922, "source": "examples/reti/stakingPool.algo.ts:751", "pc": [ - 2718, - 2719 + 2717, + 2718 ] }, { - "teal": 2925, - "source": "examples/reti/stakingPool.algo.ts:751", + "teal": 2927, + "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ + 2719, 2720 ] }, { - "teal": 2926, - "source": "examples/reti/stakingPool.algo.ts:751", + "teal": 2928, + "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ - 2721, - 2722 + 2721 ] }, { - "teal": 2931, + "teal": 2929, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ - 2723, - 2724 + 2722 ] }, { - "teal": 2932, + "teal": 2930, "source": "examples/reti/stakingPool.algo.ts:753", "pc": [ + 2723, + 2724, 2725 ] }, { - "teal": 2933, - "source": "examples/reti/stakingPool.algo.ts:753", + "teal": 2938, + "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2726 + 2726, + 2727 ] }, { - "teal": 2934, - "source": "examples/reti/stakingPool.algo.ts:753", + "teal": 2939, + "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2727, 2728, - 2729 + 2729, + 2730 ] }, { - "teal": 2942, + "teal": 2940, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2730, 2731 ] }, { - "teal": 2943, + "teal": 2941, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ 2732, - 2733, + 2733 + ] + }, + { + "teal": 2942, + "source": "examples/reti/stakingPool.algo.ts:755", + "pc": [ 2734 ] }, { - "teal": 2944, + "teal": 2943, "source": "examples/reti/stakingPool.algo.ts:756", "pc": [ - 2735 + 2735, + 2736 + ] + }, + { + "teal": 2944, + "source": "examples/reti/stakingPool.algo.ts:755", + "pc": [ + 2737, + 2738 ] }, { "teal": 2945, - "source": "examples/reti/stakingPool.algo.ts:756", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2736, - 2737 + 2739, + 2740 ] }, { "teal": 2946, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2738 + 2741 ] }, { "teal": 2947, - "source": "examples/reti/stakingPool.algo.ts:756", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2739, - 2740 + 2742, + 2743 ] }, { "teal": 2948, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2741, - 2742 + 2744 ] }, { "teal": 2949, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2743, - 2744 + 2745, + 2746 ] }, { "teal": 2950, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2745 + 2747 ] }, { "teal": 2951, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2746, - 2747 + 2748 ] }, { "teal": 2952, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2748 + 2749, + 2750 ] }, { "teal": 2953, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2749, - 2750 + 2751 ] }, { "teal": 2954, - "source": "examples/reti/stakingPool.algo.ts:755", + "source": "examples/reti/stakingPool.algo.ts:757", "pc": [ - 2751 + 2752, + 2753 ] }, { "teal": 2955, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2752 + 2754 ] }, { "teal": 2956, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2753, - 2754 + 2755 ] }, { "teal": 2957, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2755 + 2756 ] }, { "teal": 2958, - "source": "examples/reti/stakingPool.algo.ts:757", + "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2756, 2757 ] }, @@ -12184,83 +12196,71 @@ 2759 ] }, - { - "teal": 2961, - "source": "examples/reti/stakingPool.algo.ts:755", - "pc": [ - 2760 - ] - }, - { - "teal": 2962, - "source": "examples/reti/stakingPool.algo.ts:755", - "pc": [ - 2761 - ] - }, { "teal": 2963, "source": "examples/reti/stakingPool.algo.ts:755", + "errorMessage": "wideRatio failed", "pc": [ - 2762 + 2760 ] }, { "teal": 2964, "source": "examples/reti/stakingPool.algo.ts:755", "pc": [ - 2763 + 2761, + 2762 ] }, { - "teal": 2967, - "source": "examples/reti/stakingPool.algo.ts:755", - "errorMessage": "wideRatio failed", + "teal": 2968, + "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ + 2763, 2764 ] }, { - "teal": 2968, - "source": "examples/reti/stakingPool.algo.ts:755", + "teal": 2969, + "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ 2765, 2766 ] }, { - "teal": 2972, + "teal": 2970, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ - 2767, - 2768 + 2767 ] }, { - "teal": 2973, + "teal": 2971, "source": "examples/reti/stakingPool.algo.ts:762", "pc": [ - 2769, - 2770 + 2768, + 2769 ] }, { - "teal": 2974, - "source": "examples/reti/stakingPool.algo.ts:762", + "teal": 2975, + "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ + 2770, 2771 ] }, { - "teal": 2975, - "source": "examples/reti/stakingPool.algo.ts:762", + "teal": 2976, + "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2772, 2773 ] }, { - "teal": 2979, + "teal": 2977, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2774, @@ -12268,263 +12268,275 @@ ] }, { - "teal": 2980, + "teal": 2978, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2776, - 2777 + 2777, + 2778 ] }, { - "teal": 2981, + "teal": 2979, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2778, 2779 ] }, { - "teal": 2982, + "teal": 2980, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ 2780, - 2781, - 2782 + 2781 ] }, { - "teal": 2983, + "teal": 2981, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2783 + 2782 ] }, { - "teal": 2984, + "teal": 2982, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2784, - 2785 + 2783 ] }, { - "teal": 2985, + "teal": 2983, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2786 + 2784 ] }, { - "teal": 2986, + "teal": 2984, "source": "examples/reti/stakingPool.algo.ts:763", "pc": [ - 2787 + 2785, + 2786 ] }, { - "teal": 2987, - "source": "examples/reti/stakingPool.algo.ts:763", + "teal": 2988, + "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ + 2787, 2788 ] }, { - "teal": 2988, - "source": "examples/reti/stakingPool.algo.ts:763", + "teal": 2989, + "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ 2789, 2790 ] }, { - "teal": 2992, + "teal": 2990, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ - 2791, - 2792 + 2791 ] }, { - "teal": 2993, + "teal": 2991, "source": "examples/reti/stakingPool.algo.ts:764", "pc": [ - 2793, - 2794 + 2792, + 2793 ] }, { - "teal": 2994, - "source": "examples/reti/stakingPool.algo.ts:764", + "teal": 2997, + "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ + 2794, 2795 ] }, { - "teal": 2995, - "source": "examples/reti/stakingPool.algo.ts:764", + "teal": 2998, + "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ - 2796, - 2797 + 2796 ] }, { - "teal": 3001, + "teal": 2999, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ - 2798, - 2799 + 2797 ] }, { - "teal": 3002, + "teal": 3000, "source": "examples/reti/stakingPool.algo.ts:766", "pc": [ + 2798, + 2799, 2800 ] }, { - "teal": 3003, - "source": "examples/reti/stakingPool.algo.ts:766", + "teal": 3008, + "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2801 + 2801, + 2802 ] }, { - "teal": 3004, - "source": "examples/reti/stakingPool.algo.ts:766", + "teal": 3009, + "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2802, 2803, - 2804 + 2804, + 2805 ] }, { - "teal": 3012, + "teal": 3010, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2805, 2806 ] }, { - "teal": 3013, + "teal": 3011, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ 2807, - 2808, + 2808 + ] + }, + { + "teal": 3012, + "source": "examples/reti/stakingPool.algo.ts:768", + "pc": [ 2809 ] }, { - "teal": 3014, + "teal": 3013, "source": "examples/reti/stakingPool.algo.ts:769", "pc": [ - 2810 + 2810, + 2811 + ] + }, + { + "teal": 3014, + "source": "examples/reti/stakingPool.algo.ts:768", + "pc": [ + 2812, + 2813 ] }, { "teal": 3015, - "source": "examples/reti/stakingPool.algo.ts:769", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2811, - 2812 + 2814, + 2815 ] }, { "teal": 3016, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2813 + 2816 ] }, { "teal": 3017, - "source": "examples/reti/stakingPool.algo.ts:769", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2814, - 2815 + 2817, + 2818 ] }, { "teal": 3018, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2816, - 2817 + 2819 ] }, { "teal": 3019, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2818, - 2819 + 2820, + 2821 ] }, { "teal": 3020, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2820 + 2822 ] }, { "teal": 3021, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2821, - 2822 + 2823 ] }, { "teal": 3022, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2823 + 2824, + 2825 ] }, { "teal": 3023, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2824, - 2825 + 2826 ] }, { "teal": 3024, - "source": "examples/reti/stakingPool.algo.ts:768", + "source": "examples/reti/stakingPool.algo.ts:770", "pc": [ - 2826 + 2827, + 2828 ] }, { "teal": 3025, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2827 + 2829 ] }, { "teal": 3026, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2828, - 2829 + 2830 ] }, { "teal": 3027, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2830 + 2831 ] }, { "teal": 3028, - "source": "examples/reti/stakingPool.algo.ts:770", + "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2831, 2832 ] }, @@ -12542,83 +12554,71 @@ 2834 ] }, - { - "teal": 3031, - "source": "examples/reti/stakingPool.algo.ts:768", - "pc": [ - 2835 - ] - }, - { - "teal": 3032, - "source": "examples/reti/stakingPool.algo.ts:768", - "pc": [ - 2836 - ] - }, { "teal": 3033, "source": "examples/reti/stakingPool.algo.ts:768", + "errorMessage": "wideRatio failed", "pc": [ - 2837 + 2835 ] }, { "teal": 3034, "source": "examples/reti/stakingPool.algo.ts:768", "pc": [ - 2838 + 2836, + 2837 ] }, { - "teal": 3037, - "source": "examples/reti/stakingPool.algo.ts:768", - "errorMessage": "wideRatio failed", + "teal": 3038, + "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ + 2838, 2839 ] }, { - "teal": 3038, - "source": "examples/reti/stakingPool.algo.ts:768", + "teal": 3039, + "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ 2840, 2841 ] }, { - "teal": 3042, + "teal": 3040, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ - 2842, - 2843 + 2842 ] }, { - "teal": 3043, + "teal": 3041, "source": "examples/reti/stakingPool.algo.ts:775", "pc": [ - 2844, - 2845 + 2843, + 2844 ] }, { - "teal": 3044, - "source": "examples/reti/stakingPool.algo.ts:775", + "teal": 3045, + "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ + 2845, 2846 ] }, { - "teal": 3045, - "source": "examples/reti/stakingPool.algo.ts:775", + "teal": 3046, + "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2847, 2848 ] }, { - "teal": 3049, + "teal": 3047, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2849, @@ -12626,76 +12626,76 @@ ] }, { - "teal": 3050, + "teal": 3048, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2851, - 2852 + 2852, + 2853 ] }, { - "teal": 3051, + "teal": 3049, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2853, 2854 ] }, { - "teal": 3052, + "teal": 3050, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ 2855, - 2856, - 2857 + 2856 ] }, { - "teal": 3053, + "teal": 3051, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2858 + 2857 ] }, { - "teal": 3054, + "teal": 3052, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2859, - 2860 + 2858 ] }, { - "teal": 3055, + "teal": 3053, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2861 + 2859 ] }, { - "teal": 3056, + "teal": 3054, "source": "examples/reti/stakingPool.algo.ts:778", "pc": [ - 2862 + 2860, + 2861 ] }, { - "teal": 3057, - "source": "examples/reti/stakingPool.algo.ts:778", + "teal": 3058, + "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ + 2862, 2863 ] }, { - "teal": 3058, - "source": "examples/reti/stakingPool.algo.ts:778", + "teal": 3059, + "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2864, 2865 ] }, { - "teal": 3062, + "teal": 3060, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2866, @@ -12703,107 +12703,113 @@ ] }, { - "teal": 3063, + "teal": 3061, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2868, - 2869 + 2869, + 2870 ] }, { - "teal": 3064, + "teal": 3062, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2870, 2871 ] }, { - "teal": 3065, + "teal": 3063, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ 2872, - 2873, - 2874 + 2873 ] }, { - "teal": 3066, + "teal": 3064, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2875 + 2874 ] }, { - "teal": 3067, + "teal": 3065, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2876, - 2877 + 2875 ] }, { - "teal": 3068, + "teal": 3066, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2878 + 2876 ] }, { - "teal": 3069, + "teal": 3067, "source": "examples/reti/stakingPool.algo.ts:779", "pc": [ - 2879 + 2877, + 2878 ] }, { - "teal": 3070, - "source": "examples/reti/stakingPool.algo.ts:779", + "teal": 3071, + "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ + 2879, 2880 ] }, { - "teal": 3071, - "source": "examples/reti/stakingPool.algo.ts:779", + "teal": 3072, + "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ 2881, 2882 ] }, { - "teal": 3075, + "teal": 3073, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ - 2883, - 2884 + 2883 ] }, { - "teal": 3076, + "teal": 3074, "source": "examples/reti/stakingPool.algo.ts:780", "pc": [ - 2885, - 2886 + 2884, + 2885 ] }, { - "teal": 3077, - "source": "examples/reti/stakingPool.algo.ts:780", + "teal": 3079, + "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ + 2886, 2887 ] }, { - "teal": 3078, - "source": "examples/reti/stakingPool.algo.ts:780", + "teal": 3080, + "source": "examples/reti/stakingPool.algo.ts:783", + "pc": [ + 2888 + ] + }, + { + "teal": 3081, + "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2888, 2889 ] }, { - "teal": 3083, + "teal": 3082, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2890, @@ -12811,51 +12817,51 @@ ] }, { - "teal": 3084, + "teal": 3083, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ 2892 ] }, { - "teal": 3085, + "teal": 3084, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2893 + 2893, + 2894 ] }, { - "teal": 3086, + "teal": 3085, "source": "examples/reti/stakingPool.algo.ts:783", "pc": [ - 2894, 2895 ] }, { - "teal": 3087, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3096, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2896 + 2896, + 2897 ] }, { - "teal": 3088, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3097, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2897, 2898 ] }, { - "teal": 3089, - "source": "examples/reti/stakingPool.algo.ts:783", + "teal": 3098, + "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2899 ] }, { - "teal": 3100, + "teal": 3099, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ 2900, @@ -12863,114 +12869,108 @@ ] }, { - "teal": 3101, - "source": "examples/reti/stakingPool.algo.ts:732", - "pc": [ - 2902 - ] - }, - { - "teal": 3102, + "teal": 3100, "source": "examples/reti/stakingPool.algo.ts:732", "pc": [ - 2903 + 2902, + 2903, + 2904 ] }, { - "teal": 3103, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 3105, + "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2904, - 2905 + 2905, + 2906 ] }, { - "teal": 3104, - "source": "examples/reti/stakingPool.algo.ts:732", + "teal": 3106, + "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2906, - 2907, - 2908 + 2907 ] }, { - "teal": 3109, + "teal": 3107, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2909, - 2910 + 2908, + 2909 ] }, { - "teal": 3110, + "teal": 3108, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2911 + 2910 ] }, { - "teal": 3111, + "teal": 3109, "source": "examples/reti/stakingPool.algo.ts:791", "pc": [ - 2912, - 2913 + 2911, + 2912 ] }, { - "teal": 3112, - "source": "examples/reti/stakingPool.algo.ts:791", + "teal": 3114, + "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ + 2913, 2914 ] }, { - "teal": 3113, - "source": "examples/reti/stakingPool.algo.ts:791", + "teal": 3115, + "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ - 2915, - 2916 + 2915 ] }, { - "teal": 3118, + "teal": 3116, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ - 2917, - 2918 + 2916 ] }, { - "teal": 3119, + "teal": 3117, "source": "examples/reti/stakingPool.algo.ts:795", "pc": [ + 2917, + 2918, 2919 ] }, { - "teal": 3120, - "source": "examples/reti/stakingPool.algo.ts:795", + "teal": 3122, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2920 ] }, { - "teal": 3121, - "source": "examples/reti/stakingPool.algo.ts:795", + "teal": 3123, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2921, - 2922, - 2923 + 2922 ] }, { - "teal": 3126, + "teal": 3128, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ + 2923, 2924 ] }, { - "teal": 3127, + "teal": 3129, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 2925, @@ -12978,123 +12978,123 @@ ] }, { - "teal": 3132, + "teal": 3130, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 2927, - 2928 + 2927 ] }, { - "teal": 3133, + "teal": 3131, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ + 2928, 2929, 2930 ] }, { - "teal": 3134, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3136, + "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2931 + 2931, + 2932 ] }, { - "teal": 3135, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3137, + "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2932, 2933, 2934 ] }, { - "teal": 3140, + "teal": 3138, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ - 2935, - 2936 + 2935 ] }, { - "teal": 3141, + "teal": 3139, "source": "examples/reti/stakingPool.algo.ts:798", "pc": [ + 2936, 2937, 2938 ] }, { - "teal": 3142, - "source": "examples/reti/stakingPool.algo.ts:798", + "teal": 3144, + "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2939 ] }, { - "teal": 3143, - "source": "examples/reti/stakingPool.algo.ts:798", + "teal": 3145, + "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2940, - 2941, - 2942 + 2940 ] }, { - "teal": 3148, + "teal": 3146, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2943 + 2941, + 2942 ] }, { - "teal": 3149, + "teal": 3147, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2944 + 2943 ] }, { - "teal": 3150, + "teal": 3148, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2945, - 2946 + 2944, + 2945 ] }, { - "teal": 3151, + "teal": 3149, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ + 2946, 2947 ] }, { - "teal": 3152, + "teal": 3150, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2948, - 2949 + 2948 ] }, { - "teal": 3153, + "teal": 3151, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2950, - 2951 + 2949, + 2950 ] }, { - "teal": 3154, + "teal": 3152, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ + 2951, 2952 ] }, { - "teal": 3155, + "teal": 3153, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2953, @@ -13102,7 +13102,7 @@ ] }, { - "teal": 3156, + "teal": 3154, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ 2955, @@ -13110,326 +13110,332 @@ ] }, { - "teal": 3157, + "teal": 3155, "source": "examples/reti/stakingPool.algo.ts:799", "pc": [ - 2957, - 2958 + 2957 ] }, { - "teal": 3158, - "source": "examples/reti/stakingPool.algo.ts:799", + "teal": 3160, + "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2959, - 2960 + 2958, + 2959 ] }, { - "teal": 3159, - "source": "examples/reti/stakingPool.algo.ts:799", + "teal": 3161, + "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2961 + 2960 ] }, { - "teal": 3164, + "teal": 3162, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2962, - 2963 + 2961 ] }, { - "teal": 3165, + "teal": 3163, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2964 + 2962 ] }, { - "teal": 3166, + "teal": 3164, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2965 + 2963 ] }, { - "teal": 3167, + "teal": 3165, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2966 + 2964, + 2965 ] }, { - "teal": 3168, + "teal": 3166, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2967 + 2966 ] }, { - "teal": 3169, + "teal": 3167, "source": "examples/reti/stakingPool.algo.ts:801", "pc": [ - 2968, - 2969 + 2967, + 2968 ] }, { - "teal": 3170, - "source": "examples/reti/stakingPool.algo.ts:801", + "teal": 3172, + "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2969, 2970 ] }, { - "teal": 3171, - "source": "examples/reti/stakingPool.algo.ts:801", + "teal": 3173, + "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2971, - 2972 + 2972, + 2973 ] }, { - "teal": 3176, + "teal": 3174, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2973, - 2974 + 2974, + 2975 ] }, { - "teal": 3177, + "teal": 3175, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2975, - 2976, - 2977 + 2976 ] }, { - "teal": 3178, + "teal": 3176, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2978, - 2979 + 2977 ] }, { - "teal": 3179, + "teal": 3177, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2978, + 2979, 2980 ] }, { - "teal": 3180, + "teal": 3178, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2981 + 2981, + 2982 ] }, { - "teal": 3181, + "teal": 3179, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2982, 2983, - 2984 + 2984, + 2985 ] }, { - "teal": 3182, + "teal": 3180, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2985, 2986 ] }, { - "teal": 3183, + "teal": 3181, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ 2987, - 2988, - 2989 + 2988 ] }, { - "teal": 3184, + "teal": 3182, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2990 + 2989 ] }, { - "teal": 3185, + "teal": 3183, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ - 2991, - 2992 + 2990 ] }, { "teal": 3186, "source": "examples/reti/stakingPool.algo.ts:802", "pc": [ + 2991, + 2992, 2993 ] }, { - "teal": 3187, - "source": "examples/reti/stakingPool.algo.ts:802", + "teal": 3191, + "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 2994 + 2994, + 2995 ] }, { - "teal": 3190, - "source": "examples/reti/stakingPool.algo.ts:802", + "teal": 3192, + "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 2995, 2996, 2997 ] }, { - "teal": 3195, + "teal": 3193, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ 2998, - 2999 + 2999, + 3000 ] }, { - "teal": 3196, + "teal": 3194, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3000, 3001 ] }, { - "teal": 3197, + "teal": 3195, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3002, - 3003, - 3004 + 3002 ] }, { - "teal": 3198, + "teal": 3196, "source": "examples/reti/stakingPool.algo.ts:803", "pc": [ - 3005 + 3003, + 3004 ] }, { - "teal": 3199, - "source": "examples/reti/stakingPool.algo.ts:803", + "teal": 3201, + "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ + 3005, 3006 ] }, { - "teal": 3200, - "source": "examples/reti/stakingPool.algo.ts:803", + "teal": 3202, + "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ 3007, 3008 ] }, { - "teal": 3205, + "teal": 3203, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ - 3009, - 3010 + 3009 ] }, { - "teal": 3206, + "teal": 3204, "source": "examples/reti/stakingPool.algo.ts:805", "pc": [ + 3010, 3011, 3012 ] }, { - "teal": 3207, - "source": "examples/reti/stakingPool.algo.ts:805", + "teal": 3210, + "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3013 + 3013, + 3014 ] }, { - "teal": 3208, - "source": "examples/reti/stakingPool.algo.ts:805", + "teal": 3211, + "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3014, - 3015, - 3016 + 3015 ] }, { - "teal": 3214, + "teal": 3212, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ - 3017, - 3018 + 3016 ] }, { - "teal": 3215, + "teal": 3213, "source": "examples/reti/stakingPool.algo.ts:810", "pc": [ + 3017, + 3018, 3019 ] }, { - "teal": 3216, - "source": "examples/reti/stakingPool.algo.ts:810", + "teal": 3218, + "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3020 + 3020, + 3021 ] }, { - "teal": 3217, - "source": "examples/reti/stakingPool.algo.ts:810", + "teal": 3219, + "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3021, 3022, - 3023 + 3023, + 3024 ] }, { - "teal": 3222, + "teal": 3220, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3024, 3025 ] }, { - "teal": 3223, + "teal": 3221, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3026, - 3027, + 3027 + ] + }, + { + "teal": 3222, + "source": "examples/reti/stakingPool.algo.ts:811", + "pc": [ 3028 ] }, { - "teal": 3224, + "teal": 3223, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3029 ] }, { - "teal": 3225, + "teal": 3224, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3030, @@ -13437,80 +13443,74 @@ ] }, { - "teal": 3226, + "teal": 3225, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3032 ] }, { - "teal": 3227, + "teal": 3226, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ 3033 ] }, { - "teal": 3228, - "source": "examples/reti/stakingPool.algo.ts:811", - "pc": [ - 3034, - 3035 - ] - }, - { - "teal": 3229, + "teal": 3227, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3036 + 3034 ] }, { - "teal": 3230, + "teal": 3228, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3037 + 3035 ] }, { - "teal": 3231, + "teal": 3229, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3038 + 3036 ] }, { "teal": 3232, "source": "examples/reti/stakingPool.algo.ts:811", + "errorMessage": "wideRatio failed", "pc": [ - 3039 + 3037 ] }, { "teal": 3233, "source": "examples/reti/stakingPool.algo.ts:811", "pc": [ - 3040 + 3038, + 3039 ] }, { - "teal": 3236, - "source": "examples/reti/stakingPool.algo.ts:811", - "errorMessage": "wideRatio failed", + "teal": 3237, + "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ + 3040, 3041 ] }, { - "teal": 3237, - "source": "examples/reti/stakingPool.algo.ts:811", + "teal": 3238, + "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3042, 3043 ] }, { - "teal": 3241, + "teal": 3239, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3044, @@ -13518,162 +13518,168 @@ ] }, { - "teal": 3242, + "teal": 3240, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3046, - 3047 + 3047, + 3048 ] }, { - "teal": 3243, + "teal": 3241, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3048, 3049 ] }, { - "teal": 3244, + "teal": 3242, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ 3050, - 3051, - 3052 + 3051 ] }, { - "teal": 3245, + "teal": 3243, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3053 + 3052 ] }, { - "teal": 3246, + "teal": 3244, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3054, - 3055 + 3053 ] }, { - "teal": 3247, + "teal": 3245, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3056 + 3054 ] }, { - "teal": 3248, + "teal": 3246, "source": "examples/reti/stakingPool.algo.ts:814", "pc": [ - 3057 + 3055, + 3056 ] }, { - "teal": 3249, - "source": "examples/reti/stakingPool.algo.ts:814", + "teal": 3250, + "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ + 3057, 3058 ] }, { - "teal": 3250, - "source": "examples/reti/stakingPool.algo.ts:814", + "teal": 3251, + "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ 3059, 3060 ] }, { - "teal": 3254, + "teal": 3252, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ - 3061, - 3062 + 3061 ] }, { - "teal": 3255, + "teal": 3253, "source": "examples/reti/stakingPool.algo.ts:815", "pc": [ - 3063, - 3064 + 3062, + 3063 ] }, { - "teal": 3256, - "source": "examples/reti/stakingPool.algo.ts:815", + "teal": 3259, + "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ + 3064, 3065 ] }, { - "teal": 3257, - "source": "examples/reti/stakingPool.algo.ts:815", + "teal": 3260, + "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ - 3066, - 3067 + 3066 ] }, { - "teal": 3263, + "teal": 3261, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ - 3068, - 3069 + 3067 ] }, { - "teal": 3264, + "teal": 3262, "source": "examples/reti/stakingPool.algo.ts:817", "pc": [ + 3068, + 3069, 3070 ] }, { - "teal": 3265, - "source": "examples/reti/stakingPool.algo.ts:817", + "teal": 3267, + "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3071 + 3071, + 3072 ] }, { - "teal": 3266, - "source": "examples/reti/stakingPool.algo.ts:817", + "teal": 3268, + "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3072, 3073, - 3074 + 3074, + 3075 ] }, { - "teal": 3271, + "teal": 3269, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3075, 3076 ] }, { - "teal": 3272, + "teal": 3270, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3077, - 3078, + 3078 + ] + }, + { + "teal": 3271, + "source": "examples/reti/stakingPool.algo.ts:818", + "pc": [ 3079 ] }, { - "teal": 3273, + "teal": 3272, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3080 ] }, { - "teal": 3274, + "teal": 3273, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3081, @@ -13681,80 +13687,74 @@ ] }, { - "teal": 3275, + "teal": 3274, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3083 ] }, { - "teal": 3276, + "teal": 3275, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ 3084 ] }, { - "teal": 3277, - "source": "examples/reti/stakingPool.algo.ts:818", - "pc": [ - 3085, - 3086 - ] - }, - { - "teal": 3278, + "teal": 3276, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3087 + 3085 ] }, { - "teal": 3279, + "teal": 3277, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3088 + 3086 ] }, { - "teal": 3280, + "teal": 3278, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3089 + 3087 ] }, { "teal": 3281, "source": "examples/reti/stakingPool.algo.ts:818", + "errorMessage": "wideRatio failed", "pc": [ - 3090 + 3088 ] }, { "teal": 3282, "source": "examples/reti/stakingPool.algo.ts:818", "pc": [ - 3091 + 3089, + 3090 ] }, { - "teal": 3285, - "source": "examples/reti/stakingPool.algo.ts:818", - "errorMessage": "wideRatio failed", + "teal": 3286, + "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ + 3091, 3092 ] }, { - "teal": 3286, - "source": "examples/reti/stakingPool.algo.ts:818", + "teal": 3287, + "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3093, 3094 ] }, { - "teal": 3290, + "teal": 3288, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3095, @@ -13762,76 +13762,76 @@ ] }, { - "teal": 3291, + "teal": 3289, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3097, - 3098 + 3098, + 3099 ] }, { - "teal": 3292, + "teal": 3290, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3099, 3100 ] }, { - "teal": 3293, + "teal": 3291, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ 3101, - 3102, - 3103 + 3102 ] }, { - "teal": 3294, + "teal": 3292, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3104 + 3103 ] }, { - "teal": 3295, + "teal": 3293, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3105, - 3106 + 3104 ] }, { - "teal": 3296, + "teal": 3294, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3107 + 3105 ] }, { - "teal": 3297, + "teal": 3295, "source": "examples/reti/stakingPool.algo.ts:821", "pc": [ - 3108 + 3106, + 3107 ] }, { - "teal": 3298, - "source": "examples/reti/stakingPool.algo.ts:821", + "teal": 3299, + "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ + 3108, 3109 ] }, { - "teal": 3299, - "source": "examples/reti/stakingPool.algo.ts:821", + "teal": 3300, + "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3110, 3111 ] }, { - "teal": 3303, + "teal": 3301, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3112, @@ -13839,107 +13839,113 @@ ] }, { - "teal": 3304, + "teal": 3302, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3114, - 3115 + 3115, + 3116 ] }, { - "teal": 3305, + "teal": 3303, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3116, 3117 ] }, { - "teal": 3306, + "teal": 3304, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ 3118, - 3119, - 3120 + 3119 ] }, { - "teal": 3307, + "teal": 3305, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3121 + 3120 ] }, { - "teal": 3308, + "teal": 3306, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3122, - 3123 + 3121 ] }, { - "teal": 3309, + "teal": 3307, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3124 + 3122 ] }, { - "teal": 3310, + "teal": 3308, "source": "examples/reti/stakingPool.algo.ts:822", "pc": [ - 3125 + 3123, + 3124 ] }, { - "teal": 3311, - "source": "examples/reti/stakingPool.algo.ts:822", + "teal": 3312, + "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ + 3125, 3126 ] }, { - "teal": 3312, - "source": "examples/reti/stakingPool.algo.ts:822", + "teal": 3313, + "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ 3127, 3128 ] }, { - "teal": 3316, + "teal": 3314, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ - 3129, - 3130 + 3129 ] }, { - "teal": 3317, + "teal": 3315, "source": "examples/reti/stakingPool.algo.ts:823", "pc": [ - 3131, - 3132 + 3130, + 3131 ] }, { - "teal": 3318, - "source": "examples/reti/stakingPool.algo.ts:823", + "teal": 3320, + "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ + 3132, 3133 ] }, { - "teal": 3319, - "source": "examples/reti/stakingPool.algo.ts:823", + "teal": 3321, + "source": "examples/reti/stakingPool.algo.ts:827", + "pc": [ + 3134 + ] + }, + { + "teal": 3322, + "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3134, 3135 ] }, { - "teal": 3324, + "teal": 3323, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3136, @@ -13947,51 +13953,51 @@ ] }, { - "teal": 3325, + "teal": 3324, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ 3138 ] }, { - "teal": 3326, + "teal": 3325, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3139 + 3139, + 3140 ] }, { - "teal": 3327, + "teal": 3326, "source": "examples/reti/stakingPool.algo.ts:827", "pc": [ - 3140, 3141 ] }, { - "teal": 3328, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3335, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3142 + 3142, + 3143 ] }, { - "teal": 3329, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3336, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3143, 3144 ] }, { - "teal": 3330, - "source": "examples/reti/stakingPool.algo.ts:827", + "teal": 3337, + "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3145 ] }, { - "teal": 3339, + "teal": 3338, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ 3146, @@ -13999,53 +14005,53 @@ ] }, { - "teal": 3340, + "teal": 3339, "source": "examples/reti/stakingPool.algo.ts:797", "pc": [ - 3148 + 3148, + 3149, + 3150 ] }, { - "teal": 3341, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3348, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3149 + 3151, + 3152 ] }, { - "teal": 3342, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3349, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3150, - 3151 + 3153 ] }, { - "teal": 3343, - "source": "examples/reti/stakingPool.algo.ts:797", + "teal": 3350, + "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3152, - 3153, - 3154 + 3154, + 3155 ] }, { - "teal": 3352, + "teal": 3351, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3155, 3156 ] }, { - "teal": 3353, + "teal": 3352, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3157 ] }, { - "teal": 3354, + "teal": 3353, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3158, @@ -14053,136 +14059,142 @@ ] }, { - "teal": 3355, + "teal": 3354, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ 3160 ] }, { - "teal": 3356, + "teal": 3355, "source": "examples/reti/stakingPool.algo.ts:837", "pc": [ - 3161 + 3161, + 3162 ] }, { - "teal": 3357, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3359, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3162, - 3163 + 3163, + 3164 ] }, { - "teal": 3358, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3360, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3164 + 3165 ] }, { - "teal": 3359, - "source": "examples/reti/stakingPool.algo.ts:837", + "teal": 3361, + "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3165, - 3166 + 3166, + 3167 ] }, { - "teal": 3363, + "teal": 3362, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3167, 3168 ] }, { - "teal": 3364, + "teal": 3363, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3169 + 3169, + 3170 ] }, { - "teal": 3365, + "teal": 3364, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ - 3170, 3171 ] }, { - "teal": 3366, + "teal": 3365, "source": "examples/reti/stakingPool.algo.ts:838", "pc": [ 3172 ] }, { - "teal": 3367, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3370, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3173, 3174 ] }, { - "teal": 3368, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3371, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ 3175 ] }, { - "teal": 3369, - "source": "examples/reti/stakingPool.algo.ts:838", + "teal": 3372, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3176 ] }, { - "teal": 3374, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3373, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3177, 3178 ] }, { - "teal": 3375, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3374, + "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3179 ] }, + { + "teal": 3375, + "source": "examples/reti/stakingPool.algo.ts:840", + "pc": [ + 3180, + 3181 + ] + }, { "teal": 3376, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3180 + 3182 ] }, { "teal": 3377, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3181, - 3182 + 3183 ] }, { "teal": 3378, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3183 + 3184 ] }, { "teal": 3379, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3184, 3185 ] }, @@ -14197,32 +14209,27 @@ "teal": 3381, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3187 - ] - }, - { - "teal": 3382, - "source": "examples/reti/stakingPool.algo.ts:840", - "pc": [ + 3187, 3188 ] }, { - "teal": 3383, + "teal": 3382, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3189 ] }, { - "teal": 3384, + "teal": 3385, "source": "examples/reti/stakingPool.algo.ts:840", + "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 3190 ] }, { - "teal": 3385, + "teal": 3386, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3191, @@ -14230,94 +14237,93 @@ ] }, { - "teal": 3386, + "teal": 3387, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3193 ] }, { - "teal": 3389, + "teal": 3388, "source": "examples/reti/stakingPool.algo.ts:840", - "errorMessage": "this.stakeAccumulator.value + (increasedStake as uint128) * (roundsLeftInBin as uint128) overflowed 128 bits", "pc": [ 3194 ] }, { - "teal": 3390, + "teal": 3389, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3195, - 3196 + 3195 ] }, { - "teal": 3391, + "teal": 3390, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3197 + 3196 ] }, { - "teal": 3392, + "teal": 3391, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ + 3197, 3198 ] }, { - "teal": 3393, + "teal": 3392, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3199 ] }, { - "teal": 3394, + "teal": 3393, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ 3200 ] }, { - "teal": 3395, + "teal": 3394, "source": "examples/reti/stakingPool.algo.ts:840", "pc": [ - 3201, - 3202 + 3201 ] }, { - "teal": 3396, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3395, + "source": "examples/reti/stakingPool.algo.ts:839", "pc": [ - 3203 + 3202 ] }, { - "teal": 3397, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3399, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ + 3203, 3204 ] }, { - "teal": 3398, - "source": "examples/reti/stakingPool.algo.ts:840", + "teal": 3400, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3205 ] }, { - "teal": 3399, - "source": "examples/reti/stakingPool.algo.ts:839", + "teal": 3401, + "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3206 ] }, { - "teal": 3403, + "teal": 3402, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3207, @@ -14325,310 +14331,304 @@ ] }, { - "teal": 3404, + "teal": 3403, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3209 ] }, { - "teal": 3405, + "teal": 3404, "source": "examples/reti/stakingPool.algo.ts:841", "pc": [ 3210 ] }, { - "teal": 3406, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3417, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3211, - 3212 + 3211 ] }, { - "teal": 3407, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3418, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3213 + 3212 ] }, { - "teal": 3408, - "source": "examples/reti/stakingPool.algo.ts:841", + "teal": 3419, + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ + 3213, 3214 ] }, { - "teal": 3421, + "teal": 3420, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3215 + 3215, + 3216, + 3217, + 3218, + 3219, + 3220 ] }, { - "teal": 3422, + "teal": 3421, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3216 + 3221, + 3222 ] }, { - "teal": 3423, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3425, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ - 3217, - 3218 + 3223 ] }, { - "teal": 3424, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3426, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ - 3219, - 3220, - 3221, - 3222, - 3223, 3224 ] }, { - "teal": 3425, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3427, + "source": "examples/reti/stakingPool.algo.ts:848", "pc": [ 3225, 3226 ] }, { - "teal": 3429, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3437, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3227 ] }, { - "teal": 3430, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3438, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3228 ] }, { - "teal": 3431, - "source": "examples/reti/stakingPool.algo.ts:848", + "teal": 3439, + "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3229, - 3230 + 3229 ] }, { - "teal": 3441, + "teal": 3440, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ + 3230, 3231 ] }, { - "teal": 3442, + "teal": 3441, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3232 ] }, { - "teal": 3443, + "teal": 3442, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ 3233 ] }, + { + "teal": 3443, + "source": "examples/reti/stakingPool.algo.ts:850", + "pc": [ + 3234 + ] + }, { "teal": 3444, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3234, - 3235 + 3235, + 3236, + 3237 ] }, { "teal": 3445, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3236 + 3238 ] }, { "teal": 3446, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3237 + 3239 ] }, { "teal": 3447, "source": "examples/reti/stakingPool.algo.ts:850", "pc": [ - 3238 + 3240, + 3241 ] }, { "teal": 3448, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3239, - 3240, - 3241 + 3242, + 3243 ] }, { "teal": 3449, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3242 + 3244 ] }, { "teal": 3450, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:851", "pc": [ - 3243 + 3245, + 3246 ] }, { "teal": 3451, - "source": "examples/reti/stakingPool.algo.ts:850", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3244, - 3245 + 3247, + 3248 ] }, { "teal": 3452, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3246, - 3247 + 3249 ] }, { "teal": 3453, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:852", "pc": [ - 3248 + 3250, + 3251 ] }, { "teal": 3454, - "source": "examples/reti/stakingPool.algo.ts:851", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3249, - 3250 + 3252, + 3253 ] }, { "teal": 3455, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3251, - 3252 + 3254 ] }, { "teal": 3456, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:853", "pc": [ - 3253 + 3255, + 3256 ] }, { "teal": 3457, - "source": "examples/reti/stakingPool.algo.ts:852", + "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3254, - 3255 + 3257, + 3258 ] }, { "teal": 3458, - "source": "examples/reti/stakingPool.algo.ts:853", + "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3256, - 3257 + 3259 ] }, { "teal": 3459, - "source": "examples/reti/stakingPool.algo.ts:853", - "pc": [ - 3258 - ] - }, - { - "teal": 3460, - "source": "examples/reti/stakingPool.algo.ts:853", - "pc": [ - 3259, - 3260 - ] - }, - { - "teal": 3461, "source": "examples/reti/stakingPool.algo.ts:854", "pc": [ - 3261, - 3262 + 3260, + 3261 ] }, { "teal": 3462, - "source": "examples/reti/stakingPool.algo.ts:854", + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3263 + 3262 ] }, { "teal": 3463, - "source": "examples/reti/stakingPool.algo.ts:854", + "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3264, - 3265 + 3263, + 3264 ] }, { "teal": 3466, "source": "examples/reti/stakingPool.algo.ts:847", "pc": [ - 3266 + 3265 ] }, { "teal": 3467, - "source": "examples/reti/stakingPool.algo.ts:847", + "source": "examples/reti/stakingPool.algo.ts:518", "pc": [ - 3267, - 3268 + 3266 ] }, { - "teal": 3470, - "source": "examples/reti/stakingPool.algo.ts:847", + "teal": 3472, + "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ + 3267, + 3268, 3269 ] }, { - "teal": 3471, - "source": "examples/reti/stakingPool.algo.ts:518", + "teal": 3473, + "source": "examples/reti/stakingPool.algo.ts:879", "pc": [ 3270 ] }, { "teal": 3476, - "source": "examples/reti/stakingPool.algo.ts:879", + "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3271, 3272, @@ -14637,14 +14637,14 @@ }, { "teal": 3477, - "source": "examples/reti/stakingPool.algo.ts:879", + "source": "examples/reti/stakingPool.algo.ts:878", "pc": [ 3274 ] }, { "teal": 3480, - "source": "examples/reti/stakingPool.algo.ts:878", + "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3275, 3276, @@ -14653,14 +14653,14 @@ }, { "teal": 3481, - "source": "examples/reti/stakingPool.algo.ts:878", + "source": "examples/reti/stakingPool.algo.ts:877", "pc": [ 3278 ] }, { "teal": 3484, - "source": "examples/reti/stakingPool.algo.ts:877", + "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ 3279, 3280, @@ -14669,150 +14669,150 @@ }, { "teal": 3485, - "source": "examples/reti/stakingPool.algo.ts:877", + "source": "examples/reti/stakingPool.algo.ts:876", "pc": [ - 3282 + 3282, + 3283, + 3284 ] }, { "teal": 3488, - "source": "examples/reti/stakingPool.algo.ts:876", + "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ - 3283, - 3284, - 3285 + 3285, + 3286, + 3287 ] }, { "teal": 3489, - "source": "examples/reti/stakingPool.algo.ts:876", + "source": "examples/reti/stakingPool.algo.ts:875", "pc": [ - 3286, - 3287, - 3288 + 3288, + 3289, + 3290 ] }, { "teal": 3492, - "source": "examples/reti/stakingPool.algo.ts:875", + "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ - 3289, - 3290, - 3291 + 3291, + 3292, + 3293 ] }, { "teal": 3493, - "source": "examples/reti/stakingPool.algo.ts:875", + "source": "examples/reti/stakingPool.algo.ts:874", "pc": [ - 3292, - 3293, - 3294 + 3294, + 3295, + 3296 ] }, { "teal": 3496, - "source": "examples/reti/stakingPool.algo.ts:874", + "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3295, - 3296, - 3297 + 3297, + 3298 ] }, { "teal": 3497, - "source": "examples/reti/stakingPool.algo.ts:874", + "source": "examples/reti/stakingPool.algo.ts:873", + "pc": [ + 3299 + ] + }, + { + "teal": 3498, + "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3298, - 3299, 3300 ] }, { - "teal": 3500, + "teal": 3499, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ - 3301, - 3302 + 3301 ] }, { - "teal": 3501, + "teal": 3500, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ + 3302, 3303 ] }, { - "teal": 3502, + "teal": 3501, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3304 ] }, { - "teal": 3503, + "teal": 3502, "source": "examples/reti/stakingPool.algo.ts:873", "pc": [ 3305 ] }, - { - "teal": 3504, - "source": "examples/reti/stakingPool.algo.ts:873", - "pc": [ - 3306, - 3307 - ] - }, { "teal": 3505, "source": "examples/reti/stakingPool.algo.ts:873", + "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction", "pc": [ - 3308 + 3306 ] }, { - "teal": 3506, - "source": "examples/reti/stakingPool.algo.ts:873", + "teal": 3508, + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ + 3307, + 3308, 3309 ] }, { "teal": 3509, - "source": "examples/reti/stakingPool.algo.ts:873", - "errorMessage": "argument 6 (feePayment) for goOnline must be a pay transaction", + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3310 ] }, { - "teal": 3512, + "teal": 3510, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ - 3311, - 3312, - 3313 + 3311 ] }, { - "teal": 3513, + "teal": 3526, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ + 3312, + 3313, 3314 ] }, { - "teal": 3514, + "teal": 3529, "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ 3315 ] }, { - "teal": 3530, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3533, + "source": "examples/reti/stakingPool.algo.ts:881", "pc": [ 3316, 3317, @@ -14820,15 +14820,16 @@ ] }, { - "teal": 3533, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3536, + "source": "examples/reti/stakingPool.algo.ts:881", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ 3319 ] }, { - "teal": 3537, - "source": "examples/reti/stakingPool.algo.ts:881", + "teal": 3540, + "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ 3320, 3321, @@ -14836,32 +14837,31 @@ ] }, { - "teal": 3540, - "source": "examples/reti/stakingPool.algo.ts:881", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3541, + "source": "examples/reti/stakingPool.algo.ts:882", "pc": [ - 3323 + 3323, + 3324 ] }, { - "teal": 3544, - "source": "examples/reti/stakingPool.algo.ts:882", + "teal": 3546, + "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3324, 3325, 3326 ] }, { - "teal": 3545, - "source": "examples/reti/stakingPool.algo.ts:882", + "teal": 3547, + "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3327, 3328 ] }, { - "teal": 3550, + "teal": 3548, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3329, @@ -14869,38 +14869,38 @@ ] }, { - "teal": 3551, + "teal": 3549, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3331, - 3332 + 3331 ] }, { "teal": 3552, "source": "examples/reti/stakingPool.algo.ts:883", + "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 3333, - 3334 + 3332 ] }, { - "teal": 3553, + "teal": 3555, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3335 + 3333, + 3334 ] }, { "teal": 3556, "source": "examples/reti/stakingPool.algo.ts:883", - "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ + 3335, 3336 ] }, { - "teal": 3559, + "teal": 3557, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ 3337, @@ -14908,220 +14908,226 @@ ] }, { - "teal": 3560, + "teal": 3558, "source": "examples/reti/stakingPool.algo.ts:883", "pc": [ - 3339, - 3340 + 3339 ] }, { "teal": 3561, "source": "examples/reti/stakingPool.algo.ts:883", + "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}", "pc": [ - 3341, - 3342 + 3340 ] }, { - "teal": 3562, - "source": "examples/reti/stakingPool.algo.ts:883", + "teal": 3573, + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3343 + 3341 ] }, { - "teal": 3565, - "source": "examples/reti/stakingPool.algo.ts:883", - "errorMessage": "transaction verification failed: {\"txn\":\"feePayment\",\"field\":\"amount\",\"expected\":\"extraFee\"}", + "teal": 3574, + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3344 + 3342, + 3343 ] }, { - "teal": 3577, + "teal": 3575, "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ + 3344, 3345 ] }, { - "teal": 3578, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3579, + "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3346, 3347 ] }, { - "teal": 3579, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3580, + "source": "examples/reti/stakingPool.algo.ts:885", "pc": [ 3348, 3349 ] }, { - "teal": 3583, - "source": "examples/reti/stakingPool.algo.ts:885", + "teal": 3584, + "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3350, 3351 ] }, { - "teal": 3584, - "source": "examples/reti/stakingPool.algo.ts:885", + "teal": 3585, + "source": "examples/reti/stakingPool.algo.ts:886", "pc": [ 3352, 3353 ] }, { - "teal": 3588, - "source": "examples/reti/stakingPool.algo.ts:886", + "teal": 3589, + "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3354, 3355 ] }, { - "teal": 3589, - "source": "examples/reti/stakingPool.algo.ts:886", + "teal": 3590, + "source": "examples/reti/stakingPool.algo.ts:887", "pc": [ 3356, 3357 ] }, { - "teal": 3593, - "source": "examples/reti/stakingPool.algo.ts:887", + "teal": 3594, + "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3358, 3359 ] }, { - "teal": 3594, - "source": "examples/reti/stakingPool.algo.ts:887", + "teal": 3595, + "source": "examples/reti/stakingPool.algo.ts:888", "pc": [ 3360, 3361 ] }, { - "teal": 3598, - "source": "examples/reti/stakingPool.algo.ts:888", + "teal": 3599, + "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3362, 3363 ] }, { - "teal": 3599, - "source": "examples/reti/stakingPool.algo.ts:888", + "teal": 3600, + "source": "examples/reti/stakingPool.algo.ts:889", "pc": [ 3364, 3365 ] }, { - "teal": 3603, - "source": "examples/reti/stakingPool.algo.ts:889", + "teal": 3604, + "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3366, 3367 ] }, { - "teal": 3604, - "source": "examples/reti/stakingPool.algo.ts:889", + "teal": 3605, + "source": "examples/reti/stakingPool.algo.ts:890", "pc": [ 3368, 3369 ] }, { - "teal": 3608, - "source": "examples/reti/stakingPool.algo.ts:890", + "teal": 3609, + "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ 3370, - 3371 + 3371, + 3372 ] }, { - "teal": 3609, - "source": "examples/reti/stakingPool.algo.ts:890", + "teal": 3610, + "source": "examples/reti/stakingPool.algo.ts:891", "pc": [ - 3372, - 3373 + 3373, + 3374 ] }, { "teal": 3613, - "source": "examples/reti/stakingPool.algo.ts:891", + "source": "examples/reti/stakingPool.algo.ts:884", "pc": [ - 3374, - 3375, - 3376 + 3375 ] }, { "teal": 3614, - "source": "examples/reti/stakingPool.algo.ts:891", + "source": "examples/reti/stakingPool.algo.ts:872", "pc": [ - 3377, - 3378 + 3376 ] }, { - "teal": 3617, - "source": "examples/reti/stakingPool.algo.ts:884", + "teal": 3619, + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ + 3377, + 3378, 3379 ] }, { - "teal": 3618, - "source": "examples/reti/stakingPool.algo.ts:872", + "teal": 3620, + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ 3380 ] }, { - "teal": 3623, + "teal": 3621, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ - 3381, - 3382, - 3383 + 3381 ] }, { - "teal": 3624, + "teal": 3628, "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ + 3382, + 3383, 3384 ] }, { - "teal": 3625, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3633, + "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ - 3385 + 3385, + 3386 ] }, { - "teal": 3632, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3634, + "source": "examples/reti/stakingPool.algo.ts:903", + "pc": [ + 3387 + ] + }, + { + "teal": 3635, + "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ - 3386, - 3387, 3388 ] }, { - "teal": 3637, + "teal": 3636, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3389, @@ -15129,71 +15135,65 @@ ] }, { - "teal": 3638, + "teal": 3637, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3391 ] }, { - "teal": 3639, + "teal": 3638, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3392 ] }, { - "teal": 3640, + "teal": 3639, "source": "examples/reti/stakingPool.algo.ts:903", "pc": [ 3393, - 3394 - ] - }, - { - "teal": 3641, - "source": "examples/reti/stakingPool.algo.ts:903", - "pc": [ + 3394, 3395 ] }, { - "teal": 3642, - "source": "examples/reti/stakingPool.algo.ts:903", + "teal": 3644, + "source": "examples/reti/stakingPool.algo.ts:904", "pc": [ - 3396 + 3396, + 3397, + 3398 ] }, { - "teal": 3643, - "source": "examples/reti/stakingPool.algo.ts:903", + "teal": 3647, + "source": "examples/reti/stakingPool.algo.ts:904", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3397, - 3398, 3399 ] }, { - "teal": 3648, - "source": "examples/reti/stakingPool.algo.ts:904", + "teal": 3652, + "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3400, - 3401, - 3402 + 3400 ] }, { - "teal": 3651, - "source": "examples/reti/stakingPool.algo.ts:904", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3653, + "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3403 + 3401, + 3402 ] }, { - "teal": 3656, + "teal": 3654, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ + 3403, 3404 ] }, @@ -15201,62 +15201,62 @@ "teal": 3657, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3405, - 3406 + 3405 ] }, { "teal": 3658, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3407, - 3408 + 3406, + 3407 ] }, { "teal": 3661, "source": "examples/reti/stakingPool.algo.ts:907", "pc": [ - 3409 + 3408 ] }, { "teal": 3662, - "source": "examples/reti/stakingPool.algo.ts:907", + "source": "examples/reti/stakingPool.algo.ts:900", "pc": [ - 3410, - 3411 + 3409 ] }, { - "teal": 3665, - "source": "examples/reti/stakingPool.algo.ts:907", + "teal": 3667, + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ + 3410, + 3411, 3412 ] }, { - "teal": 3666, - "source": "examples/reti/stakingPool.algo.ts:900", + "teal": 3668, + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3413 + 3413, + 3414, + 3415 ] }, { "teal": 3671, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3414, - 3415, - 3416 + 3416, + 3417, + 3418 ] }, { "teal": 3672, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3417, - 3418, 3419 ] }, @@ -15277,96 +15277,84 @@ ] }, { - "teal": 3679, + "teal": 3677, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3424, - 3425, - 3426 - ] - }, - { - "teal": 3680, - "source": "examples/reti/stakingPool.algo.ts:913", - "pc": [ - 3427 + 3424 ] }, { "teal": 3681, "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3428 + 3425, + 3426, + 3427 ] }, { "teal": 3685, - "source": "examples/reti/stakingPool.algo.ts:913", - "pc": [ - 3429, - 3430, - 3431 - ] - }, - { - "teal": 3689, "source": "examples/reti/stakingPool.algo.ts:914", "pc": [ - 3432, - 3433, - 3434 + 3428, + 3429, + 3430 ] }, { - "teal": 3692, + "teal": 3688, "source": "examples/reti/stakingPool.algo.ts:914", "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3435 + 3431 ] }, { - "teal": 3700, + "teal": 3696, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3436 + 3432 ] }, { - "teal": 3701, + "teal": 3697, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3437 + 3433 ] }, { - "teal": 3702, + "teal": 3698, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3438, - 3439 + 3434, + 3435 ] }, { - "teal": 3706, + "teal": 3702, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ - 3440, - 3441 + 3436, + 3437 ] }, { - "teal": 3707, + "teal": 3703, "source": "examples/reti/stakingPool.algo.ts:917", "pc": [ - 3442, - 3443 + 3438, + 3439 ] }, { - "teal": 3711, + "teal": 3707, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ + 3440, + 3441, + 3442, + 3443, 3444, 3445, 3446, @@ -15379,15 +15367,27 @@ 3453, 3454, 3455, - 3456, + 3456 + ] + }, + { + "teal": 3708, + "source": "examples/reti/stakingPool.algo.ts:918", + "pc": [ 3457, - 3458, + 3458 + ] + }, + { + "teal": 3709, + "source": "examples/reti/stakingPool.algo.ts:918", + "pc": [ 3459, 3460 ] }, { - "teal": 3712, + "teal": 3710, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3461, @@ -15395,7 +15395,7 @@ ] }, { - "teal": 3713, + "teal": 3711, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3463, @@ -15403,30 +15403,30 @@ ] }, { - "teal": 3714, + "teal": 3712, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ - 3465, - 3466 + 3465 ] }, { - "teal": 3715, + "teal": 3713, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ - 3467, - 3468 + 3466, + 3467 ] }, { - "teal": 3716, + "teal": 3714, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ + 3468, 3469 ] }, { - "teal": 3717, + "teal": 3715, "source": "examples/reti/stakingPool.algo.ts:918", "pc": [ 3470, @@ -15434,16 +15434,16 @@ ] }, { - "teal": 3718, - "source": "examples/reti/stakingPool.algo.ts:918", + "teal": 3719, + "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3472, 3473 ] }, { - "teal": 3719, - "source": "examples/reti/stakingPool.algo.ts:918", + "teal": 3720, + "source": "examples/reti/stakingPool.algo.ts:919", "pc": [ 3474, 3475 @@ -15451,308 +15451,308 @@ }, { "teal": 3723, - "source": "examples/reti/stakingPool.algo.ts:919", + "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3476, - 3477 + 3476 ] }, { "teal": 3724, - "source": "examples/reti/stakingPool.algo.ts:919", + "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3478, - 3479 + 3477, + 3478 ] }, { "teal": 3727, "source": "examples/reti/stakingPool.algo.ts:916", "pc": [ - 3480 + 3479 ] }, { "teal": 3728, - "source": "examples/reti/stakingPool.algo.ts:916", + "source": "examples/reti/stakingPool.algo.ts:913", "pc": [ - 3481, - 3482 + 3480 ] }, { - "teal": 3731, - "source": "examples/reti/stakingPool.algo.ts:916", + "teal": 3733, + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3483 + 3481, + 3482 ] }, { - "teal": 3732, - "source": "examples/reti/stakingPool.algo.ts:913", + "teal": 3736, + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3484 + 3483, + 3484, + 3485 ] }, { "teal": 3737, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3485, 3486 ] }, { - "teal": 3740, + "teal": 3738, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3487, - 3488, - 3489 + 3487 ] }, { - "teal": 3741, + "teal": 3739, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3490 + 3488, + 3489 ] }, { - "teal": 3742, + "teal": 3740, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3491 + 3490 ] }, { "teal": 3743, "source": "examples/reti/stakingPool.algo.ts:929", + "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)", "pc": [ - 3492, - 3493 + 3491 ] }, { - "teal": 3744, + "teal": 3746, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ + 3492, + 3493, 3494 ] }, { "teal": 3747, "source": "examples/reti/stakingPool.algo.ts:929", - "errorMessage": "argument 0 (poolKey) for proxiedSetTokenPayoutRatio must be a (uint64,uint64,uint64)", "pc": [ 3495 ] }, { - "teal": 3750, + "teal": 3748, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3496, - 3497, - 3498 + 3496 ] }, { - "teal": 3751, + "teal": 3749, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3499 + 3497 ] }, { - "teal": 3752, + "teal": 3750, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3500 + 3498 ] }, { - "teal": 3753, + "teal": 3759, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ + 3499, + 3500, 3501 ] }, { - "teal": 3754, + "teal": 3762, "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ 3502 ] }, { - "teal": 3763, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3766, + "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3503, - 3504, - 3505 + 3503 ] }, { - "teal": 3766, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3767, + "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3506 + 3504 ] }, { - "teal": 3770, + "teal": 3768, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3507 + 3505, + 3506 ] }, { - "teal": 3771, + "teal": 3769, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3508 + 3507, + 3508, + 3509 ] }, { - "teal": 3772, + "teal": 3770, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3509, 3510 ] }, { - "teal": 3773, + "teal": 3771, "source": "examples/reti/stakingPool.algo.ts:930", "pc": [ - 3511, - 3512, - 3513 + 3511 ] }, { "teal": 3774, "source": "examples/reti/stakingPool.algo.ts:930", + "errorMessage": "caller must be part of same validator set!", "pc": [ - 3514 + 3512 ] }, { - "teal": 3775, - "source": "examples/reti/stakingPool.algo.ts:930", + "teal": 3778, + "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3515 + 3513, + 3514 ] }, { - "teal": 3778, - "source": "examples/reti/stakingPool.algo.ts:930", - "errorMessage": "caller must be part of same validator set!", + "teal": 3779, + "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3516 + 3515 ] }, { - "teal": 3782, + "teal": 3780, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3517, - 3518 + 3516 ] }, { - "teal": 3783, + "teal": 3781, "source": "examples/reti/stakingPool.algo.ts:931", "pc": [ - 3519 + 3517 ] }, { "teal": 3784, "source": "examples/reti/stakingPool.algo.ts:931", + "errorMessage": "callee must be pool 1", "pc": [ - 3520 + 3518 ] }, { - "teal": 3785, - "source": "examples/reti/stakingPool.algo.ts:931", + "teal": 3788, + "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3521 + 3519, + 3520 ] }, { - "teal": 3788, - "source": "examples/reti/stakingPool.algo.ts:931", - "errorMessage": "callee must be pool 1", + "teal": 3789, + "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3522 + 3521, + 3522, + 3523 ] }, { - "teal": 3792, + "teal": 3790, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3523, 3524 ] }, { - "teal": 3793, + "teal": 3791, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3525, - 3526, - 3527 + 3525 ] }, { - "teal": 3794, + "teal": 3792, "source": "examples/reti/stakingPool.algo.ts:932", "pc": [ - 3528 + 3526 ] }, { "teal": 3795, "source": "examples/reti/stakingPool.algo.ts:932", + "errorMessage": "caller must NOT be pool 1", "pc": [ - 3529 + 3527 ] }, { - "teal": 3796, - "source": "examples/reti/stakingPool.algo.ts:932", + "teal": 3802, + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3530 + 3528 ] }, { - "teal": 3799, - "source": "examples/reti/stakingPool.algo.ts:932", - "errorMessage": "caller must NOT be pool 1", + "teal": 3803, + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3531 + 3529 ] }, { - "teal": 3806, + "teal": 3804, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3532 + 3530, + 3531 ] }, { - "teal": 3807, + "teal": 3805, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ + 3532, 3533 ] }, { - "teal": 3808, + "teal": 3806, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3534, @@ -15760,320 +15760,320 @@ ] }, { - "teal": 3809, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3810, + "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3536, - 3537 + 3536 ] }, { - "teal": 3810, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3811, + "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3538, - 3539 + 3537 ] }, { - "teal": 3814, + "teal": 3812, "source": "examples/reti/stakingPool.algo.ts:935", "pc": [ - 3540 + 3538, + 3539 ] }, { - "teal": 3815, - "source": "examples/reti/stakingPool.algo.ts:935", + "teal": 3816, + "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ + 3540, 3541 ] }, { - "teal": 3816, - "source": "examples/reti/stakingPool.algo.ts:935", + "teal": 3817, + "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3542, - 3543 + 3543, + 3544 ] }, { - "teal": 3820, + "teal": 3818, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3544, 3545 ] }, { - "teal": 3821, + "teal": 3819, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3546, - 3547, - 3548 + 3546 ] }, { - "teal": 3822, + "teal": 3820, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3549 + 3547, + 3548 ] }, { - "teal": 3823, + "teal": 3821, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ + 3549, 3550 ] }, { - "teal": 3824, + "teal": 3822, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ 3551, - 3552 + 3552, + 3553 ] }, { - "teal": 3825, + "teal": 3823, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3553, 3554 ] }, { - "teal": 3826, + "teal": 3824, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3555, - 3556, - 3557 + 3555 ] }, { - "teal": 3827, + "teal": 3825, "source": "examples/reti/stakingPool.algo.ts:936", "pc": [ - 3558 + 3556, + 3557 ] }, { "teal": 3828, - "source": "examples/reti/stakingPool.algo.ts:936", + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3559 + 3558 ] }, { "teal": 3829, - "source": "examples/reti/stakingPool.algo.ts:936", + "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3560, - 3561 + 3559, + 3560 ] }, { "teal": 3832, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3562 + 3561 ] }, { "teal": 3833, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3563, - 3564 + 3562, + 3563 ] }, { - "teal": 3836, + "teal": 3834, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3565 + 3564 ] }, { - "teal": 3837, + "teal": 3835, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3566, - 3567 + 3565 ] }, { - "teal": 3838, + "teal": 3836, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3568 + 3566, + 3567 ] }, { - "teal": 3839, + "teal": 3837, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3569 + 3568, + 3569, + 3570 ] }, { - "teal": 3840, + "teal": 3838, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ - 3570, 3571 ] }, { - "teal": 3841, + "teal": 3839, "source": "examples/reti/stakingPool.algo.ts:934", "pc": [ 3572, - 3573, - 3574 + 3573 ] }, { - "teal": 3842, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3843, + "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ + 3574, 3575 ] }, { - "teal": 3843, - "source": "examples/reti/stakingPool.algo.ts:934", + "teal": 3844, + "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3576, 3577 ] }, { - "teal": 3847, + "teal": 3845, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ 3578, - 3579 + 3579, + 3580 ] }, { - "teal": 3848, + "teal": 3846, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3580, 3581 ] }, { - "teal": 3849, + "teal": 3847, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3582, - 3583, - 3584 + 3582 ] }, { - "teal": 3850, + "teal": 3848, "source": "examples/reti/stakingPool.algo.ts:938", "pc": [ - 3585 + 3583 ] }, { - "teal": 3851, - "source": "examples/reti/stakingPool.algo.ts:938", + "teal": 3852, + "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3586 + 3584, + 3585 ] }, { - "teal": 3852, - "source": "examples/reti/stakingPool.algo.ts:938", + "teal": 3853, + "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ + 3586, 3587 ] }, { - "teal": 3856, + "teal": 3854, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3588, - 3589 + 3589, + 3590 ] }, { - "teal": 3857, + "teal": 3855, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3590, 3591 ] }, { - "teal": 3858, + "teal": 3856, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ 3592, - 3593, - 3594 + 3593 ] }, { - "teal": 3859, + "teal": 3857, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3595 + 3594 ] }, { - "teal": 3860, + "teal": 3858, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3596, - 3597 + 3595 ] }, { - "teal": 3861, + "teal": 3859, "source": "examples/reti/stakingPool.algo.ts:939", "pc": [ - 3598 + 3596 ] }, { - "teal": 3862, - "source": "examples/reti/stakingPool.algo.ts:939", + "teal": 3866, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3599 + 3597 ] }, { - "teal": 3863, - "source": "examples/reti/stakingPool.algo.ts:939", + "teal": 3867, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3600 + 3598 ] }, { - "teal": 3870, + "teal": 3868, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3601 + 3599, + 3600 ] }, { - "teal": 3871, + "teal": 3869, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ + 3601, 3602 ] }, { - "teal": 3872, + "teal": 3870, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3603, @@ -16081,96 +16081,102 @@ ] }, { - "teal": 3873, - "source": "examples/reti/stakingPool.algo.ts:941", + "teal": 3874, + "source": "examples/reti/stakingPool.algo.ts:942", + "pc": [ + 3605 + ] + }, + { + "teal": 3875, + "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ - 3605, 3606 ] }, { - "teal": 3874, - "source": "examples/reti/stakingPool.algo.ts:941", + "teal": 3876, + "source": "examples/reti/stakingPool.algo.ts:942", "pc": [ 3607, 3608 ] }, { - "teal": 3878, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3880, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3609 ] }, { - "teal": 3879, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3881, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ 3610 ] }, { - "teal": 3880, - "source": "examples/reti/stakingPool.algo.ts:942", + "teal": 3882, + "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ - 3611, - 3612 + 3611 ] }, { - "teal": 3884, + "teal": 3883, "source": "examples/reti/stakingPool.algo.ts:943", "pc": [ + 3612, 3613 ] }, { - "teal": 3885, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3886, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3614 ] }, { - "teal": 3886, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3887, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3615 + 3615, + 3616 ] }, { - "teal": 3887, - "source": "examples/reti/stakingPool.algo.ts:943", + "teal": 3890, + "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3616, 3617 ] }, { - "teal": 3890, + "teal": 3891, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3618 + 3618, + 3619 ] }, { - "teal": 3891, + "teal": 3892, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3619, 3620 ] }, { - "teal": 3894, + "teal": 3893, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3621 ] }, { - "teal": 3895, + "teal": 3894, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ 3622, @@ -16178,184 +16184,184 @@ ] }, { - "teal": 3896, - "source": "examples/reti/stakingPool.algo.ts:941", - "pc": [ - 3624 - ] - }, - { - "teal": 3897, + "teal": 3895, "source": "examples/reti/stakingPool.algo.ts:941", "pc": [ - 3625 + 3624, + 3625, + 3626 ] }, { "teal": 3898, - "source": "examples/reti/stakingPool.algo.ts:941", + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3626, - 3627 + 3627, + 3628 ] }, { "teal": 3899, - "source": "examples/reti/stakingPool.algo.ts:941", + "source": "examples/reti/stakingPool.algo.ts:929", "pc": [ - 3628, - 3629, - 3630 + 3629 ] }, { - "teal": 3902, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3903, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ + 3630, 3631, 3632 ] }, { - "teal": 3903, - "source": "examples/reti/stakingPool.algo.ts:929", + "teal": 3906, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ 3633 ] }, { - "teal": 3907, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3913, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3634, - 3635, - 3636 + 3634 ] }, { - "teal": 3910, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3914, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3637 + 3635 ] }, { - "teal": 3917, + "teal": 3915, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3638 + 3636, + 3637 ] }, { - "teal": 3918, + "teal": 3916, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3639 + 3638, + 3639, + 3640, + 3641, + 3642, + 3643 ] }, { - "teal": 3919, + "teal": 3917, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3640, - 3641 + 3644, + 3645 ] }, { - "teal": 3920, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3921, + "source": "examples/reti/stakingPool.algo.ts:949", + "pc": [ + 3646 + ] + }, + { + "teal": 3922, + "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ - 3642, - 3643, - 3644, - 3645, - 3646, 3647 ] }, { - "teal": 3921, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3923, + "source": "examples/reti/stakingPool.algo.ts:949", "pc": [ 3648, 3649 ] }, { - "teal": 3925, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3927, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3650 ] }, { - "teal": 3926, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3928, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ 3651 ] }, { - "teal": 3927, - "source": "examples/reti/stakingPool.algo.ts:949", + "teal": 3929, + "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ - 3652, - 3653 + 3652 ] }, { - "teal": 3931, + "teal": 3930, "source": "examples/reti/stakingPool.algo.ts:950", "pc": [ + 3653, 3654 ] }, { - "teal": 3932, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3933, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3655 ] }, { - "teal": 3933, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3934, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3656 + 3656, + 3657 ] }, { - "teal": 3934, - "source": "examples/reti/stakingPool.algo.ts:950", + "teal": 3937, + "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3657, 3658 ] }, { - "teal": 3937, + "teal": 3938, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3659 + 3659, + 3660 ] }, { - "teal": 3938, + "teal": 3939, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3660, 3661 ] }, { - "teal": 3941, + "teal": 3940, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3662 ] }, { - "teal": 3942, + "teal": 3941, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ 3663, @@ -16363,173 +16369,167 @@ ] }, { - "teal": 3943, - "source": "examples/reti/stakingPool.algo.ts:948", - "pc": [ - 3665 - ] - }, - { - "teal": 3944, + "teal": 3942, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3666 + 3665, + 3666, + 3667 ] }, { - "teal": 3945, + "teal": 3943, "source": "examples/reti/stakingPool.algo.ts:948", "pc": [ - 3667, - 3668 + 3668, + 3669 ] }, { - "teal": 3946, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3947, + "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3669, 3670, 3671 ] }, { - "teal": 3947, - "source": "examples/reti/stakingPool.algo.ts:948", + "teal": 3948, + "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3672, 3673 ] }, { - "teal": 3951, + "teal": 3949, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3674, - 3675 + 3675, + 3676 ] }, { - "teal": 3952, + "teal": 3950, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3676, 3677 ] }, { - "teal": 3953, + "teal": 3951, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3678, - 3679, - 3680 + 3678 ] }, { - "teal": 3954, + "teal": 3952, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ + 3679, + 3680, 3681 ] }, { - "teal": 3955, + "teal": 3953, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3682 + 3682, + 3683 ] }, { - "teal": 3956, + "teal": 3954, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3683, 3684, 3685 ] }, { - "teal": 3957, + "teal": 3955, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ 3686, - 3687 + 3687, + 3688 ] }, { - "teal": 3958, + "teal": 3956, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3688, 3689 ] }, { - "teal": 3959, + "teal": 3957, "source": "examples/reti/stakingPool.algo.ts:952", "pc": [ - 3690, - 3691, - 3692 + 3690 ] }, { - "teal": 3960, - "source": "examples/reti/stakingPool.algo.ts:952", + "teal": 3961, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ - 3693 + 3691, + 3692 ] }, { - "teal": 3961, - "source": "examples/reti/stakingPool.algo.ts:952", + "teal": 3962, + "source": "examples/reti/stakingPool.algo.ts:947", "pc": [ - 3694 + 3693 ] }, { - "teal": 3965, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3966, + "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ + 3694, 3695, 3696 ] }, { - "teal": 3966, - "source": "examples/reti/stakingPool.algo.ts:947", + "teal": 3970, + "source": "examples/reti/stakingPool.algo.ts:956", "pc": [ - 3697 + 3697, + 3698 ] }, { - "teal": 3970, + "teal": 3971, "source": "examples/reti/stakingPool.algo.ts:955", "pc": [ - 3698, - 3699, - 3700 + 3699 ] }, { - "teal": 3974, - "source": "examples/reti/stakingPool.algo.ts:956", + "teal": 3978, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ + 3700, 3701, 3702 ] }, { - "teal": 3975, - "source": "examples/reti/stakingPool.algo.ts:955", + "teal": 3981, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ 3703 ] }, { - "teal": 3982, - "source": "examples/reti/stakingPool.algo.ts:965", + "teal": 3985, + "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ 3704, 3705, @@ -16537,248 +16537,248 @@ ] }, { - "teal": 3985, - "source": "examples/reti/stakingPool.algo.ts:965", + "teal": 3986, + "source": "examples/reti/stakingPool.algo.ts:966", "pc": [ - 3707 + 3707, + 3708 ] }, { - "teal": 3989, - "source": "examples/reti/stakingPool.algo.ts:966", + "teal": 3990, + "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3708, 3709, 3710 ] }, { - "teal": 3990, - "source": "examples/reti/stakingPool.algo.ts:966", + "teal": 3991, + "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ 3711, 3712 ] }, { - "teal": 3994, + "teal": 3992, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3713, - 3714 + 3713 ] }, { - "teal": 3995, + "teal": 3993, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3715, - 3716 + 3714 ] }, { - "teal": 3996, + "teal": 3994, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3717 + 3715, + 3716 ] }, { - "teal": 3997, + "teal": 3995, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3718 + 3717 ] }, { - "teal": 3998, + "teal": 3996, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3719, - 3720 + 3718 ] }, { - "teal": 3999, + "teal": 3997, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3721 + 3719 ] }, { - "teal": 4000, + "teal": 3998, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3722 + 3720 ] }, { - "teal": 4001, + "teal": 3999, "source": "examples/reti/stakingPool.algo.ts:968", "pc": [ - 3723 + 3721 ] }, { "teal": 4002, "source": "examples/reti/stakingPool.algo.ts:968", + "errorMessage": "wideRatio failed", "pc": [ - 3724 + 3722 ] }, { - "teal": 4003, - "source": "examples/reti/stakingPool.algo.ts:968", + "teal": 4005, + "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ - 3725 + 3723, + 3724 ] }, { "teal": 4006, - "source": "examples/reti/stakingPool.algo.ts:968", - "errorMessage": "wideRatio failed", - "pc": [ - 3726 - ] - }, - { - "teal": 4009, "source": "examples/reti/stakingPool.algo.ts:965", "pc": [ - 3727, - 3728 + 3725 ] }, { "teal": 4010, - "source": "examples/reti/stakingPool.algo.ts:965", + "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3729 + 3726, + 3727, + 3728 ] }, { - "teal": 4014, + "teal": 4013, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3730, - 3731, - 3732 + 3729 ] }, { "teal": 4017, - "source": "examples/reti/stakingPool.algo.ts:971", + "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ - 3733 + 3730 ] }, { - "teal": 4021, + "teal": 4018, "source": "examples/reti/stakingPool.algo.ts:975", "pc": [ - 3734 + 3731, + 3732 ] }, { - "teal": 4022, - "source": "examples/reti/stakingPool.algo.ts:975", + "teal": 4023, + "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3735, - 3736 + 3733, + 3734 ] }, { - "teal": 4027, + "teal": 4024, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3737, - 3738 + 3735 ] }, { - "teal": 4028, + "teal": 4025, "source": "examples/reti/stakingPool.algo.ts:976", "pc": [ - 3739 + 3736, + 3737, + 3738 ] }, { - "teal": 4029, - "source": "examples/reti/stakingPool.algo.ts:976", + "teal": 4030, + "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ + 3739, 3740, 3741, 3742 ] }, { - "teal": 4034, + "teal": 4031, "source": "examples/reti/stakingPool.algo.ts:978", "pc": [ 3743, 3744, - 3745, - 3746 + 3745 ] }, { - "teal": 4035, - "source": "examples/reti/stakingPool.algo.ts:978", + "teal": 4036, + "source": "examples/reti/stakingPool.algo.ts:980", "pc": [ - 3747, - 3748, - 3749 + 3746 ] }, { "teal": 4040, - "source": "examples/reti/stakingPool.algo.ts:980", + "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3750 + 3747, + 3748 ] }, { - "teal": 4044, + "teal": 4041, "source": "examples/reti/stakingPool.algo.ts:971", "pc": [ - 3751, - 3752 + 3749 ] }, { "teal": 4045, - "source": "examples/reti/stakingPool.algo.ts:971", + "source": "examples/reti/stakingPool.algo.ts:983", "pc": [ - 3753 + 3750, + 3751, + 3752 ] }, { "teal": 4049, - "source": "examples/reti/stakingPool.algo.ts:983", + "source": "examples/reti/stakingPool.algo.ts:985", "pc": [ + 3753, 3754, 3755, - 3756 - ] - }, - { - "teal": 4053, - "source": "examples/reti/stakingPool.algo.ts:985", - "pc": [ + 3756, 3757, 3758, 3759, 3760, - 3761, - 3762, + 3761 + ] + }, + { + "teal": 4050, + "source": "examples/reti/stakingPool.algo.ts:983", + "pc": [ + 3762 + ] + }, + { + "teal": 4056, + "source": "examples/reti/stakingPool.algo.ts:991", + "pc": [ 3763, 3764, 3765 ] }, { - "teal": 4054, - "source": "examples/reti/stakingPool.algo.ts:983", + "teal": 4059, + "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3766 ] @@ -16788,135 +16788,147 @@ "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ 3767, - 3768, - 3769 + 3768 ] }, { - "teal": 4063, - "source": "examples/reti/stakingPool.algo.ts:991", + "teal": 4064, + "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ + 3769, 3770 ] }, { - "teal": 4064, - "source": "examples/reti/stakingPool.algo.ts:991", + "teal": 4065, + "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3771, - 3772 + 3771 ] }, { - "teal": 4068, + "teal": 4066, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3773, - 3774 + 3772 ] }, { - "teal": 4069, + "teal": 4067, "source": "examples/reti/stakingPool.algo.ts:992", "pc": [ - 3775 + 3773, + 3774 ] }, { - "teal": 4070, - "source": "examples/reti/stakingPool.algo.ts:992", + "teal": 4072, + "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ + 3775, 3776 ] }, { - "teal": 4071, - "source": "examples/reti/stakingPool.algo.ts:992", + "teal": 4073, + "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ 3777, 3778 ] }, + { + "teal": 4074, + "source": "examples/reti/stakingPool.algo.ts:993", + "pc": [ + 3779 + ] + }, + { + "teal": 4075, + "source": "examples/reti/stakingPool.algo.ts:993", + "pc": [ + 3780, + 3781 + ] + }, { "teal": 4076, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3779, - 3780 + 3782 ] }, { "teal": 4077, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3781, - 3782 + 3783 ] }, { "teal": 4078, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3783 + 3784 ] }, { "teal": 4079, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3784, 3785 ] }, { - "teal": 4080, + "teal": 4082, "source": "examples/reti/stakingPool.algo.ts:993", + "errorMessage": "currentBinSize as uint64 overflowed 64 bits", "pc": [ 3786 ] }, { - "teal": 4081, + "teal": 4083, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3787 + 3787, + 3788, + 3789, + 3790, + 3791, + 3792, + 3793, + 3794, + 3795, + 3796 ] }, { - "teal": 4082, + "teal": 4084, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3788 + 3797 ] }, { - "teal": 4083, + "teal": 4085, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3789 + 3798 ] }, { "teal": 4086, "source": "examples/reti/stakingPool.algo.ts:993", - "errorMessage": "currentBinSize as uint64 overflowed 64 bits", "pc": [ - 3790 + 3799 ] }, { "teal": 4087, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3791, - 3792, - 3793, - 3794, - 3795, - 3796, - 3797, - 3798, - 3799, 3800 ] }, @@ -16924,35 +16936,35 @@ "teal": 4088, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3801 + 3801, + 3802 ] }, { "teal": 4089, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3802 + 3803 ] }, { "teal": 4090, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3803 + 3804 ] }, { "teal": 4091, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3804 + 3805 ] }, { "teal": 4092, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3805, 3806 ] }, @@ -16974,125 +16986,113 @@ "teal": 4095, "source": "examples/reti/stakingPool.algo.ts:993", "pc": [ - 3809 - ] - }, - { - "teal": 4096, - "source": "examples/reti/stakingPool.algo.ts:993", - "pc": [ - 3810 - ] - }, - { - "teal": 4097, - "source": "examples/reti/stakingPool.algo.ts:993", - "pc": [ + 3809, + 3810, 3811 ] }, { - "teal": 4098, - "source": "examples/reti/stakingPool.algo.ts:993", + "teal": 4101, + "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3812 + 3812, + 3813 ] }, { - "teal": 4099, - "source": "examples/reti/stakingPool.algo.ts:993", + "teal": 4102, + "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3813, 3814, 3815 ] }, { - "teal": 4105, + "teal": 4103, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ - 3816, - 3817 + 3816 ] }, { - "teal": 4106, + "teal": 4104, "source": "examples/reti/stakingPool.algo.ts:994", "pc": [ + 3817, 3818, 3819 ] }, { - "teal": 4107, - "source": "examples/reti/stakingPool.algo.ts:994", + "teal": 4109, + "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3820 ] }, { - "teal": 4108, - "source": "examples/reti/stakingPool.algo.ts:994", + "teal": 4110, + "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3821, - 3822, - 3823 + 3821 ] }, { - "teal": 4113, + "teal": 4111, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3824 + 3822, + 3823 ] }, { - "teal": 4114, + "teal": 4112, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3825 + 3824 ] }, { - "teal": 4115, + "teal": 4113, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3826, - 3827 + 3825, + 3826 ] }, { - "teal": 4116, + "teal": 4114, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ + 3827, 3828 ] }, { - "teal": 4117, + "teal": 4115, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3829, - 3830 + 3829 ] }, { - "teal": 4118, + "teal": 4116, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3831, - 3832 + 3830, + 3831 ] }, { - "teal": 4119, + "teal": 4117, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ + 3832, 3833 ] }, { - "teal": 4120, + "teal": 4118, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3834, @@ -17100,7 +17100,7 @@ ] }, { - "teal": 4121, + "teal": 4119, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ 3836, @@ -17108,40 +17108,28 @@ ] }, { - "teal": 4122, - "source": "examples/reti/stakingPool.algo.ts:995", - "pc": [ - 3838, - 3839 - ] - }, - { - "teal": 4123, - "source": "examples/reti/stakingPool.algo.ts:995", - "pc": [ - 3840, - 3841 - ] - }, - { - "teal": 4124, + "teal": 4120, "source": "examples/reti/stakingPool.algo.ts:995", "pc": [ - 3842 + 3838 ] }, { - "teal": 4129, + "teal": 4125, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3843, - 3844 + 3839, + 3840 ] }, { - "teal": 4130, + "teal": 4126, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3841, + 3842, + 3843, + 3844, 3845, 3846, 3847, @@ -17155,36 +17143,55 @@ 3855, 3856, 3857, - 3858, - 3859, - 3860, - 3861, - 3862 + 3858 ] }, { - "teal": 4131, + "teal": 4127, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3859 + ] + }, + { + "teal": 4128, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3860 + ] + }, + { + "teal": 4129, + "source": "examples/reti/stakingPool.algo.ts:997", + "pc": [ + 3861 + ] + }, + { + "teal": 4130, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3862, 3863 ] }, { - "teal": 4132, + "teal": 4131, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3864 ] }, { - "teal": 4133, + "teal": 4134, "source": "examples/reti/stakingPool.algo.ts:997", + "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits", "pc": [ 3865 ] }, { - "teal": 4134, + "teal": 4135, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3866, @@ -17192,139 +17199,139 @@ ] }, { - "teal": 4135, + "teal": 4136, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3868 ] }, { - "teal": 4138, + "teal": 4137, "source": "examples/reti/stakingPool.algo.ts:997", - "errorMessage": "currentBinSize * (365 as uint128) overflowed 128 bits", "pc": [ 3869 ] }, { - "teal": 4139, + "teal": 4138, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3870, - 3871 + 3870 ] }, { - "teal": 4140, + "teal": 4139, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3872 + 3871 ] }, { - "teal": 4141, + "teal": 4140, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3872, 3873 ] }, { - "teal": 4142, + "teal": 4141, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3874 ] }, { - "teal": 4143, + "teal": 4142, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ 3875 ] }, { - "teal": 4144, + "teal": 4143, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ - 3876, - 3877 + 3876 ] }, { - "teal": 4145, + "teal": 4144, "source": "examples/reti/stakingPool.algo.ts:997", "pc": [ + 3877, 3878 ] }, { - "teal": 4146, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4148, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3879 + 3879, + 3880 ] }, { - "teal": 4147, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4149, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3880 + 3881 ] }, { - "teal": 4148, - "source": "examples/reti/stakingPool.algo.ts:997", + "teal": 4150, + "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3881, - 3882 + 3882, + 3883 ] }, { - "teal": 4152, + "teal": 4151, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3883, 3884 ] }, { - "teal": 4153, + "teal": 4152, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3885 ] }, { - "teal": 4154, + "teal": 4153, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3886, - 3887 + 3886 ] }, { - "teal": 4155, + "teal": 4154, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3887, 3888 ] }, { - "teal": 4156, + "teal": 4155, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3889 ] }, { - "teal": 4157, + "teal": 4158, "source": "examples/reti/stakingPool.algo.ts:998", + "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits", "pc": [ 3890 ] }, { - "teal": 4158, + "teal": 4159, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3891, @@ -17332,151 +17339,132 @@ ] }, { - "teal": 4159, + "teal": 4160, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3893 ] }, { - "teal": 4162, + "teal": 4161, "source": "examples/reti/stakingPool.algo.ts:998", - "errorMessage": "this.stakeAccumulator.value / currentBinSize overflowed 128 bits", "pc": [ 3894 ] }, { - "teal": 4163, + "teal": 4162, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3895, - 3896 + 3895 ] }, { - "teal": 4164, + "teal": 4163, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3897 + 3896 ] }, { - "teal": 4165, + "teal": 4164, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3897, 3898 ] }, { - "teal": 4166, + "teal": 4165, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3899 ] }, { - "teal": 4167, + "teal": 4166, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ 3900 ] }, { - "teal": 4168, + "teal": 4167, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ - 3901, - 3902 + 3901 ] }, { - "teal": 4169, + "teal": 4168, "source": "examples/reti/stakingPool.algo.ts:998", "pc": [ + 3902, 3903 ] }, { - "teal": 4170, - "source": "examples/reti/stakingPool.algo.ts:998", - "pc": [ - 3904 - ] - }, - { - "teal": 4171, - "source": "examples/reti/stakingPool.algo.ts:998", + "teal": 4173, + "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ + 3904, 3905 ] }, { - "teal": 4172, - "source": "examples/reti/stakingPool.algo.ts:998", + "teal": 4174, + "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ 3906, 3907 ] }, { - "teal": 4177, + "teal": 4175, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ - 3908, - 3909 + 3908 ] }, { - "teal": 4178, + "teal": 4176, "source": "examples/reti/stakingPool.algo.ts:999", "pc": [ + 3909, 3910, 3911 ] }, { - "teal": 4179, - "source": "examples/reti/stakingPool.algo.ts:999", - "pc": [ - 3912 - ] - }, - { - "teal": 4180, - "source": "examples/reti/stakingPool.algo.ts:999", - "pc": [ - 3913, - 3914, - 3915 - ] - }, - { - "teal": 4187, + "teal": 4183, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3916, - 3917 + 3912, + 3913 ] }, { - "teal": 4188, + "teal": 4184, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3918 + 3914 ] }, { - "teal": 4189, + "teal": 4185, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3919 + 3915 ] }, { - "teal": 4190, + "teal": 4186, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ + 3916, + 3917, + 3918, + 3919, 3920, 3921, 3922, @@ -17490,179 +17478,179 @@ 3930, 3931, 3932, - 3933, - 3934, - 3935, - 3936, - 3937 + 3933 ] }, { - "teal": 4191, + "teal": 4187, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3938 + 3934 ] }, { - "teal": 4192, + "teal": 4188, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3939, - 3940 + 3935, + 3936 ] }, { - "teal": 4193, + "teal": 4189, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3941 + 3937 ] }, { - "teal": 4194, + "teal": 4190, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3942, - 3943 + 3938, + 3939 ] }, { - "teal": 4195, + "teal": 4191, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3944, - 3945 + 3940, + 3941 ] }, { - "teal": 4196, + "teal": 4192, "source": "examples/reti/stakingPool.algo.ts:1005", "pc": [ - 3946 + 3942 ] }, { - "teal": 4197, + "teal": 4193, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3947 + 3943 ] }, { - "teal": 4198, + "teal": 4194, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3948 + 3944 ] }, { - "teal": 4199, + "teal": 4195, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3949 + 3945 ] }, { - "teal": 4200, + "teal": 4196, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3950, - 3951 + 3946, + 3947 ] }, { - "teal": 4201, + "teal": 4197, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3952 + 3948 ] }, { - "teal": 4204, + "teal": 4200, "source": "examples/reti/stakingPool.algo.ts:1004", "errorMessage": "(((this.rewardAccumulator.value as uint128) * (10000 as uint128)) / avgStake) *\\n (approxRoundsPerYear / currentBinSize) overflowed 128 bits", "pc": [ - 3953 + 3949 ] }, { - "teal": 4205, + "teal": 4201, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3954, - 3955 + 3950, + 3951 ] }, { - "teal": 4206, + "teal": 4202, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3956 + 3952 ] }, { - "teal": 4207, + "teal": 4203, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3957 + 3953 ] }, { - "teal": 4208, + "teal": 4204, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3958 + 3954 ] }, { - "teal": 4209, + "teal": 4205, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3959 + 3955 ] }, { - "teal": 4210, + "teal": 4206, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3960, - 3961 + 3956, + 3957 ] }, { - "teal": 4211, + "teal": 4207, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3962 + 3958 ] }, { - "teal": 4212, + "teal": 4208, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3963 + 3959 ] }, { - "teal": 4213, + "teal": 4209, "source": "examples/reti/stakingPool.algo.ts:1004", "pc": [ - 3964 + 3960 ] }, { - "teal": 4214, + "teal": 4210, "source": "examples/reti/stakingPool.algo.ts:1003", "pc": [ - 3965, - 3966 + 3961, + 3962 ] }, { - "teal": 4218, + "teal": 4214, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ + 3963, + 3964, + 3965, + 3966, 3967, 3968, 3969, @@ -17676,33 +17664,33 @@ 3977, 3978, 3979, - 3980, - 3981, - 3982, - 3983, - 3984 + 3980 ] }, { - "teal": 4219, + "teal": 4215, "source": "examples/reti/stakingPool.algo.ts:1007", "pc": [ - 3985, - 3986 + 3981, + 3982 ] }, { - "teal": 4224, + "teal": 4220, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 3987, - 3988 + 3983, + 3984 ] }, { - "teal": 4225, + "teal": 4221, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ + 3985, + 3986, + 3987, + 3988, 3989, 3990, 3991, @@ -17716,33 +17704,33 @@ 3999, 4000, 4001, - 4002, - 4003, - 4004, - 4005, - 4006 + 4002 ] }, { - "teal": 4226, + "teal": 4222, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 4007 + 4003 ] }, { - "teal": 4227, + "teal": 4223, "source": "examples/reti/stakingPool.algo.ts:1009", "pc": [ - 4008, - 4009, - 4010 + 4004, + 4005, + 4006 ] }, { - "teal": 4232, + "teal": 4228, "source": "examples/reti/stakingPool.algo.ts:1010", "pc": [ + 4007, + 4008, + 4009, + 4010, 4011, 4012, 4013, @@ -17756,149 +17744,168 @@ 4021, 4022, 4023, - 4024, + 4024 + ] + }, + { + "teal": 4229, + "source": "examples/reti/stakingPool.algo.ts:1010", + "pc": [ 4025, - 4026, + 4026 + ] + }, + { + "teal": 4236, + "source": "examples/reti/stakingPool.algo.ts:1012", + "pc": [ 4027, 4028 ] }, { - "teal": 4233, - "source": "examples/reti/stakingPool.algo.ts:1010", + "teal": 4237, + "source": "examples/reti/stakingPool.algo.ts:1012", + "pc": [ + 4029 + ] + }, + { + "teal": 4238, + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4029, 4030 ] }, { - "teal": 4240, - "source": "examples/reti/stakingPool.algo.ts:1012", + "teal": 4239, + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4031, 4032 ] }, + { + "teal": 4240, + "source": "examples/reti/stakingPool.algo.ts:1013", + "pc": [ + 4033, + 4034 + ] + }, { "teal": 4241, - "source": "examples/reti/stakingPool.algo.ts:1012", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4033 + 4035 ] }, { "teal": 4242, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4034 + 4036 ] }, { "teal": 4243, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4035, - 4036 + 4037, + 4038 ] }, { "teal": 4244, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4037, - 4038 + 4039 ] }, { "teal": 4245, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4039 + 4040, + 4041 ] }, { "teal": 4246, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4040 + 4042, + 4043 ] }, { "teal": 4247, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4041, - 4042 + 4044 ] }, { "teal": 4248, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4043 + 4045, + 4046 ] }, { "teal": 4249, "source": "examples/reti/stakingPool.algo.ts:1014", "pc": [ - 4044, - 4045 + 4047 ] }, { "teal": 4250, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4046, - 4047 + 4048 ] }, { "teal": 4251, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4048 + 4049 ] }, { "teal": 4252, - "source": "examples/reti/stakingPool.algo.ts:1014", + "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4049, 4050 ] }, { "teal": 4253, - "source": "examples/reti/stakingPool.algo.ts:1014", - "pc": [ - 4051 - ] - }, - { - "teal": 4254, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ + 4051, 4052 ] }, { - "teal": 4255, + "teal": 4254, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4053 ] }, { - "teal": 4256, + "teal": 4257, "source": "examples/reti/stakingPool.algo.ts:1013", + "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits", "pc": [ 4054 ] }, { - "teal": 4257, + "teal": 4258, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4055, @@ -17906,25 +17913,30 @@ ] }, { - "teal": 4258, + "teal": 4259, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ 4057 ] }, { - "teal": 4261, + "teal": 4260, "source": "examples/reti/stakingPool.algo.ts:1013", - "errorMessage": "(this.weightedMovingAverage.value * ((100 as uint128) - alpha)) / (100 as uint128) +\\n (apr * alpha) / (100 as uint128) overflowed 128 bits", "pc": [ 4058 ] }, + { + "teal": 4261, + "source": "examples/reti/stakingPool.algo.ts:1013", + "pc": [ + 4059 + ] + }, { "teal": 4262, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4059, 4060 ] }, @@ -17932,110 +17944,110 @@ "teal": 4263, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4061 + 4061, + 4062 ] }, { "teal": 4264, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4062 + 4063 ] }, { "teal": 4265, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4063 + 4064 ] }, { "teal": 4266, "source": "examples/reti/stakingPool.algo.ts:1013", "pc": [ - 4064 + 4065 ] }, { "teal": 4267, - "source": "examples/reti/stakingPool.algo.ts:1013", + "source": "examples/reti/stakingPool.algo.ts:1012", "pc": [ - 4065, 4066 ] }, { - "teal": 4268, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4272, + "source": "examples/reti/stakingPool.algo.ts:1018", "pc": [ - 4067 + 4067, + 4068, + 4069 ] }, { - "teal": 4269, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4276, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4068 + 4070, + 4071 ] }, { - "teal": 4270, - "source": "examples/reti/stakingPool.algo.ts:1013", + "teal": 4277, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4069 + 4072, + 4073 ] }, { - "teal": 4271, - "source": "examples/reti/stakingPool.algo.ts:1012", + "teal": 4278, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4070 + 4074 ] }, { - "teal": 4276, - "source": "examples/reti/stakingPool.algo.ts:1018", + "teal": 4279, + "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4071, - 4072, - 4073 + 4075 ] }, { "teal": 4280, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4074, - 4075 + 4076, + 4077 ] }, { "teal": 4281, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4076, - 4077 + 4078 ] }, { "teal": 4282, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4078 + 4079 ] }, { "teal": 4283, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4079 + 4080 ] }, { "teal": 4284, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4080, 4081 ] }, @@ -18050,32 +18062,27 @@ "teal": 4286, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4083 - ] - }, - { - "teal": 4287, - "source": "examples/reti/stakingPool.algo.ts:1019", - "pc": [ + 4083, 4084 ] }, { - "teal": 4288, + "teal": 4287, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4085 ] }, { - "teal": 4289, + "teal": 4290, "source": "examples/reti/stakingPool.algo.ts:1019", + "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits", "pc": [ 4086 ] }, { - "teal": 4290, + "teal": 4291, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4087, @@ -18083,116 +18090,109 @@ ] }, { - "teal": 4291, + "teal": 4292, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4089 ] }, { - "teal": 4294, + "teal": 4293, "source": "examples/reti/stakingPool.algo.ts:1019", - "errorMessage": "(this.totalAlgoStaked.value as uint128) * (this.roundsPerDay.value as uint128) overflowed 128 bits", "pc": [ 4090 ] }, { - "teal": 4295, + "teal": 4294, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4091, - 4092 + 4091 ] }, { - "teal": 4296, + "teal": 4295, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4093 + 4092 ] }, { - "teal": 4297, + "teal": 4296, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ + 4093, 4094 ] }, { - "teal": 4298, + "teal": 4297, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4095 ] }, { - "teal": 4299, + "teal": 4298, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ 4096 ] }, { - "teal": 4300, + "teal": 4299, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4097, - 4098 + 4097 ] }, { - "teal": 4301, + "teal": 4300, "source": "examples/reti/stakingPool.algo.ts:1019", "pc": [ - 4099 + 4098 ] }, { - "teal": 4302, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4304, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ + 4099, 4100 ] }, { - "teal": 4303, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4305, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4101 ] }, { - "teal": 4304, - "source": "examples/reti/stakingPool.algo.ts:1019", + "teal": 4306, + "source": "examples/reti/stakingPool.algo.ts:1020", "pc": [ 4102 ] }, { - "teal": 4308, - "source": "examples/reti/stakingPool.algo.ts:1020", + "teal": 4310, + "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4103, 4104 ] }, { - "teal": 4309, - "source": "examples/reti/stakingPool.algo.ts:1020", - "pc": [ - 4105 - ] - }, - { - "teal": 4310, - "source": "examples/reti/stakingPool.algo.ts:1020", + "teal": 4311, + "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ + 4105, 4106 ] }, { - "teal": 4314, + "teal": 4312, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4107, @@ -18200,7 +18200,7 @@ ] }, { - "teal": 4315, + "teal": 4313, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ 4109, @@ -18208,301 +18208,289 @@ ] }, { - "teal": 4316, + "teal": 4314, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4111, - 4112 + 4111 ] }, { - "teal": 4317, + "teal": 4315, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4113, - 4114 + 4112 ] }, { - "teal": 4318, + "teal": 4316, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4115 + 4113 ] }, { - "teal": 4319, + "teal": 4317, "source": "examples/reti/stakingPool.algo.ts:1021", "pc": [ - 4116 + 4114 ] }, { "teal": 4320, - "source": "examples/reti/stakingPool.algo.ts:1021", - "pc": [ - 4117 - ] - }, - { - "teal": 4321, - "source": "examples/reti/stakingPool.algo.ts:1021", + "source": "examples/reti/stakingPool.algo.ts:991", "pc": [ - 4118 + 4115 ] }, { "teal": 4324, - "source": "examples/reti/stakingPool.algo.ts:991", + "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ - 4119 + 4116, + 4117, + 4118 ] }, { "teal": 4328, - "source": "examples/reti/stakingPool.algo.ts:1025", + "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ - 4120, - 4121, - 4122 + 4119, + 4120 ] }, { - "teal": 4332, + "teal": 4329, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ + 4121, + 4122, 4123, 4124 ] }, { - "teal": 4333, + "teal": 4330, "source": "examples/reti/stakingPool.algo.ts:1026", "pc": [ - 4125, - 4126, - 4127, - 4128 + 4125 ] }, { - "teal": 4334, - "source": "examples/reti/stakingPool.algo.ts:1026", + "teal": 4331, + "source": "examples/reti/stakingPool.algo.ts:1025", "pc": [ - 4129 + 4126 ] }, { - "teal": 4335, - "source": "examples/reti/stakingPool.algo.ts:1025", + "teal": 4334, + "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4130 + 4127, + 4128, + 4129, + 4130, + 4131, + 4132 ] }, { - "teal": 4338, + "teal": 4335, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4131, - 4132, 4133, 4134, - 4135, - 4136 + 4135 ] }, { - "teal": 4339, + "teal": 4336, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4136, 4137, 4138, 4139 ] }, { - "teal": 4340, + "teal": 4339, "source": "examples/reti/stakingPool.algo.ts:38", + "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 4140, - 4141, - 4142, - 4143 + 4140 ] }, { - "teal": 4343, + "teal": 4342, "source": "examples/reti/stakingPool.algo.ts:38", - "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 4144 + 4141, + 4142, + 4143, + 4144, + 4145, + 4146 ] }, { - "teal": 4346, + "teal": 4343, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4145, - 4146, 4147, 4148, 4149, - 4150 + 4150, + 4151, + 4152 ] }, { - "teal": 4347, + "teal": 4344, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4151, - 4152, 4153, 4154, 4155, - 4156 + 4156, + 4157, + 4158 ] }, { - "teal": 4348, + "teal": 4345, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4157, - 4158, 4159, 4160, 4161, - 4162 + 4162, + 4163, + 4164 ] }, { - "teal": 4349, + "teal": 4346, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4163, - 4164, 4165, 4166, 4167, - 4168 + 4168, + 4169, + 4170 ] }, { - "teal": 4350, + "teal": 4347, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4169, - 4170, 4171, 4172, 4173, - 4174 + 4174, + 4175, + 4176 ] }, { - "teal": 4351, + "teal": 4348, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4175, - 4176, 4177, 4178, 4179, - 4180 + 4180, + 4181, + 4182 ] }, { - "teal": 4352, + "teal": 4349, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4181, - 4182, 4183, 4184, 4185, - 4186 + 4186, + 4187, + 4188 ] }, { - "teal": 4353, + "teal": 4350, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4187, - 4188, 4189, 4190, 4191, - 4192 + 4192, + 4193, + 4194 ] }, { - "teal": 4354, + "teal": 4351, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4193, - 4194, 4195, 4196, 4197, - 4198 + 4198, + 4199, + 4200 ] }, { - "teal": 4355, + "teal": 4352, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4199, - 4200, 4201, 4202, 4203, - 4204 + 4204, + 4205, + 4206 ] }, { - "teal": 4356, + "teal": 4353, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4205, - 4206, 4207, 4208, 4209, - 4210 + 4210, + 4211, + 4212 ] }, { - "teal": 4357, + "teal": 4354, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4211, - 4212, 4213, - 4214, - 4215, - 4216 + 4214 ] }, { - "teal": 4358, + "teal": 4355, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4217, - 4218 + 4215, + 4216, + 4217 ] }, { - "teal": 4359, + "teal": 4356, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4218, 4219, 4220, - 4221 - ] - }, - { - "teal": 4360, - "source": "examples/reti/stakingPool.algo.ts:38", - "pc": [ + 4221, 4222, 4223, 4224, @@ -18526,58 +18514,54 @@ 4242, 4243, 4244, - 4245, - 4246, - 4247, - 4248, - 4249 + 4245 ] }, { - "teal": 4363, + "teal": 4359, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 4250 + 4246 ] }, { - "teal": 4366, + "teal": 4362, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ + 4247, + 4248, + 4249, + 4250, 4251, - 4252, - 4253, - 4254, - 4255, - 4256 + 4252 ] }, { - "teal": 4367, + "teal": 4363, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4257, - 4258, - 4259 + 4253, + 4254, + 4255 ] }, { - "teal": 4368, + "teal": 4364, "source": "examples/reti/stakingPool.algo.ts:38", "pc": [ - 4260, - 4261, - 4262, - 4263 + 4256, + 4257, + 4258, + 4259 ] }, { - "teal": 4371, + "teal": 4367, "source": "examples/reti/stakingPool.algo.ts:38", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ - 4264 + 4260 ] } ] \ No newline at end of file diff --git a/examples/reti/artifacts/ValidatorRegistry.approval.teal b/examples/reti/artifacts/ValidatorRegistry.approval.teal index 887adb3c9..161769978 100644 --- a/examples/reti/artifacts/ValidatorRegistry.approval.teal +++ b/examples/reti/artifacts/ValidatorRegistry.approval.teal @@ -1,15 +1,12 @@ #pragma version 10 -intcblock 0 1 8 24 32 18 268 6 242 3 2 10 252 260 700 TMPL_nfdRegistryAppId 100000 900 40 200 4 72 192 244 1000000 4096 5 226 300 432 892 1000 28500 50000 11 80 145 153 209 +intcblock 0 1 8 24 32 18 268 6 242 3 2 10 252 260 700 100000 900 40 200 TMPL_nfdRegistryAppId 4 72 192 244 1000000 4096 5 226 300 432 892 1000 28500 50000 11 80 145 153 209 bytecblock 0x76 0x 0x151f7c75 0x737073 0x7374616b6564 0x00 0x706f6f6c54656d706c617465417070726f76616c4279746573 0x6e756d5374616b657273 0x0a8101 0x692e6f776e65722e61 0x0000000000000000 0x696e6974 0x6e756d56 0x69735f76616c69645f6e66645f6170706964 0x63f3f28b -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] -// The following lines of TEAL are used to initialize template variables in scratch slots -intc 15 // TMPL_nfdRegistryAppId - // The following ten lines of TEAL handle initial program flow // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed // Here, action refers to the OnComplete in combination with whether the app is being created or called @@ -253,7 +250,7 @@ getMbrAmounts: callsub minBalanceForAccount itob concat - intc 16 // 100000 + intc 15 // 100000 pushint 12807 callsub costForBoxStorage + @@ -434,7 +431,7 @@ getValidatorOwnerAndManager: concat cover 2 box_extract - intc 18 // 40 + intc 17 // 40 intc 4 // 32 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -1000,7 +997,7 @@ getTokenPayoutRatio: // examples/reti/validatorRegistry.algo.ts:405 // return this.validatorList(validatorId).value.tokenPayoutRatio; intc 14 // headOffset - intc 19 // 200 + intc 18 // 200 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType itob @@ -1044,7 +1041,7 @@ getNodePoolAssignments: // examples/reti/validatorRegistry.algo.ts:412 // return this.validatorList(validatorId).value.nodePoolAssignments; - intc 17 // headOffset + intc 16 // headOffset intc 22 // 192 bytec 0 // "v" frame_dig -1 // validatorId: uint64 @@ -1073,7 +1070,7 @@ getNFDRegistryID: // examples/reti/validatorRegistry.algo.ts:416 // return this.nfdRegistryAppId; - intc 15 // TMPL_nfdRegistryAppId + intc 19 // TMPL_nfdRegistryAppId retsub // addValidator(pay,string,(uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64))uint64 @@ -1254,7 +1251,7 @@ addValidator: // examples/reti/validatorRegistry.algo.ts:449 // applicationID: AppID.fromUint64(this.nfdRegistryAppId) - intc 15 // TMPL_nfdRegistryAppId + intc 19 // TMPL_nfdRegistryAppId itxn_field ApplicationID // examples/reti/validatorRegistry.algo.ts:450 @@ -1406,7 +1403,7 @@ changeValidatorManager: // examples/reti/validatorRegistry.algo.ts:483 // this.validatorList(validatorId).value.config.manager = manager - intc 18 // 40 + intc 17 // 40 frame_dig -2 // manager: Address bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -1551,7 +1548,7 @@ changeValidatorNFD: // examples/reti/validatorRegistry.algo.ts:519 // applicationID: AppID.fromUint64(this.nfdRegistryAppId) - intc 15 // TMPL_nfdRegistryAppId + intc 19 // TMPL_nfdRegistryAppId itxn_field ApplicationID // examples/reti/validatorRegistry.algo.ts:520 @@ -1876,7 +1873,7 @@ addPool: dup bnz *skip_or1 txn Sender - intc 18 // 40 + intc 17 // 40 intc 4 // 32 bytec 0 // "v" frame_dig -2 // validatorId: ValidatorIdType @@ -2491,7 +2488,7 @@ setTokenPayoutRatio: // examples/reti/validatorRegistry.algo.ts:738 // return this.validatorList(validatorId).value.tokenPayoutRatio; intc 14 // headOffset - intc 19 // 200 + intc 18 // 200 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType itob @@ -2545,7 +2542,7 @@ setTokenPayoutRatio: // examples/reti/validatorRegistry.algo.ts:749 // return this.validatorList(validatorId).value.tokenPayoutRatio; intc 14 // headOffset - intc 19 // 200 + intc 18 // 200 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType itob @@ -2593,7 +2590,7 @@ setTokenPayoutRatio: // examples/reti/validatorRegistry.algo.ts:755 // return this.validatorList(validatorId).value.tokenPayoutRatio; intc 14 // headOffset - intc 19 // 200 + intc 18 // 200 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType itob @@ -2719,7 +2716,7 @@ setTokenPayoutRatio: // examples/reti/validatorRegistry.algo.ts:773 // return this.validatorList(validatorId).value.tokenPayoutRatio; intc 14 // headOffset - intc 19 // 200 + intc 18 // 200 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType itob @@ -3844,7 +3841,7 @@ movePoolToNode: dup bnz *skip_or3 txn Sender - intc 18 // 40 + intc 17 // 40 intc 4 // 32 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -3861,7 +3858,7 @@ movePoolToNode: // examples/reti/validatorRegistry.algo.ts:1007 // nodePoolAssignments = clone(this.validatorList(validatorId).value.nodePoolAssignments) - intc 17 // headOffset + intc 16 // headOffset intc 22 // 192 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -3949,7 +3946,7 @@ movePoolToNode: // examples/reti/validatorRegistry.algo.ts:1015 // this.validatorList(validatorId).value.nodePoolAssignments.nodes[srcNodeIdx].poolAppIds[i] = 0 - intc 17 // 900 + intc 16 // 900 frame_dig 1 // srcNodeIdx: uint64 intc 3 // 24 * // acc * typeLength @@ -4433,7 +4430,7 @@ reverifyNFDOwnership: != dup bz *skip_and3 - intc 18 // 40 + intc 17 // 40 intc 4 // 32 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -5258,7 +5255,7 @@ addPoolToNode: // examples/reti/validatorRegistry.algo.ts:1342 // nodePoolAssignments = clone(this.validatorList(validatorId).value.nodePoolAssignments) - intc 17 // headOffset + intc 16 // headOffset intc 22 // 192 bytec 0 // "v" frame_dig -1 // validatorId: ValidatorIdType @@ -5337,7 +5334,7 @@ addPoolToNode: // *if42_consequent // examples/reti/validatorRegistry.algo.ts:1350 // this.validatorList(validatorId).value.nodePoolAssignments.nodes[nodeNum - 1].poolAppIds[i] = poolAppId - intc 17 // 900 + intc 16 // 900 frame_dig -3 // nodeNum: uint64 intc 1 // 1 - @@ -5752,7 +5749,7 @@ isNFDAppIDValid: // examples/reti/validatorRegistry.algo.ts:1448 // applicationID: AppID.fromUint64(this.nfdRegistryAppId) - intc 15 // TMPL_nfdRegistryAppId + intc 19 // TMPL_nfdRegistryAppId itxn_field ApplicationID // examples/reti/validatorRegistry.algo.ts:1449 @@ -6004,14 +6001,14 @@ minBalanceForAccount: // examples/reti/validatorRegistry.algo.ts:1521 // minBal = ALGORAND_ACCOUNT_MIN_BALANCE - intc 16 // 100000 + intc 15 // 100000 frame_bury 0 // minBal: uint64 // examples/reti/validatorRegistry.algo.ts:1522 // minBal += contracts * APPLICATION_BASE_FEE frame_dig 0 // minBal: uint64 frame_dig -1 // contracts: uint64 - intc 16 // 100000 + intc 15 // 100000 * + frame_bury 0 // minBal: uint64 @@ -6020,7 +6017,7 @@ minBalanceForAccount: // minBal += extraPages * APPLICATION_BASE_FEE frame_dig 0 // minBal: uint64 frame_dig -2 // extraPages: uint64 - intc 16 // 100000 + intc 15 // 100000 * + frame_bury 0 // minBal: uint64 @@ -6029,7 +6026,7 @@ minBalanceForAccount: // minBal += assets * ASSET_HOLDING_FEE frame_dig 0 // minBal: uint64 frame_dig -3 // assets: uint64 - intc 16 // 100000 + intc 15 // 100000 * + frame_bury 0 // minBal: uint64 diff --git a/examples/reti/artifacts/ValidatorRegistry.arc32.json b/examples/reti/artifacts/ValidatorRegistry.arc32.json index 3e7d5c9d6..2fa656fee 100644 --- a/examples/reti/artifacts/ValidatorRegistry.arc32.json +++ b/examples/reti/artifacts/ValidatorRegistry.arc32.json @@ -221,7 +221,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCAyNCAzMiAxOCAyNjggNiAyNDIgMyAyIDEwIDI1MiAyNjAgNzAwIFRNUExfbmZkUmVnaXN0cnlBcHBJZCAxMDAwMDAgOTAwIDQwIDIwMCA0IDcyIDE5MiAyNDQgMTAwMDAwMCA0MDk2IDUgMjI2IDMwMCA0MzIgODkyIDEwMDAgMjg1MDAgNTAwMDAgMTEgODAgMTQ1IDE1MyAyMDkKYnl0ZWNibG9jayAweDc2IDB4IDB4MTUxZjdjNzUgMHg3MzcwNzMgMHg3Mzc0NjE2YjY1NjQgMHgwMCAweDcwNmY2ZjZjNTQ2NTZkNzA2YzYxNzQ2NTQxNzA3MDcyNmY3NjYxNmM0Mjc5NzQ2NTczIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgMHgwYTgxMDEgMHg2OTJlNmY3NzZlNjU3MjJlNjEgMHgwMDAwMDAwMDAwMDAwMDAwIDB4Njk2ZTY5NzQgMHg2ZTc1NmQ1NiAweDY5NzM1Zjc2NjE2YzY5NjQ1ZjZlNjY2NDVmNjE3MDcwNjk2NCAweDYzZjNmMjhiCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwppbnRjIDE1IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA3IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwMgoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMDQKCS8vIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZGVsZXRlKCkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMDUKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IGZhbHNlCglieXRlYyAxMSAvLyAgImluaXQiCglpbnRjIDAgLy8gMAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwOQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWludGMgMCAvLyAwCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjEwCgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgIm51bVYiCglpbnRjIDAgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjExCgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgPSAwCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5pdFN0YWtpbmdDb250cmFjdDoKCS8vIGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5pdFN0YWtpbmdDb250cmFjdCh1aW50NjQpdm9pZAoJY2FsbHN1YiBpbml0U3Rha2luZ0NvbnRyYWN0CglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBpbml0U3Rha2luZ0NvbnRyYWN0KGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NCk6IHZvaWQKaW5pdFN0YWtpbmdDb250cmFjdDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTcKCS8vIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uY3JlYXRlKGFwcHJvdmFsUHJvZ3JhbVNpemUpCglieXRlYyA2IC8vICAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlYyAxMSAvLyAgImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAwIC8vIDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCl2b2lkCiphYmlfcm91dGVfZmluYWxpemVTdGFraW5nQ29udHJhY3Q6CgkvLyBleGVjdXRlIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCl2b2lkCgljYWxsc3ViIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0CglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpOiB2b2lkCmZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyNgoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gdHJ1ZQoJYnl0ZWMgMTEgLy8gICJpbml0IgoJaW50YyAxIC8vIDEKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnYXMoKXZvaWQKKmFiaV9yb3V0ZV9nYXM6CgkvLyBleGVjdXRlIGdhcygpdm9pZAoJY2FsbHN1YiBnYXMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdhcygpOiB2b2lkCi8vCi8vIGdhcyBpcyBhIGR1bW15IG5vLW9wIGNhbGwgdGhhdCBjYW4gYmUgdXNlZCB0byBwb29sLXVwIHJlc291cmNlIHJlZmVyZW5jZXMgYW5kIG9wY29kZSBjb3N0CmdhczoKCXByb3RvIDAgMAoJcmV0c3ViCgovLyBnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldE1ickFtb3VudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0TWJyQW1vdW50cwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldE1ickFtb3VudHMoKTogTWJyQW1vdW50cwovLwovLyBSZXR1cm5zIHRoZSBNQlIgYW1vdW50cyBuZWVkZWQgZm9yIHZhcmlvdXMgYWN0aW9uczoKLy8gWwovLyBhZGRWYWxpZGF0b3JNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gYWRkIGEgbmV3IHZhbGlkYXRvciAtIHBhaWQgdG8gdmFsaWRhdG9yIGNvbnRyYWN0Ci8vIGFkZFBvb2xNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gYWRkIGEgbmV3IHBvb2wgLSBwYWlkIHRvIHZhbGlkYXRvcgovLyBwb29sSW5pdE1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBpbml0U3RvcmFnZSgpIG9mIHBvb2wgLSBwYWlkIHRvIHBvb2wgaXRzZWxmCi8vIGFkZFN0YWtlck1icjogdWludDY0IC0gbWJyIHN0YWtlciBuZWVkcyB0byBhZGQgdG8gZmlyc3Qgc3Rha2luZyBwYXltZW50IChzdGF5cyB3LyB2YWxpZGF0b3IpCi8vIF0KZ2V0TWJyQW1vdW50czoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyNDYKCS8vIHJldHVybiB7CgkvLyAgICAgICBhZGRWYWxpZGF0b3JNYnI6IHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMSAvKiB2IHByZWZpeCAqLyArIGxlbjxWYWxpZGF0b3JJZFR5cGU+KCkgKyBsZW48VmFsaWRhdG9ySW5mbz4oKSksCgkvLyAgICAgICBhZGRQb29sTWJyOiB0aGlzLm1pbkJhbGFuY2VGb3JBY2NvdW50KAoJLy8gICAgICAgICAxLAoJLy8gICAgICAgICAvLyB3ZSBjb3VsZCBjYWxjdWxhdGUgdGhpcyBkaXJlY3RseSBieSByZWZlcmVuY2luZyB0aGUgc2l6ZSBvZiBzdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbSBidXQgaXQgd291bGQKCS8vICAgICAgICAgLy8gbWVhbiBvdXIgY2FsbGVycyB3b3VsZCBoYXZlIHRvIHJlZmVyZW5jZSB0aGUgYm94IEFORCBidXkgdXAgaS9vIC0gc28ganVzdCBnbyBtYXggb24gZXh0cmEgcGFnZXMKCS8vICAgICAgICAgMywKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgICBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJLy8gICAgICAgKSwKCS8vICAgICAgIHBvb2xJbml0TWJyOgoJLy8gICAgICAgICBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFICsKCS8vICAgICAgICAgdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSg3IC8qICdzdGFrZXJzJyBuYW1lICovICsgbGVuPFN0YWtlZEluZm8+KCkgKiBNQVhfU1RBS0VSU19QRVJfUE9PTCksCgkvLyAgICAgICBhZGRTdGFrZXJNYnI6CgkvLyAgICAgICAgIC8vIGhvdyBtdWNoIHRvIGNoYXJnZSBmb3IgZmlyc3QgdGltZSBhIHN0YWtlciBhZGRzIHN0YWtlIC0gc2luY2Ugd2UgYWRkIGEgdHJhY2tpbmcgYm94IHBlciBzdGFrZXIKCS8vICAgICAgICAgdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgzIC8qICdzcHMnIHByZWZpeCAqLyArIGxlbjxBZGRyZXNzPigpICsgbGVuPFZhbGlkYXRvclBvb2xLZXk+KCkgKiBNQVhfUE9PTFNfUEVSX1NUQUtFUiksIC8vIHNpemUgb2Yga2V5ICsgYWxsIHZhbHVlcwoJLy8gICAgIH07CglwdXNoaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludGMgOSAvLyAzCglpbnRjIDM0IC8vIDExCglpbnRjIDAgLy8gMAoJZHVwbiAyCglpbnRjIDkgLy8gMwoJaW50YyAxIC8vIDEKCWNhbGxzdWIgbWluQmFsYW5jZUZvckFjY291bnQKCWl0b2IKCWNvbmNhdAoJaW50YyAxNiAvLyAxMDAwMDAKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJcHVzaGludCAxNzkKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRQcm90b2NvbENvbnN0cmFpbnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpOiBDb25zdHJhaW50cwovLwovLyBSZXR1cm5zIHRoZSBwcm90b2NvbCBjb25zdHJhaW50cyBzbyB0aGF0IFVJcyBjYW4gbGltaXQgd2hhdCB1c2VycyBzcGVjaWZ5IGZvciB2YWxpZGF0b3IgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgpnZXRQcm90b2NvbENvbnN0cmFpbnRzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI3MgoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGVwb2NoUGF5b3V0Um91bmRzTWluOiBNSU5fRVBPQ0hfTEVOR1RILAoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNYXg6IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBtaW5QY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1JTl9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWF4UGN0VG9WYWxpZGF0b3JXRm91ckRlY2ltYWxzOiBNQVhfUENUX1RPX1ZBTElEQVRPUiwKCS8vICAgICAgIG1pbkVudHJ5U3Rha2U6IE1JTl9BTEdPX1NUQUtFX1BFUl9QT09MLAoJLy8gICAgICAgbWF4QWxnb1BlclBvb2w6IHRoaXMubWF4QWxnb0FsbG93ZWRQZXJQb29sKCksCgkvLyAgICAgICBtYXhBbGdvUGVyVmFsaWRhdG9yOiB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgYW10Q29uc2lkZXJlZFNhdHVyYXRlZDogdGhpcy5hbGdvU2F0dXJhdGlvbkxldmVsKCksCgkvLyAgICAgICBtYXhOb2RlczogTUFYX05PREVTLAoJLy8gICAgICAgbWF4UG9vbHNQZXJOb2RlOiBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICBtYXhTdGFrZXJzUGVyUG9vbDogTUFYX1NUQUtFUlNfUEVSX1BPT0wsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGVjIDEyIC8vICAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnRjIDAgLy8gMAoJaW50YyA4IC8vIDI0MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JTdGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFZhbGlkYXRvclN0YXRlCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckN1clN0YXRlCmdldFZhbGlkYXRvclN0YXRlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwMgoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGU7CglpbnRjIDggLy8gIGhlYWRPZmZzZXQKCXB1c2hpbnQgMjYKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKQoqYWJpX3JvdXRlX2dldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFtBZGRyZXNzLCBBZGRyZXNzXQpnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzA3CgkvLyByZXR1cm4gW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLCB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyXTsKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWludGMgMTggLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJY29uY2F0CglyZXRzdWIKCi8vIGdldFBvb2xzKHVpbnQ2NCkodWludDY0LHVpbnQxNix1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRQb29sczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoJY2FsbHN1YiBnZXRQb29scwoJZHVwCglsZW4KCWludGMgNSAvLyAxOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sSW5mb1tdCi8vCi8vIFJldHVybiBsaXN0IG9mIGFsbCBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWxpZGF0b3JJZAovLyBAcmV0dXJuIHtQb29sSW5mb1tdfSAtIGFycmF5IG9mIHBvb2xzCi8vIE5vdCBjYWxsYWJsZSBmcm9tIG90aGVyIGNvbnRyYWN0cyBiZWNhdXNlID4xSyByZXR1cm4gYnV0IGNhbiBiZSBjYWxsZWQgdy8gc2ltdWxhdGUgd2hpY2ggYnVtcHMgbG9nIHJldHVybnMKZ2V0UG9vbHM6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOAoJLy8gcmV0RGF0YTogUG9vbEluZm9bXSA9IFtdCglieXRlYyAxIC8vIDB4CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMTkKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDI5IC8vIDQzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMjAKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMQoJLy8gcG9vbFNldFtpXS5wb29sQXBwSWQgPT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNQoJLy8gcmV0RGF0YS5wdXNoKHBvb2xTZXRbaV0pCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyA1IC8vIDE4CglleHRyYWN0MwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMjcKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0UG9vbEFwcElkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRQb29sQXBwSWQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRQb29sQXBwSWQodmFsaWRhdG9ySWQ6IHVpbnQ2NCwgcG9vbElkOiB1aW50NjQpOiB1aW50NjQKZ2V0UG9vbEFwcElkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMzNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbElkICE9PSAwICYmIHBvb2xJZCA8PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzLmxlbmd0aCwKCS8vICAgICAgICdwb29sIGlkIG11c3QgYmUgYmV0d2VlbiAxIGFuZCBudW1iZXIgb2YgcG9vbHMgZm9yIHRoaXMgdmFsaWRhdG9yJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAzIC8vIDI0Cgk8PQoJJiYKCipza2lwX2FuZDA6CgkvLyBwb29sIGlkIG11c3QgYmUgYmV0d2VlbiAxIGFuZCBudW1iZXIgb2YgcG9vbHMgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM5CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sSWQgLSAxXS5wb29sQXBwSWQ7CglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDMgLy8gMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgNSAvLyAxOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRDdXJNYXhTdGFrZVBlclBvb2w6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CgljYWxsc3ViIGdldEN1ck1heFN0YWtlUGVyUG9vbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZSB0aGUgbWF4aW11bSBzdGFrZSBwZXIgcG9vbCBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIE5vcm1hbGx5IHRoaXMgd291bGQgYmUgbWF4QWxnb1BlclBvb2wsIGJ1dCBpdCBzaG91bGQgYWxzbyBuZXZlciBnbyBhYm92ZSBNYXhBbGxvd2VkU3Rha2UgLyBudW1Qb29scyBzbwovLyBhcyBwb29scyBhcmUgYWRkZWQgdGhlIG1heCBhbGxvd2VkIHBlciBwb29sIGNhbiByZWR1Y2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgpnZXRDdXJNYXhTdGFrZVBlclBvb2w6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NQoJLy8gbnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTYKCS8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzID0gdGhpcy5tYXhBbGxvd2VkU3Rha2UoKSAvIG51bVBvb2xzCgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJLwoJZnJhbWVfYnVyeSAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU3CgkvLyBtYXhQZXJQb29sOiB1aW50NjQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYXhBbGdvUGVyUG9vbAoJcHVzaGludCAyMTcKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTgKCS8vIG1heFBlclBvb2wgPT09IDAKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1OQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMubWF4QWxnb0FsbG93ZWRQZXJQb29sKCkKCWNhbGxzdWIgbWF4QWxnb0FsbG93ZWRQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoqaWYxX2VuZDoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYxCgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA8IG1heFBlclBvb2wKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjIKCS8vIG1heFBlclBvb2wgPSBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scwoJZnJhbWVfZGlnIDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzY0CgkvLyByZXR1cm4gbWF4UGVyUG9vbDsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKKmFiaV9yb3V0ZV9kb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgZG9lc1N0YWtlck5lZWRUb1BheU1CUiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKGFkZHJlc3MpYm9vbAoJY2FsbHN1YiBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoc3Rha2VyOiBBZGRyZXNzKTogYm9vbGVhbgovLwovLyBIZWxwZXIgY2FsbGVycyBjYW4gY2FsbCB3LyBzaW11bGF0ZSB0byBkZXRlcm1pbmUgaWYgJ0FkZFN0YWtlcicgTUJSIHNob3VsZCBiZSBpbmNsdWRlZCB3LyBzdGFraW5nIGFtb3VudAovLyBAcGFyYW0gc3Rha2VyCmRvZXNTdGFrZXJOZWVkVG9QYXlNQlI6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzczCgkvLyByZXR1cm4gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0czsKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYnogKmlmM19lbmQKCgkvLyAqaWYzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODQKCS8vIHJldHVybiBbXTsKCWJ5dGVjIDEgLy8gMHgKCWIgKmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCpyZXR1cm4KCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NgoJLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdID0gW10KCWJ5dGVjIDEgLy8gMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg3CgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgcG9vbFNldC5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBpIDwgcG9vbFNldC5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OQoJLy8gcG9vbFNldFtpXS5pZCAhPT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM5MAoJLy8gcmV0RGF0YS5wdXNoKHBvb2xTZXRbaV0pCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKKmlmNF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM5MwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCipnZXRTdGFrZWRQb29sc0ZvckFjY291bnQqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfZ2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBnZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gUmV0cmlldmVzIHRoZSB0b2tlbiBwYXlvdXQgcmF0aW8gZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yIC0gcmV0dXJuaW5nIHRoZSBwb29sIHJhdGlvcyBvZiB3aG9sZSBzbyB0aGF0IHRva2VuCi8vIHBheW91dHMgYWNyb3NzIHBvb2xzIGNhbiBiZSBiYXNlZCBvbiBhIHN0YWJsZSBzbmFwaG9zdCBvZiBzdGFrZS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEByZXR1cm4ge1Bvb2xUb2tlblBheW91dFJhdGlvfSAtIFRoZSB0b2tlbiBwYXlvdXQgcmF0aW8gZm9yIHRoZSB2YWxpZGF0b3IuCmdldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDA1CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGRvZXNuJ3QgZXhpc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHM7CglpbnRjIDE3IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7CglpbnRjIDE1IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJcmV0c3ViCgovLyBhZGRWYWxpZGF0b3IocGF5LHN0cmluZywodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkpdWludDY0CiphYmlfcm91dGVfYWRkVmFsaWRhdG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgOCAvLyAyNDIKCT09CgoJLy8gYXJndW1lbnQgMCAoY29uZmlnKSBmb3IgYWRkVmFsaWRhdG9yIG11c3QgYmUgYSAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBtYnJQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglwdXNoaW50IDEwMDAwMDAwCgk+CgoJLy8gZmVlIG11c3QgYmUgMTAgQUxHTyBvciBtb3JlIHRvIHByZXZlbnQgc3BhbW1pbmcgb2YgdmFsaWRhdG9ycwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzOAoJLy8gdmFsaWRhdG9ySWQgPSB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgKyAxCglieXRlYyAxMiAvLyAgIm51bVYiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzOQoJLy8gdGhpcy5udW1WYWxpZGF0b3JzLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDEyIC8vICAibnVtViIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5jcmVhdGUoKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hpbnQgMTA5MgoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcgPSBjb25maWcKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0NgoJLy8gY29uZmlnLm5mZEZvckluZm8gIT09IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQ4CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgICAgYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbyldLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUxCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKV0KCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUzCgkvLyBhc3NlcnQoYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDEsICJwcm92aWRlZCBORkQgaXNuJ3QgdmFsaWQiKQoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBwcm92aWRlZCBORkQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgICAnSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyJwoJLy8gICAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCT09CgoJLy8gSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyCglhc3NlcnQKCippZjVfZW5kOgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjEKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUyB8fAoJLy8gICAgICAgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnRjIDkgLy8gMwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgMjAgLy8gNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0ODMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIgPSBtYW5hZ2VyCglpbnRjIDE4IC8vIDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJLy8gc3Vuc2V0dGluZ1RvOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdW5zZXR0aW5nT246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN1bnNldHRpbmdPbjogdWludDY0LCBzdW5zZXR0aW5nVG86IFZhbGlkYXRvcklkVHlwZSk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgc3Vuc2V0IGluZm9ybWF0aW9uIGZvciBhIGdpdmVuIHZhbGlkYXRvci4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byB1cGRhdGUuCi8vIEBwYXJhbSB7dWludDY0fSBzdW5zZXR0aW5nT24gLSBUaGUgbmV3IHN1bnNldCB0aW1lc3RhbXAuCi8vIEBwYXJhbSB7dWludDY0fSBzdW5zZXR0aW5nVG8gLSBUaGUgbmV3IHN1bnNldCB0byB2YWxpZGF0b3IgaWQuCmNoYW5nZVZhbGlkYXRvclN1bnNldEluZm86Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDk1CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPSBzdW5zZXR0aW5nT24KCWludGMgMjcgLy8gMjI2CglmcmFtZV9kaWcgLTIgLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTAwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nVG8gPSBzdW5zZXR0aW5nVG8KCXB1c2hpbnQgMjM0CglmcmFtZV9kaWcgLTMgLy8gc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JORkQ6CgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvck5GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yTkZEKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG5mZEFwcElEOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKLy8KLy8gQ2hhbmdlcyB0aGUgTkZEIGZvciBhIHZhbGlkYXRvciBpbiB0aGUgdmFsaWRhdG9yTGlzdCBjb250cmFjdC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byB1cGRhdGUuCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBhcHBsaWNhdGlvbiBpZCBvZiB0aGUgTkZEIHRvIGFzc2lnbiB0byB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBORkQgKHdoaWNoIG11c3QgbWF0Y2gpCmNoYW5nZVZhbGlkYXRvck5GRDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTMKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBuZmROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTI0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAnSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglieXRlYyA5IC8vICAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnRjIDIxIC8vIDcyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDAKCS8vIGFzc2VydChjb21taXNzaW9uQWRkcmVzcyAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU0MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgPSBjb21taXNzaW9uQWRkcmVzcwoJcHVzaGludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvOgoJLy8gUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIEVudHJ5R2F0aW5nQXNzZXRzOiB1aW50NjRbNF0KCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoRW50cnlHYXRpbmdBc3NldHMpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSB1aW50NjRbNF0KCWFzc2VydAoKCS8vIEVudHJ5R2F0aW5nQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAzIChFbnRyeUdhdGluZ0FkZHJlc3MpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAxIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgNCAoRW50cnlHYXRpbmdUeXBlKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIEVudHJ5R2F0aW5nVHlwZTogdWludDgsIEVudHJ5R2F0aW5nQWRkcmVzczogQWRkcmVzcywgRW50cnlHYXRpbmdBc3NldHM6IFN0YXRpY0FycmF5PHVpbnQ2NCwgND4sIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0LCBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gQWxsb3cgdGhlIGFkZGl0aW9uYWwgcmV3YXJkcyAoZ2F0aW5nIGVudHJ5LCBhZGRpdGlvbmFsIHRva2VuIHJld2FyZHMpIGluZm9ybWF0aW9uIGJlIGNoYW5nZWQgYXQgd2lsbC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvOgoJcHJvdG8gNiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU1NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZW50cnlHYXRpbmdUeXBlID0gRW50cnlHYXRpbmdUeXBlCglpbnRjIDM1IC8vIDgwCglmcmFtZV9kaWcgLTIgLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJaXRvYgoJZXh0cmFjdCA3IDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MgPSBFbnRyeUdhdGluZ0FkZHJlc3MKCXB1c2hpbnQgODEKCWZyYW1lX2RpZyAtMyAvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cyA9IEVudHJ5R2F0aW5nQXNzZXRzCglwdXNoaW50IDExMwoJZnJhbWVfZGlnIC00IC8vIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2NAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZ2F0aW5nQXNzZXRNaW5CYWxhbmNlID0gR2F0aW5nQXNzZXRNaW5CYWxhbmNlCglpbnRjIDM2IC8vIDE0NQoJZnJhbWVfZGlnIC01IC8vIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucmV3YXJkUGVyUGF5b3V0ID0gUmV3YXJkUGVyUGF5b3V0CglwdXNoaW50IDE2MQoJZnJhbWVfZGlnIC02IC8vIFJld2FyZFBlclBheW91dDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFBvb2w6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIG5vZGVOdW06IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBtYnJQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFBvb2wgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRQb29sKHBheSx1aW50NjQsdWludDY0KSh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYWRkUG9vbAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZFBvb2wobWJyUGF5bWVudDogUGF5VHhuLCB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBub2RlTnVtOiB1aW50NjQpOiBWYWxpZGF0b3JQb29sS2V5Ci8vCi8vIEFkZHMgYSBuZXcgcG9vbCB0byBhIHZhbGlkYXRvcidzIHBvb2wgc2V0LCByZXR1cm5pbmcgdGhlICdrZXknIHRvIHJlZmVyZW5jZSB0aGUgcG9vbCBpbiB0aGUgZnV0dXJlIGZvciBzdGFraW5nLCBldGMuCi8vIFRoZSBjYWxsZXIgbXVzdCBwYXkgdGhlIGNvc3Qgb2YgdGhlIHZhbGlkYXRvcnMgTUJSIGluY3JlYXNlIGFzIHdlbGwgYXMgdGhlIE1CUiB0aGF0IHdpbGwgYmUgbmVlZGVkIGZvciB0aGUgcG9vbCBpdHNlbGYuCi8vCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBjYWxsIF0KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIGFkZGluZyBhIG5ldyBwb29sCi8vIEBwYXJhbSB7dWludDY0fSB2YWxpZGF0b3JJZCBpcyBpZCBvZiB2YWxpZGF0b3IgdG8gcG9vbCB0byAobXVzdCBiZSBvd25lciBvciBtYW5hZ2VyKQovLyBAcGFyYW0ge3VpbnQ2NH0gbm9kZU51bSBpcyBub2RlIG51bWJlciB0byBhZGQgdG8KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2wga2V5IHRvIGNyZWF0ZWQgcG9vbAphZGRQb29sOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJZHVwCglibnogKnNraXBfb3IxCgl0eG4gU2VuZGVyCglpbnRjIDE4IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IxOgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTg4CgkvLyB2ZXJpZnlQYXlUeG4obWJyUGF5bWVudCwgeyBhbW91bnQ6IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFBvb2xNYnIsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWNhbGxzdWIgZ2V0TWJyQW1vdW50cwoJZXh0cmFjdCA4IDgKCWJ0b2kKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFBvb2xNYnIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTkwCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5leGlzdHMsICJzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkIikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50YyAzIC8vIDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwMAoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50YyAwIC8vICBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJaW50YyAwIC8vIDAKCWludGMgMjUgLy8gNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJaW50YyAyNSAvLyA0MDk2CglieXRlYyA2IC8vICAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uc2l6ZQoJYXNzZXJ0CglpbnRjIDI1IC8vIDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDYKCS8vIGdsb2JhbE51bVVpbnQ6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludAoJaW50YyAzNCAvLyAxMQoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNwoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50YyA5IC8vIDMKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwOAoJLy8gZXh0cmFQcm9ncmFtUGFnZXM6IDMKCWludGMgOSAvLyAzCglpdHhuX2ZpZWxkIEV4dHJhUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwOQoJLy8gYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXQoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAzOCAvLyAyMDkKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjE5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzID0gbnVtUG9vbHMgYXMgdWludDE2CglpbnRjIDggLy8gMjQyCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjIKCS8vIHBvb2xBcHBJZCA9IHRoaXMuaXR4bi5jcmVhdGVkQXBwbGljYXRpb25JRC5pZAoJaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xBcHBJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1tudW1Qb29scyAtIDFdLnBvb2xBcHBJZCA9IHBvb2xBcHBJZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMSAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSx1aW50NjQsdWludDY0KSh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYWRkU3Rha2UKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NCk6IFZhbGlkYXRvclBvb2xLZXkKLy8KLy8gQWRkcyBzdGFrZSB0byBhIHZhbGlkYXRvciBwb29sLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCAtIHBheW1lbnQgY29taW5nIGZyb20gc3Rha2VyIHRvIHBsYWNlIGludG8gYSBwb29sCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsdWVUb1ZlcmlmeSAtIG9ubHkgaWYgdmFsaWRhdG9yIGhhcyBnYXRpbmcgdG8gZW50ZXIgLSB0aGlzIGlzIGFzc2V0IGlkIG9yIG5mZCBpZCB0aGF0IGNvcnJlc3BvbmRzIHRvIGdhdGluZy4KLy8gVHhuIHNlbmRlciBpcyBmYWN0b3JlZCBpbiBhcyB3ZWxsIGlmIHRoYXQgaXMgcGFydCBvZiBnYXRpbmcuCi8vICogQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXl9IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCmFkZFN0YWtlOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDUKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50YyAyNyAvLyAyMjYKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50YyAyNyAvLyAyMjYKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnRjIDEyIC8vIDI1MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4MQoJLy8gbWJyQW10TGVmdEJlaGluZCA9IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFN0YWtlck1icgoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgyCgkvLyByZWFsQW1vdW50IC09IG1ickFtdExlZnRCZWhpbmQKCWZyYW1lX2RpZyAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgktCglmcmFtZV9idXJ5IDEgLy8gcmVhbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4MwoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNvbmNhdAoJcHVzaGludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMjIgLy8gMTkyCglnZXRiaXQKCWZyYW1lX2J1cnkgNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5MAoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmluZFJldFsyXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkzCglnZXRiaXQKCWZyYW1lX2J1cnkgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTEKCS8vIHBvb2xLZXkucG9vbElkID09PSAwCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gTm8gcG9vbCBhdmFpbGFibGUgd2l0aCBmcmVlIHN0YWtlLiAgVmFsaWRhdG9yIG5lZWRzIHRvIGFkZCBhbm90aGVyIHBvb2wKCWVycgoKKmlmMTBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5NgoJLy8gdGhpcy51cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlciwgcG9vbEtleSkKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY2FsbHN1YiB1cGRhdGVTdGFrZXJQb29sU2V0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5OQoJLy8gdGhpcy5jYWxsUG9vbEFkZFN0YWtlKAoJLy8gICAgICAgc3Rha2VkQW1vdW50UGF5bWVudCwKCS8vICAgICAgIHBvb2xLZXksCgkvLyAgICAgICBtYnJBbXRMZWZ0QmVoaW5kLAoJLy8gICAgICAgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJLy8gICAgICkKCWZyYW1lX2RpZyA1IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJZnJhbWVfZGlnIDQgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJZnJhbWVfZGlnIDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCgljYWxsc3ViIGNhbGxQb29sQWRkU3Rha2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzE0CgkvLyByZXR1cm4gcG9vbEtleTsKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA1CglyZXRzdWIKCi8vIHNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKKmFiaV9yb3V0ZV9zZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sVG9rZW5QYXlvdXRSYXRpbwovLwovLyBzZXRUb2tlblBheW91dFJhdGlvIGlzIGNhbGxlZCBieSBTdGFraW5nIFBvb2wgIyAxIChPTkxZKSB0byBhc2sgdGhlIHZhbGlkYXRvciAodXMpIHRvIGNhbGN1bGF0ZSB0aGUgcmF0aW9zCi8vIG9mIHN0YWtlIGluIHRoZSBwb29scyBmb3Igc3Vic2VxdWVudCB0b2tlbiBwYXlvdXRzIChpZTogMiBwb29scywgJzEwMCcgYWxnbyB0b3RhbCBzdGFrZWQsIDYwIGluIHBvb2wgMSwgYW5kIDQwCi8vIGluIHBvb2wgMikgIFRoaXMgaXMgZG9uZSBzbyB3ZSBoYXZlIGEgc3RhYmxlIHNuYXBzaG90IG9mIHN0YWtlIC0gdGFrZW4gb25jZSBwZXIgZXBvY2ggLSBvbmx5IHRyaWdnZXJlZCBieQovLyBwb29sIDEgZG9pbmcgcGF5b3V0LiAgcG9vbHMgb3RoZXIgdGhhbiAxIGRvaW5nIHBheW91dCBjYWxsIHBvb2wgMSB0byBhc2sgaXQgZG8gaXQgZmlyc3QuCi8vIEl0IHdvdWxkIGJlIDYwLzQwJSBpbiB0aGUgcG9vbFBjdE9mV2hvbGUgdmFsdWVzLiAgVGhlIHRva2VuIHJld2FyZCBwYXlvdXRzIHRoZW4gdXNlIHRoZXNlIHZhbHVlcyBpbnN0ZWFkIG9mCi8vIHRoZWlyICdjdXJyZW50JyBzdGFrZSB3aGljaCBjaGFuZ2VzIGFzIHBhcnQgb2YgdGhlIHBheW91dHMgdGhlbXNlbHZlcyAoYW5kIHBlb3BsZSBjb3VsZCBiZSBjaGFuZ2luZyBzdGFrZQovLyBkdXJpbmcgdGhlIGVwb2NoIHVwZGF0ZXMgYWNyb3NzIHBvb2xzKQovLwovLyBNdWx0aXBsZSBwb29scyB3aWxsIGNhbGwgdXMgdmlhIHBvb2wgMSAocG9vbDItPnBvb2wxLT52YWxpZGF0b3IsIGV0Yy4pIHNvIGRvbid0IGFzc2VydCBvbiBwb29sMSBjYWxsaW5nIG11bHRpcGxlCi8vIHRpbWVzIGluIHNhbWUgZXBvY2guICBKdXN0IHJldHVybi4KLy8KLy8gQHBhcmFtIHZhbGlkYXRvcklkIC0gdmFsaWRhdG9yIGlkIChhbmQgdGh1cyBwb29sKSBjYWxsaW5nIHVzLiAgVmVyaWZpZWQgc28gdGhhdCBzZW5kZXIgTVVTVCBiZSBwb29sIDEgb2YgdGhpcyB2YWxpZGF0b3IuCi8vIEByZXR1cm5zIFBvb2xUb2tlblBheW91dFJhdGlvIC0gdGhlIGZpbmlzaGVkIHJhdGlvIGRhdGEKc2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM0CgkvLyBwb29sMUFwcElEID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbDFBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNQoJLy8gYXNzZXJ0KHBvb2wxQXBwSUQgIT09IDApCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gKmlmMTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM3CgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM4CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuCgoqaWYxMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ0CgkvLyBjdXJSb3VuZCA9IGdsb2JhbHMucm91bmQKCWdsb2JhbCBSb3VuZAoJZnJhbWVfYnVyeSAxIC8vIGN1clJvdW5kOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ1CgkvLyBsYXN0UGF5b3V0VXBkYXRlID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQKCWludGMgMzAgLy8gODkyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NgoJLy8gbGFzdFBheW91dFVwZGF0ZSAhPT0gMAoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0OAoJLy8gKEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuZ2xvYmFsU3RhdGUoJ2xhc3RQYXlvdXQnKSBhcyB1aW50NjQpID09PSBsYXN0UGF5b3V0VXBkYXRlCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCXB1c2hieXRlcyAweDZjNjE3Mzc0NTA2MTc5NmY3NTc0IC8vICJsYXN0UGF5b3V0IgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuZ2xvYmFsU3RhdGUoJ2xhc3RQYXlvdXQnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCT09CglieiAqaWYxM19lbmQKCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ5CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuCgoqaWYxM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUxCgkvLyBlcG9jaFJvdW5kTGVuZ3RoID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCXB1c2hpbnQgMTY5CglpbnRjIDIwIC8vIDQKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE5IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjE0X2VuZDoKCippZjEyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTgKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0ID0gY3VyUm91bmQKCWludGMgMzAgLy8gODkyCglmcmFtZV9kaWcgMSAvLyBjdXJSb3VuZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MAoJLy8gY3VyTnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDUgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjEKCS8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZAoJaW50YyAxMiAvLyAyNTIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJOdW1Qb29sczsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNyAvLyBpOiB1aW50NjQKCipmb3JfMjoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgPCBjdXJOdW1Qb29scwoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglmcmFtZV9kaWcgNSAvLyBjdXJOdW1Qb29sczogdWludDY0Cgk8CglieiAqZm9yXzJfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2NwoJLy8gb3VyUG9vbFBjdE9mV2hvbGUgPSB3aWRlUmF0aW8oCgkvLyAgICAgICAgIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCwgMV8wMDBfMDAwXSwKCS8vICAgICAgICAgW3RvdGFsU3Rha2VGb3JWYWxpZGF0b3JdCgkvLyAgICAgICApCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglwdXNoaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludGMgMTQgLy8gNzAwCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWZyYW1lX2RpZyA4IC8vIG91clBvb2xQY3RPZldob2xlOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCipzZXRUb2tlblBheW91dFJhdGlvKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDgKCXJldHN1YgoKLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfc3Rha2VVcGRhdGVkVmlhUmV3YXJkczoKCS8vIHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbms6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFsZ29Ub0FkZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEtleTogKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJPT0KCgkvLyBhcmd1bWVudCA0IChwb29sS2V5KSBmb3Igc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgc3Rha2VVcGRhdGVkVmlhUmV3YXJkcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBhbGdvVG9BZGQ6IHVpbnQ2NCwgcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0LCB2YWxpZGF0b3JDb21taXNzaW9uOiB1aW50NjQsIHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbms6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyBpcyBjYWxsZWQgYnkgU3Rha2luZyBwb29scyB0byBpbmZvcm0gdGhlIHZhbGlkYXRvciAodXMpIHRoYXQgYSBwYXJ0aWN1bGFyIGFtb3VudCBvZiB0b3RhbAovLyBzdGFrZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgc3BlY2lmaWVkIHBvb2wuICBUaGlzIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSBzdGF0cyB3ZSBoYXZlIGluIG91ciBQb29sSW5mbyBzdG9yYWdlLgovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgLSBWYWxpZGF0b3JQb29sS2V5IHR5cGUKLy8gQHBhcmFtIHt1aW50NjR9IGFsZ29Ub0FkZCAtIGFtb3VudCB0aGlzIHZhbGlkYXRvcidzIHRvdGFsIHN0YWtlIGluY3JlYXNlZCB2aWEgcmV3YXJkcwovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZCAtIGFtb3VudCB0aGlzIHZhbGlkYXRvcidzIHRvdGFsIHN0YWtlIGluY3JlYXNlZCB2aWEgcmV3YXJkcyAodGhhdCBzaG91bGQgYmUKLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvckNvbW1pc3Npb24gLSB0aGUgY29tbWlzc2lvbiBhbW91bnQgdGhlIHZhbGlkYXRvciB3YXMgcGFpZCwgaWYgYW55Ci8vIEBwYXJhbSB7dWludDY0fSBzYXR1cmF0ZWRCdXJuVG9GZWVTaW5rIC0gaWYgdGhlIHBvb2wgd2FzIGluIHNhdHVyYXRlZCBzdGF0ZSwgdGhlIGFtb3VudCBzZW50IGJhY2sgdG8gdGhlIGZlZSBzaW5rLgovLyBzZWVuIGFzICdhY2NvdW50ZWQgZm9yL3BlbmRpbmcgc3BlbnQnKQpzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJcHJvdG8gNSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5NAoJLy8gdGhpcy52ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJY2FsbHN1YiB2ZXJpZnlQb29sS2V5Q2FsbGVyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkICs9IGFsZ29Ub0FkZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludGMgMTIgLy8gMjUyCglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrICs9IHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQKCWludGMgMTMgLy8gMjYwCglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODAxCgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBhbGdvVG9BZGQKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglieXRlYyA0IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMCAvLyAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgMjggLy8gMzAwCgk8CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgOCAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyAyNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzOQoJLy8gdGhpcy52ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJY2FsbHN1YiB2ZXJpZnlQb29sS2V5Q2FsbGVyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0MwoJLy8gYXNzZXJ0KGFtb3VudFJlbW92ZWQgPiAwIHx8IHJld2FyZFJlbW92ZWQgPiAwLCAnc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIGFsZ28gb3IgcmV3YXJkIHdhcyByZW1vdmVkJykKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglkdXAKCWJueiAqc2tpcF9vcjIKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cgl8fAoKKnNraXBfb3IyOgoJLy8gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIGFsZ28gb3IgcmV3YXJkIHdhcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODQ2CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgLT0gYW1vdW50UmVtb3ZlZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDcKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgLT0gYW1vdW50UmVtb3ZlZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gKmlmMTZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUwCgkvLyByZXdhcmRSZW1vdmVkID4gMAoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjE2X2Vsc2UKCgkvLyAqaWYxNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUxCgkvLyByZXdhcmRUb2tlbklEID0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnRjIDM3IC8vIDE1MwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MgoJLy8gYXNzZXJ0KHJld2FyZFRva2VuSUQgIT09IDAsICJyZXdhcmRSZW1vdmVkIGNhbid0IGJlIHNldCBpZiB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIHJld2FyZCB0b2tlbiEiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCgkvLyByZXdhcmRSZW1vdmVkIGNhbid0IGJlIHNldCBpZiB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIHJld2FyZCB0b2tlbiEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTMKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgPj0gcmV3YXJkUmVtb3ZlZCwKCS8vICAgICAgICAgJ3Jld2FyZCBiZWluZyByZW1vdmVkIG11c3QgYmUgY292ZXJlZCBieSBob2xkIGJhY2sgYW1vdW50JwoJLy8gICAgICAgKQoJaW50YyAxMyAvLyAyNjAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJPj0KCgkvLyByZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1OQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgLT0gcmV3YXJkUmVtb3ZlZAoJaW50YyAxMyAvLyAyNjAKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NAoJLy8gcG9vbEtleS5wb29sSWQgIT09IDEKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCSE9CglieiAqaWYxN19lbmQKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbc3Rha2VyLCByZXdhcmRUb2tlbklELCByZXdhcmRSZW1vdmVkXSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTQgLy8gIG1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NwoJLy8gbWV0aG9kQXJnczogW3N0YWtlciwgcmV3YXJkVG9rZW5JRCwgcmV3YXJkUmVtb3ZlZF0KCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjE3X2VuZDoKCWIgKmlmMTZfZW5kCgoqaWYxNl9lbHNlOgoKKmlmMTZfZW5kOgoJLy8gKmlmMThfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODkyCgkvLyBzdGFrZXJSZW1vdmVkCglmcmFtZV9kaWcgLTUgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbGVhbgoJYnogKmlmMThfZW5kCgoJLy8gKmlmMThfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5NAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxTdGFrZXJzIC09IDEKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5NgoJLy8gcmVtb3ZlUmV0ID0gdGhpcy5yZW1vdmVGcm9tU3Rha2VyUG9vbFNldChzdGFrZXIsIDxWYWxpZGF0b3JQb29sS2V5PnsKCS8vICAgICAgICAgaWQ6IHBvb2xLZXkuaWQsCgkvLyAgICAgICAgIHBvb2xJZDogcG9vbEtleS5wb29sSWQsCgkvLyAgICAgICAgIHBvb2xBcHBJZDogcG9vbEtleS5wb29sQXBwSWQsCgkvLyAgICAgICB9KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljYWxsc3ViIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0CglmcmFtZV9idXJ5IDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDEKCS8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvciA9IHJlbW92ZVJldFswXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAwCglnZXRiaXQKCWZyYW1lX2J1cnkgMiAvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAyCgkvLyBzdGFrZXJPdXRPZlByb3RvY29sID0gcmVtb3ZlUmV0WzFdCglmcmFtZV9kaWcgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDEKCWdldGJpdAoJZnJhbWVfYnVyeSAzIC8vIHN0YWtlck91dE9mUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYxOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDQKCS8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcgoJZnJhbWVfZGlnIDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxTdGFrZXJzIC09IDEKCWludGMgMjMgLy8gMjQ0CglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYxOV9lbmQ6CgkvLyAqaWYyMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDgKCS8vIHN0YWtlck91dE9mUHJvdG9jb2wKCWZyYW1lX2RpZyAzIC8vIHN0YWtlck91dE9mUHJvdG9jb2w6IGJvb2wKCWJ6ICppZjIwX2VuZAoKCS8vICppZjIwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDkKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJLQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKKmlmMjBfZW5kOgoKKmlmMThfZW5kOgoJcmV0c3ViCgovLyBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoqYWJpX3JvdXRlX2ZpbmRQb29sRm9yU3Rha2VyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgZmluZFBvb2xGb3JTdGFrZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1N0YWtlOiB1aW50NjQpOiBbVmFsaWRhdG9yUG9vbEtleSwgYm9vbGVhbiwgYm9vbGVhbl0KLy8KLy8gRmluZHMgdGhlIHBvb2wgZm9yIGEgc3Rha2VyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB2YWxpZGF0b3IgaWQsIHN0YWtlciBhZGRyZXNzLCBhbmQgYW1vdW50IHRvIHN0YWtlLgovLyBGaXJzdCBjaGVja3MgdGhlIHN0YWtlcnMgJ2FscmVhZHkgc3Rha2VkIGxpc3QnIGZvciB0aGUgdmFsaWRhdG9yIHByZWZlcnJpbmcgdGhvc2UgKGFkZGluZyBpZiBwb3NzaWJsZSkgdGhlbiBhZGRzCi8vIHRvIG5ldyBwb29sIGlmIG5lY2Vzc2FyeS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHN0YWtlci4KLy8gQHBhcmFtIHt1aW50NjR9IGFtb3VudFRvU3Rha2UgLSBUaGUgYW1vdW50IHRvIHN0YWtlLgovLyBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleSwgYm9vbGVhbiwgYm9vbGVhbn0gLSBUaGUgcG9vbCBmb3IgdGhlIHN0YWtlciwgdHJ1ZS9mYWxzZSBvbiB3aGV0aGVyIHRoZSBzdGFrZXIgaXMgJ25ldycKLy8gdG8gdGhpcyBWQUxJREFUT1IsIGFuZCB0cnVlL2ZhbHNlIGlmIHN0YWtlciBpcyBuZXcgdG8gdGhlIHByb3RvY29sLgpmaW5kUG9vbEZvclN0YWtlcjoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTMwCgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMQoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTM5CgkvLyBtYXhQZXJQb29sID0gdGhpcy5nZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQpCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyAqaWYyMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDIKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDQKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCAhPT0gMCkKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgcG9vbFNldC5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgoqZm9yXzM6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ1CgkvLyBpIDwgcG9vbFNldC5sZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfM19lbmQKCgkvLyAqaWYyMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDI4IC8vIDMwMAoJPAoJYnogKmlmMjJfZW5kCgoJLy8gKmlmMjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDggLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgMjYgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50YyAzOCAvLyAyMDkKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDI5IC8vIDQzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI2X2VuZAoKCS8vICppZjI2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzcKCS8vIHJldHVybiBbCgkvLyAgICAgICAgICAgeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogaSArIDEsIHBvb2xBcHBJZDogcG9vbHNbaV0ucG9vbEFwcElkIH0sCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwKCS8vICAgICAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wsCgkvLyAgICAgICAgIF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgNSAvLyBwb29sczogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoJYiAqZmluZFBvb2xGb3JTdGFrZXIqcmV0dXJuCgoqaWYyNl9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNyAvLyBpOiB1aW50NjQKCWIgKmZvcl80CgoqZm9yXzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIFt7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiAwLCBwb29sQXBwSWQ6IDAgfSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCipmaW5kUG9vbEZvclN0YWtlcipyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA3CglyZXRzdWIKCi8vIG1vdmVQb29sVG9Ob2RlKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZToKCS8vIG5vZGVOdW06IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHBvb2xBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtb3ZlUG9vbFRvTm9kZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbW92ZVBvb2xUb05vZGUodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcG9vbEFwcElkOiB1aW50NjQsIG5vZGVOdW06IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRmluZCB0aGUgc3BlY2lmaWVkIHBvb2wgKGluIGFueSBub2RlIG51bWJlcikgYW5kIG1vdmUgaXQgdG8gdGhlIHNwZWNpZmllZCBub2RlLgovLyBUaGUgcG9vbCBhY2NvdW50IGlzIGZvcmNlZCBvZmZsaW5lIGlmIG1vdmVkIHNvIHByaW9yIG5vZGUgd2lsbCBzdGlsbCBydW4gZm9yIDMyMCByb3VuZHMgYnV0Ci8vIG5ldyBrZXkgZ29lcyBvbmxpbmUgb24gbmV3IG5vZGUgc29vbiBhZnRlciAoMzIwIHJvdW5kcyBhZnRlciBpdCBnb2VzIG9ubGluZSkKLy8gTm8tb3AgaWYgc3VjY2VzcywgYXNzZXJ0cyBpZiBub3QgZm91bmQgb3IgY2FuJ3QgbW92ZSAgKG5vIHNwYWNlIGluIHRhcmdldCkKLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gcG9vbEFwcElkCi8vIEBwYXJhbSB7dWludDY0fSBub2RlTnVtCm1vdmVQb29sVG9Ob2RlOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDAxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50YyAxOCAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnRjIDE3IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAwOAoJLy8gYXNzZXJ0KG5vZGVOdW0gPj0gMSAmJiBub2RlTnVtIDw9IE1BWF9OT0RFUywgJ25vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMiAvLyA4Cgk8PQoJJiYKCipza2lwX2FuZDE6CgkvLyBub2RlIG51bWJlciBvdXQgb2YgYWxsb3dhYmxlIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gZm9yIChsZXQgc3JjTm9kZUlkeCA9IDA7IHNyY05vZGVJZHggPCBNQVhfTk9ERVM7IHNyY05vZGVJZHggKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgoqZm9yXzU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gc3JjTm9kZUlkeCA8IE1BWF9OT0RFUwoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDIgLy8gOAoJPAoJYnogKmZvcl81X2VuZAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IE1BWF9QT09MU19QRVJfTk9ERTsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNjoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgOSAvLyAzCgk8CglieiAqZm9yXzZfZW5kCgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMgoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tzcmNOb2RlSWR4XS5wb29sQXBwSWRzW2ldID09PSBwb29sQXBwSWQKCWZyYW1lX2RpZyAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEzCgkvLyBhc3NlcnQobm9kZU51bSAtIDEgIT09IHNyY05vZGVJZHgsICJjYW4ndCBtb3ZlIHRvIHNhbWUgbm9kZSIpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgkhPQoKCS8vIGNhbid0IG1vdmUgdG8gc2FtZSBub2RlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPSAwCglpbnRjIDE3IC8vIDkwMAoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUuZ29PZmZsaW5lPih7CgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NTFlZjNiMjEgLy8gbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0NwoJLy8gcmV3YXJkVG9rZW5JZCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnJld2FyZFRva2VuSWQKCWludGMgMzcgLy8gMTUzCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ4CgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglpbnRjIDEzIC8vIDI2MAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OQoJLy8gYXNzZXJ0KHJld2FyZFRva2VuSWQgIT09IDAsICJ0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZCIpCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHRoaXMgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSBhIHJld2FyZCB0b2tlbiBkZWZpbmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1MAoJLy8gcG9vbE9uZUFwcElkID0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1MgoJLy8gdG9rZW5SZXdhcmRCYWwgPSBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSAtIHJld2FyZFRva2VuSGVsZEJhY2sKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wYXlUb2tlblJld2FyZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogcG9vbE9uZUFwcElkLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTQgLy8gIG1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCA8PSBNQVhfUE9PTFMsICdwb29sIGlkIG5vdCBpbiB2YWxpZCByYW5nZScpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMyAvLyAyNAoJPD0KCgkvLyBwb29sIGlkIG5vdCBpbiB2YWxpZCByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjMKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xLZXkucG9vbElkID4gMCAmJiAocG9vbEtleS5wb29sSWQgYXMgdWludDE2KSA8PSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUubnVtUG9vbHMsCgkvLyAgICAgICAncG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDI6CgkvLyBwb29sIGlkIG91dHNpZGUgb2YgcmFuZ2Ugb2YgcG9vbHMgY3JlYXRlZCBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTY5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xBcHBJZCA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0ucG9vbEFwcElkLAoJLy8gICAgICAgIlRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMiCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPT0KCgkvLyBUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuYWRkcmVzcykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc2CgkvLyBhc3NlcnQocG9vbEtleS5pZCA9PT0gKEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCXB1c2hieXRlcyAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdwb29sSWQnKQoJYXNzZXJ0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHJldmVyaWZ5TkZET3duZXJzaGlwKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFRoaXMgbWV0aG9kIHZlcmlmaWVzIHRoZSBvd25lcnNoaXAgb2YgTkZEIChOYW1lZCBGdW5jdGlvbiBEYXRhKSBieSBhIHZhbGlkYXRvci4KLy8gSWYgdGhlIG93bmVyc2hpcCBpcyBubyBsb25nZXIgdmFsaWQsIGl0IHJlbW92ZXMgdGhlIE5GRCBmcm9tIHRoZSB2YWxpZGF0b3IncyBjb25maWd1cmF0aW9uLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB3aG9zZSBkYXRhIHNob3VsZCBiZSByZS1ldmFsdWF0ZWQuCnJldmVyaWZ5TkZET3duZXJzaGlwOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTg3CgkvLyB2YWxpZGF0b3JDb25maWcgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3ZhbGlkYXRvckNvbmZpZwoKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExODgKCS8vIHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglpbnRjIDIxIC8vIDcyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYyOF9lbmQKCgkvLyAqaWYyOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5MQoJLy8gbmZkT3duZXIgPSBBcHBJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcwoJaW50YyAyMSAvLyA3MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExOTMKCS8vIHZhbGlkYXRvckNvbmZpZy5vd25lciAhPT0gbmZkT3duZXIgJiYgdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IG5mZE93bmVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9kaWcgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJaW50YyAxOCAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9kaWcgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoJIT0KCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExOTUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm5mZEZvckluZm8gPSAwCglpbnRjIDIxIC8vIDcyCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjI5X2VuZDoKCippZjI4X2VuZDoKCXJldHN1YgoKLy8gdmFsaWRhdGVDb25maWcoY29uZmlnOiBWYWxpZGF0b3JDb25maWcpOiB2b2lkCnZhbGlkYXRlQ29uZmlnOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMDIKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPj0gR0FUSU5HX1RZUEVfTk9ORSAmJiBjb25maWcuZW50cnlHYXRpbmdUeXBlIDw9IEdBVElOR19UWVBFX0NPTlNUX01BWCwKCS8vICAgICAgICdnYXRpbmcgdHlwZSBub3QgdmFsaWQnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgMCAvLyAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAyMCAvLyA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnRjIDI0IC8vIDEwMDAwMDAKCTw9CgkmJgoKKnNraXBfYW5kNToKCS8vIGVwb2NoIGxlbmd0aCBub3QgaW4gYWxsb3dhYmxlIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxMAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciA+PSBNSU5fUENUX1RPX1ZBTElEQVRPUiAmJiBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yIDw9IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgJ2NvbW1pc3Npb24gcGVyY2VudGFnZSBub3QgdmFsaWQnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDAgLy8gMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNgoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDI0IC8vIDEwMDAwMDAKCTw9CgkmJgoKKnNraXBfYW5kNjoKCS8vIGNvbW1pc3Npb24gcGVyY2VudGFnZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTQKCS8vIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgIT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYzMF9lbmQKCgkvLyAqaWYzMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBjb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgICAgICd2YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyBtdXN0IGJlIHNldCBpZiBwZXJjZW50IHRvIHZhbGlkYXRvciBpcyBub3QgMCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzcgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyBtdXN0IGJlIHNldCBpZiBwZXJjZW50IHRvIHZhbGlkYXRvciBpcyBub3QgMAoJYXNzZXJ0CgoqaWYzMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMAoJLy8gYXNzZXJ0KGNvbmZpZy5taW5FbnRyeVN0YWtlID49IE1JTl9BTEdPX1NUQUtFX1BFUl9QT09MLCAnc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbycpCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjA5IDgKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnRjIDAgLy8gMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludGMgOSAvLyAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjUzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmFkZFN0YWtlLCB1aW50NjQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDEgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhmOWM3MGNiZCAvLyBtZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNTAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglwdXNoaW50IDUwMAoJPAoJYnogKmlmMzJfZW5kCgoJLy8gKmlmMzJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY5CgkvLyBwb29sQWxnb1N0YWtlZCA9IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnc3Rha2VkJykgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglmcmFtZV9kaWcgMSAvLyBwb29sTnVtU3Rha2VyczogdWludDY0CglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkID0gcG9vbEFsZ29TdGFrZWQKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMzNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcgoJZnJhbWVfZGlnIC00IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4KCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxTdGFrZXJzICs9IDEKCWludGMgMjMgLy8gMjQ0CglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAxIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzM19lbmQ6CgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc3CgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wKCWZyYW1lX2RpZyAtNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2xlYW4KCWJ6ICppZjM0X2VuZAoKCS8vICppZjM0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc4CgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgKz0gMQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCSsKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjM0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjgwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODgKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzdfZW5kCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MAoJLy8gcG9vbFNldFtpXSA9PT0gcG9vbEtleQoJZnJhbWVfZGlnIDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCT09CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYzNV9lbmQ6CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk0CgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDgKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJJiYKCipza2lwX2FuZDg6CglieiAqaWYzNl9lbmQKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWYzNl9lbmQ6CgoqZm9yXzdfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfNwoKKmZvcl83X2VuZDoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTgKCS8vIGZpcnN0RW1wdHkgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBObyBlbXB0eSBzbG90IGF2YWlsYWJsZSBpbiB0aGUgc3Rha2VyIHBvb2wgc2V0CgllcnIKCippZjM3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzAxCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSBwb29sS2V5CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgoqZm9yXzg6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl84X2VuZAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjAKCS8vIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMzhfZW5kCgoJLy8gKmlmMzhfY29uc2VxdWVudAoJYiAqZm9yXzhfY29udGludWUKCippZjM4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzIzCgkvLyBpbkFueVBvb2xDb3VudCArPSAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI0CgkvLyBwb29sU2V0W2ldLmlkID09PSBwb29sS2V5LmlkCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CglieiAqaWYzOV9lbmQKCgkvLyAqaWYzOV9jb25zZXF1ZW50CgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI1CgkvLyBwb29sU2V0W2ldID09PSBwb29sS2V5CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJPT0KCWJ6ICppZjQwX2Vsc2UKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyNgoJLy8gZm91bmQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAyIC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjgKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlW2ldID0geyBpZDogMCwgcG9vbElkOiAwLCBwb29sQXBwSWQ6IDAgfQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJYiAqaWY0MF9lbmQKCippZjQwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzMAoJLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoqaWY0MF9lbmQ6CgoqaWYzOV9lbmQ6CgoqZm9yXzhfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfOAoKKmZvcl84X2VuZDoKCS8vICppZjQxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzQKCS8vICFmb3VuZAoJZnJhbWVfZGlnIDIgLy8gZm91bmQ6IGJvb2wKCSEKCWJ6ICppZjQxX2VuZAoKCS8vICppZjQxX2NvbnNlcXVlbnQKCS8vIE5vIG1hdGNoaW5nIHNsb3QgZm91bmQgd2hlbiB0b2xkIHRvIHJlbW92ZSBhIHBvb2wgZnJvbSB0aGUgc3Rha2VycyBzZXQKCWVycgoKKmlmNDFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzgKCS8vIHJldHVybiBbaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ID09PSAwLCBpbkFueVBvb2xDb3VudCA9PT0gMF07CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCXNldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAphZGRQb29sVG9Ob2RlOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzKQoJaW50YyAxNyAvLyAgaGVhZE9mZnNldAoJaW50YyAyMiAvLyAxOTIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDMKCS8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5wb29sc1Blck5vZGUgYXMgdWludDY0CglwdXNoaW50IDIyNQoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NQoJLy8gYXNzZXJ0KG5vZGVOdW0gPj0gMSAmJiBub2RlTnVtIDw9IE1BWF9OT0RFUywgJ25vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kOQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTw9CgkmJgoKKnNraXBfYW5kOToKCS8vIG5vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfOToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcgoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCTwKCWJ6ICpmb3JfOV9lbmQKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ4CgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW25vZGVOdW0gLSAxXS5wb29sQXBwSWRzW2ldID09PSAwCglmcmFtZV9kaWcgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9IHBvb2xBcHBJZAoJaW50YyAxNyAvLyA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTEKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmNDJfZW5kOgoKKmZvcl85X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzkKCipmb3JfOV9lbmQ6CgkvLyBubyBhdmFpbGFibGUgc3BhY2UgaW4gc3BlY2lmaWVkIG5vZGUgZm9yIHRoaXMgcG9vbAoJZXJyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIGEgc3Rha2VyIG1lZXRzIHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBieSB0aGUgdmFsaWRhdG9yLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbHVlVG9WZXJpZnkgLSBUaGUgdmFsdWUgdG8gdmVyaWZ5IGFnYWluc3QgdGhlIGdhdGluZyByZXF1aXJlbWVudHMuCi8vIEByZXR1cm5zIHt2b2lkfSBvciBhc3NlcnRzIGlmIHJlcXVpcmVtZW50cyBub3QgbWV0Lgpkb2VzU3Rha2VyTWVldEdhdGluZzoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NQoJLy8gdHlwZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nVHlwZQoJaW50YyAzNSAvLyA4MAoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB0eXBlOiB1aW50OAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjYKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX05PTkUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQzX2VuZAoKCS8vICppZjQzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY3CgkvLyByZXR1cm47CglyZXRzdWIKCippZjQzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY5CgkvLyBzdGFrZXIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3MAoJLy8gY29uZmlnID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcpCglpbnRjIDAgLy8gMAoJaW50YyA4IC8vIDI0MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRTX0NSRUFURURfQlkgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lEIHx8CgkvLyAgICAgICB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEgLy8gMQoJPT0KCWR1cAoJYm56ICpza2lwX29yNAoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMTAgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjQ6CglkdXAKCWJueiAqc2tpcF9vcjUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDkgLy8gMwoJPT0KCXx8Cgoqc2tpcF9vcjU6CglieiAqaWY0NF9lbmQKCgkvLyAqaWY0NF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OAoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc5CgkvLyBiYWxSZXF1aXJlZCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmdhdGluZ0Fzc2V0TWluQmFsYW5jZQoJaW50YyAzNiAvLyAxNDUKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODAKCS8vIGJhbFJlcXVpcmVkID09PSAwCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgxCgkvLyBiYWxSZXF1aXJlZCA9IDEKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODMKCS8vIGFzc2VydCgKCS8vICAgICAgICAgc3Rha2VyLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkpID49IGJhbFJlcXVpcmVkLAoJLy8gICAgICAgICAnbXVzdCBoYXZlIHJlcXVpcmVkIG1pbmltdW0gYmFsYW5jZSBvZiB2YWxpZGF0b3IgZGVmaW5lZCB0b2tlbiB0byBhZGQgc3Rha2UnCgkvLyAgICAgICApCglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0Cgk+PQoKCS8vIG11c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlCglhc3NlcnQKCippZjQ0X2VuZDoKCS8vICppZjQ2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODgKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUU19DUkVBVEVEX0JZCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAxIC8vIDEKCT09CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkuY3JlYXRvciA9PT0gY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcywKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgODEgMzIKCT09CgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgdGhlIHZhbGlkYXRvciBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDZfZW5kOgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEwIC8vIDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglpbnRjIDQgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MDMKCS8vIGFzc2VydChmb3VuZCwgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGlkZW50aWNhbCB0byB0aGUgYXNzZXQgaWQgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJykKCWZyYW1lX2RpZyA0IC8vIGZvdW5kOiBib29sCgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDdfZW5kOgoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwNQoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyA5IC8vIDMKCT09CglieiAqaWY0OV9lbmQKCgkvLyAqaWY0OV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwOAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdChjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sIEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KS5jcmVhdG9yKSwKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgoJcG9wCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJY2FsbHN1YiBpc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCBpcyBvbmUgb2YgdGhlIGxpbmtlZCBhZGRyZXNzZXMgaW4gYW4gbmZkCglhc3NlcnQKCippZjQ5X2VuZDoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTMKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAyMCAvLyA0Cgk9PQoJYnogKmlmNTBfZW5kCgoJLy8gKmlmNTBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTUKCS8vIHVzZXJPZmZlcmVkTkZEQXBwSUQgPSB2YWx1ZVRvVmVyaWZ5CglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9idXJ5IDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTYKCS8vIGFzc2VydCh0aGlzLmlzTkZEQXBwSURWYWxpZCh1c2VyT2ZmZXJlZE5GREFwcElEKSwgJ3Byb3ZpZGVkIE5GRCBtdXN0IGJlIHZhbGlkJykKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJY2FsbHN1YiBpc05GREFwcElEVmFsaWQKCgkvLyBwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgcmF3Qnl0ZXMoQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcykgPT09IHJhd0J5dGVzKHN0YWtlcikgfHwKCS8vICAgICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCh1c2VyT2ZmZXJlZE5GREFwcElELCBzdGFrZXIpLAoJLy8gICAgICAgICAicHJvdmlkZWQgbmZkIGZvciBlbnRyeSBpc24ndCBvd25lZCBvciBsaW5rZWQgdG8gdGhlIHN0YWtlciIKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTcwNjE3MjY1NmU3NDQxNzA3MDQ5NDQgLy8gImkucGFyZW50QXBwSUQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpCglhc3NlcnQKCWJ0b2kKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgk9PQoKCS8vIHNwZWNpZmllZCBuZmQgbXVzdCBiZSBhIHNlZ21lbnQgb2YgdGhlIG5mZCB0aGUgdmFsaWRhdG9yIHNwZWNpZmllZCBhcyBhIHJlcXVpcmVtZW50Cglhc3NlcnQKCippZjUwX2VuZDoKCXJldHN1YgoKLy8gaXNORkRBcHBJRFZhbGlkKG5mZEFwcElEOiB1aW50NjQpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgZ2l2ZW4gTkZEIEFwcCBpZCBpcyB2YWxpZC4gIFVzaW5nIG9ubHkgdGhlIEFwcCBpZCB0aGVyZSdzIG5vIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgbmFtZSAoaWU6IHRoYXQgbmZkIFggaXMgbmFtZSBZKQovLyBTbyBpdCdzIGFzc3VtZWQgZm9yIHRoZSBjYWxsZXIsIHRoZSBhcHAgaWQgYWxvbmUgaXMgZmluZS4gIFRoZSBuYW1lIGlzIGZldGNoZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGFwcCBpZCBhbmQgdGhlIHR3bwovLyB0b2dldGhlciBhcmUgdXNlZCBmb3IgdmFsaWRpdHkgY2hlY2sgY2FsbCB0byB0aGUgbmZkIHJlZ2lzdHJ5LgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIEFwcCBpZCB0byB2ZXJpZnkuCi8vCi8vIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgTkZEIEFwcCBpZCBpcyB2YWxpZCwgb3RoZXJ3aXNlIGZhbHNlLgppc05GREFwcElEVmFsaWQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ1CgkvLyB1c2VyT2ZmZXJlZE5GRE5hbWUgPSBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykgYXMgc3RyaW5nCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTZlNjE2ZDY1IC8vICJpLm5hbWUiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ3CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCkKCWludGMgMTUgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OQoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIHVzZXJPZmZlcmVkTkZETmFtZSwgaXRvYihuZmRBcHBJRCldCglieXRlYyAxMyAvLyAgImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NgoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddCglwdXNoYnl0ZXMgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHg3NjJlNjM2MTQxNmM2NzZmMmUzMDJlNjE3MyAvLyAidi5jYUFsZ28uMC5hcyIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY4CgkvLyBjYUFsZ29EYXRhID0gdGhpcy5pdHhuLmxhc3RMb2cKCWl0eG4gTGFzdExvZwoJZnJhbWVfYnVyeSAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGNhQWxnb0RhdGEubGVuZ3RoOyBpICs9IDMyKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMTA6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSA8IGNhQWxnb0RhdGEubGVuZ3RoCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoJbGVuCgk8CglieiAqZm9yXzEwX2VuZAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcwCgkvLyBhZGRyID0gZXh0cmFjdDMoY2FBbGdvRGF0YSwgaSwgMzIpCglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA0IC8vIDMyCglleHRyYWN0MwoJZnJhbWVfYnVyeSAyIC8vIGFkZHI6IGJ5dGVbXQoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzEKCS8vIGFkZHIgIT09IHJhd0J5dGVzKGdsb2JhbHMuemVyb0FkZHJlc3MpICYmIGFkZHIgPT09IHJhd0J5dGVzKGFkZHJUb0ZpbmQpCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWR1cAoJYnogKnNraXBfYW5kMTAKCWZyYW1lX2RpZyAyIC8vIGFkZHI6IGJ5dGVbXQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJUb0ZpbmQ6IEFkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMTA6CglieiAqaWY1MV9lbmQKCgkvLyAqaWY1MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MgoJLy8gcmV0dXJuIHRydWU7CglpbnRjIDEgLy8gMQoJYiAqaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KnJldHVybgoKKmlmNTFfZW5kOgoKKmZvcl8xMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBpICs9IDMyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzMgoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEwCgoqZm9yXzEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDc1CgkvLyByZXR1cm4gZmFsc2U7CglpbnRjIDAgLy8gMAoKKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGFsZ29TYXR1cmF0aW9uTGV2ZWwoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIG1heGltdW0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UgYmVmb3JlCi8vIHRoZSB2YWxpZGF0b3IgaXMgY29uc2lkZXJlZCBzYXR1cmF0ZWQgLSB3aGVyZSByZXdhcmRzIGFyZSBkaW1pbmlzaGVkLgovLyBOT1RFOiB0aGlzIGZ1bmN0aW9uIGlzIGRlZmluZWQgdHdpY2UgLSBoZXJlIGFuZCBpbiBzdGFraW5nIHBvb2wgY29udHJhY3QuICBCb3RoIG11c3QgYmUgaWRlbnRpY2FsLgphbGdvU2F0dXJhdGlvbkxldmVsOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NAoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDg2CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMzEgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gbWF4QWxsb3dlZFN0YWtlKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBNQVhJTVVNIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlLgovLyBBZGRpbmcgc3Rha2UgaXMgY29tcGxldGVseSBibG9ja2VkIGF0IHRoaXMgYW1vdW50LgptYXhBbGxvd2VkU3Rha2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDk0CgkvLyBvbmxpbmUgPSB0aGlzLmdldEN1cnJlbnRPbmxpbmVTdGFrZSgpCgljYWxsc3ViIGdldEN1cnJlbnRPbmxpbmVTdGFrZQoJZnJhbWVfYnVyeSAwIC8vIG9ubGluZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTYKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9IQVJEX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCXB1c2hpbnQgMTUwCgltdWx3CglpbnRjIDAgLy8gMAoJaW50YyAzMSAvLyAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDcwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTA5CgkvLyByZXR1cm4gMl8wMDBfMDAwXzAwMF8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gbWluQmFsYW5jZUZvckFjY291bnQoY29udHJhY3RzOiB1aW50NjQsIGV4dHJhUGFnZXM6IHVpbnQ2NCwgYXNzZXRzOiB1aW50NjQsIGxvY2FsSW50czogdWludDY0LCBsb2NhbEJ5dGVzOiB1aW50NjQsIGdsb2JhbEludHM6IHVpbnQ2NCwgZ2xvYmFsQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NAptaW5CYWxhbmNlRm9yQWNjb3VudDoKCXByb3RvIDcgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjEKCS8vIG1pbkJhbCA9IEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UKCWludGMgMTYgLy8gMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnRjIDE2IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjMKCS8vIG1pbkJhbCArPSBleHRyYVBhZ2VzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZXh0cmFQYWdlczogdWludDY0CglpbnRjIDE2IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjQKCS8vIG1pbkJhbCArPSBhc3NldHMgKiBBU1NFVF9IT0xESU5HX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBhc3NldHM6IHVpbnQ2NAoJaW50YyAxNiAvLyAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludGMgMzIgLy8gMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI2CgkvLyBtaW5CYWwgKz0gZ2xvYmFsSW50cyAqIFNTQ19WQUxVRV9VSU5UCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC02IC8vIGdsb2JhbEludHM6IHVpbnQ2NAoJaW50YyAzMiAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjcKCS8vIG1pbkJhbCArPSBsb2NhbEJ5dGVzICogU1NDX1ZBTFVFX0JZVEVTCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC01IC8vIGxvY2FsQnl0ZXM6IHVpbnQ2NAoJaW50YyAzMyAvLyA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnRjIDMzIC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyOQoJLy8gcmV0dXJuIG1pbkJhbDsKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTM2CgkvLyByZXR1cm4gU0NCT1hfUEVSQk9YICsgdG90YWxOdW1CeXRlcyAqIFNDQk9YX1BFUkJZVEU7CglwdXNoaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCXB1c2hpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjVlODJjNiAvLyBtZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3OTQ3MmQ4MyAvLyBtZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweDVmN2FjZmQ5IC8vIG1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgzMTcyY2E5ZCAvLyBtZXRob2QgImdhcygpdm9pZCIKCXB1c2hieXRlcyAweDhhODcxNDJkIC8vIG1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHhkMTM2NmNjMyAvLyBtZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDNiMDQ1YzVjIC8vIG1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJcHVzaGJ5dGVzIDB4NzVhZmY2MWQgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDFmMmYwMTA5IC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MmZhMjJjNGIgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJcHVzaGJ5dGVzIDB4OTEwZTk0YWMgLy8gbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJcHVzaGJ5dGVzIDB4NTcyNzY3ZDEgLy8gbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5YjUwNGFhZiAvLyBtZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCXB1c2hieXRlcyAweGZiYzYzMTc4IC8vIG1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHgyNDQ5OGNmNCAvLyBtZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJcHVzaGJ5dGVzIDB4Zjg0NmRkN2EgLy8gbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCglwdXNoYnl0ZXMgMHg4MzA1MDUwMSAvLyBtZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg3YmJiNmM4ZCAvLyBtZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCglwdXNoYnl0ZXMgMHhmODM5NDE0YSAvLyBtZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDBjMzE3Y2ZiIC8vIG1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCXB1c2hieXRlcyAweDNlMjg4OTcyIC8vIG1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ1ZmFhZGEgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgxOGFhYzdhNyAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJcHVzaGJ5dGVzIDB4Zjk5ZWY1NGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTA4MDlkNGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhlNzc4ZGQ1YSAvLyBtZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweGJmNTI1OWQwIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDRkZjhkODZlIC8vIG1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCXB1c2hieXRlcyAweDQxOGZjZWZjIC8vIG1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTJkYzUxYjUgLy8gbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjg3M2Y1MDQgLy8gbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCXB1c2hieXRlcyAweDA1NDdmNGZlIC8vIG1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGNiNjY4MzU4IC8vIG1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCXB1c2hieXRlcyAweDQ2Zjc2NTMzIC8vIG1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCAyNCAzMiAxOCAyNjggNiAyNDIgMyAyIDEwIDI1MiAyNjAgNzAwIDEwMDAwMCA5MDAgNDAgMjAwIFRNUExfbmZkUmVnaXN0cnlBcHBJZCA0IDcyIDE5MiAyNDQgMTAwMDAwMCA0MDk2IDUgMjI2IDMwMCA0MzIgODkyIDEwMDAgMjg1MDAgNTAwMDAgMTEgODAgMTQ1IDE1MyAyMDkKYnl0ZWNibG9jayAweDc2IDB4IDB4MTUxZjdjNzUgMHg3MzcwNzMgMHg3Mzc0NjE2YjY1NjQgMHgwMCAweDcwNmY2ZjZjNTQ2NTZkNzA2YzYxNzQ2NTQxNzA3MDcyNmY3NjYxNmM0Mjc5NzQ2NTczIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgMHgwYTgxMDEgMHg2OTJlNmY3NzZlNjU3MjJlNjEgMHgwMDAwMDAwMDAwMDAwMDAwIDB4Njk2ZTY5NzQgMHg2ZTc1NmQ1NiAweDY5NzM1Zjc2NjE2YzY5NjQ1ZjZlNjY2NDVmNjE3MDcwNjk2NCAweDYzZjNmMjhiCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDcgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg1ZTc5NWQyMjM1NThhZTU0YWI5MTIyNmJjOTgwYzQ1MTMxMzA2OGNjOGZhNjJkNmY5YzcwNzZiZDgwYmI2NWFmIC8vIGFkZHIgIkxaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEiCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNAoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5kZWxldGUoKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWludGMgMCAvLyAwCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZWMgMTEgLy8gICJpbml0IgoJaW50YyAwIC8vIDAKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGVjIDEyIC8vICAibnVtViIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxMgoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlYyA0IC8vICAic3Rha2VkIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJZnJhbWVfZGlnIC0xIC8vIGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NAoJYm94X2NyZWF0ZQoJcG9wCglyZXRzdWIKCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX2xvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgbG9hZFN0YWtpbmdDb250cmFjdERhdGEKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKbG9hZFN0YWtpbmdDb250cmFjdERhdGE6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIxCgkvLyBhc3NlcnQoIXRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSkKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDAgLy8gMAoJZ2V0Yml0CgkhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIyCgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBkYXRhOiBieXRlcwoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCS8vIGV4ZWN1dGUgZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKCWNhbGxzdWIgZmluYWxpemVTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCk6IHZvaWQKZmluYWxpemVTdGFraW5nQ29udHJhY3Q6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjI2CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSB0cnVlCglieXRlYyAxMSAvLyAgImluaXQiCglpbnRjIDEgLy8gMQoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0TWJyQW1vdW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TWJyQW1vdW50cygpOiBNYnJBbW91bnRzCi8vCi8vIFJldHVybnMgdGhlIE1CUiBhbW91bnRzIG5lZWRlZCBmb3IgdmFyaW91cyBhY3Rpb25zOgovLyBbCi8vIGFkZFZhbGlkYXRvck1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgdmFsaWRhdG9yIC0gcGFpZCB0byB2YWxpZGF0b3IgY29udHJhY3QKLy8gYWRkUG9vbE1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgcG9vbCAtIHBhaWQgdG8gdmFsaWRhdG9yCi8vIHBvb2xJbml0TWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGluaXRTdG9yYWdlKCkgb2YgcG9vbCAtIHBhaWQgdG8gcG9vbCBpdHNlbGYKLy8gYWRkU3Rha2VyTWJyOiB1aW50NjQgLSBtYnIgc3Rha2VyIG5lZWRzIHRvIGFkZCB0byBmaXJzdCBzdGFraW5nIHBheW1lbnQgKHN0YXlzIHcvIHZhbGlkYXRvcikKLy8gXQpnZXRNYnJBbW91bnRzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI0NgoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGFkZFZhbGlkYXRvck1icjogdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgxIC8qIHYgcHJlZml4ICovICsgbGVuPFZhbGlkYXRvcklkVHlwZT4oKSArIGxlbjxWYWxpZGF0b3JJbmZvPigpKSwKCS8vICAgICAgIGFkZFBvb2xNYnI6IHRoaXMubWluQmFsYW5jZUZvckFjY291bnQoCgkvLyAgICAgICAgIDEsCgkvLyAgICAgICAgIC8vIHdlIGNvdWxkIGNhbGN1bGF0ZSB0aGlzIGRpcmVjdGx5IGJ5IHJlZmVyZW5jaW5nIHRoZSBzaXplIG9mIHN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtIGJ1dCBpdCB3b3VsZAoJLy8gICAgICAgICAvLyBtZWFuIG91ciBjYWxsZXJzIHdvdWxkIGhhdmUgdG8gcmVmZXJlbmNlIHRoZSBib3ggQU5EIGJ1eSB1cCBpL28gLSBzbyBqdXN0IGdvIG1heCBvbiBleHRyYSBwYWdlcwoJLy8gICAgICAgICAzLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCgkvLyAgICAgICApLAoJLy8gICAgICAgcG9vbEluaXRNYnI6CgkvLyAgICAgICAgIEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UgKwoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKSwKCS8vICAgICAgIGFkZFN0YWtlck1icjoKCS8vICAgICAgICAgLy8gaG93IG11Y2ggdG8gY2hhcmdlIGZvciBmaXJzdCB0aW1lIGEgc3Rha2VyIGFkZHMgc3Rha2UgLSBzaW5jZSB3ZSBhZGQgYSB0cmFja2luZyBib3ggcGVyIHN0YWtlcgoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDMgLyogJ3NwcycgcHJlZml4ICovICsgbGVuPEFkZHJlc3M+KCkgKyBsZW48VmFsaWRhdG9yUG9vbEtleT4oKSAqIE1BWF9QT09MU19QRVJfU1RBS0VSKSwgLy8gc2l6ZSBvZiBrZXkgKyBhbGwgdmFsdWVzCgkvLyAgICAgfTsKCXB1c2hpbnQgMTEwMQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJaW50YyA5IC8vIDMKCWludGMgMzQgLy8gMTEKCWludGMgMCAvLyAwCglkdXBuIDIKCWludGMgOSAvLyAzCglpbnRjIDEgLy8gMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnRjIDE1IC8vIDEwMDAwMAoJcHVzaGludCAxMjgwNwoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJKwoJaXRvYgoJY29uY2F0CglwdXNoaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDAwMDAwMDAwMDAwZjQyNDAKCWNhbGxzdWIgbWF4QWxnb0FsbG93ZWRQZXJQb29sCglpdG9iCgljb25jYXQKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglpdG9iCgljb25jYXQKCWNhbGxzdWIgYWxnb1NhdHVyYXRpb25MZXZlbAoJaXRvYgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA4Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBjOAoJY29uY2F0CglyZXRzdWIKCi8vIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE51bVZhbGlkYXRvcnM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0CgljYWxsc3ViIGdldE51bVZhbGlkYXRvcnMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXROdW1WYWxpZGF0b3JzKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBjdXJyZW50IG51bWJlciBvZiB2YWxpZGF0b3JzCmdldE51bVZhbGlkYXRvcnM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjkyCgkvLyByZXR1cm4gdGhpcy5udW1WYWxpZGF0b3JzLnZhbHVlOwoJYnl0ZWMgMTIgLy8gICJudW1WIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JDb25maWc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFZhbGlkYXRvckNvbmZpZwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvckNvbmZpZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ29uZmlnCmdldFZhbGlkYXRvckNvbmZpZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyOTcKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZzsKCWludGMgMCAvLyAwCglpbnRjIDggLy8gMjQyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yU3RhdGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JTdGF0ZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ3VyU3RhdGUKZ2V0VmFsaWRhdG9yU3RhdGU6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzAyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZTsKCWludGMgOCAvLyAgaGVhZE9mZnNldAoJcHVzaGludCAyNgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCgljYWxsc3ViIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogW0FkZHJlc3MsIEFkZHJlc3NdCmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDcKCS8vIHJldHVybiBbdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXJdOwoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50YyAxNyAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50YyA1IC8vIDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGVjIDEgLy8gMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjkgLy8gNDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDUgLy8gMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDMgLy8gMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJcmV0c3ViCgovLyBnZXRQb29sSW5mbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRQb29sSW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gcG9vbEtleTogKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgZ2V0UG9vbEluZm8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIGdldFBvb2xJbmZvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbEluZm8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xJbmZvCmdldFBvb2xJbmZvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM0NAoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdOwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyA1IC8vIDE4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlIHRoZSBtYXhpbXVtIHN0YWtlIHBlciBwb29sIGZvciBhIGdpdmVuIHZhbGlkYXRvci4KLy8gTm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBtYXhBbGdvUGVyUG9vbCwgYnV0IGl0IHNob3VsZCBhbHNvIG5ldmVyIGdvIGFib3ZlIE1heEFsbG93ZWRTdGFrZSAvIG51bVBvb2xzIHNvCi8vIGFzIHBvb2xzIGFyZSBhZGRlZCB0aGUgbWF4IGFsbG93ZWQgcGVyIHBvb2wgY2FuIHJlZHVjZS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCmdldEN1ck1heFN0YWtlUGVyUG9vbDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU1CgkvLyBudW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NgoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPSB0aGlzLm1heEFsbG93ZWRTdGFrZSgpIC8gbnVtUG9vbHMKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CgkvCglmcmFtZV9idXJ5IDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTcKCS8vIG1heFBlclBvb2w6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1heEFsZ29QZXJQb29sCglwdXNoaW50IDIxNwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1OAoJLy8gbWF4UGVyUG9vbCA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU5CgkvLyBtYXhQZXJQb29sID0gdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKQoJY2FsbHN1YiBtYXhBbGdvQWxsb3dlZFBlclBvb2wKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjFfZW5kOgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjEKCS8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzIDwgbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MgoJLy8gbWF4UGVyUG9vbCA9IGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoqaWYyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjQKCS8vIHJldHVybiBtYXhQZXJQb29sOwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCgljYWxsc3ViIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZG9lc1N0YWtlck5lZWRUb1BheU1CUihzdGFrZXI6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIEhlbHBlciBjYWxsZXJzIGNhbiBjYWxsIHcvIHNpbXVsYXRlIHRvIGRldGVybWluZSBpZiAnQWRkU3Rha2VyJyBNQlIgc2hvdWxkIGJlIGluY2x1ZGVkIHcvIHN0YWtpbmcgYW1vdW50Ci8vIEBwYXJhbSBzdGFrZXIKZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNzMKCS8vIHJldHVybiAhdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzOwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglyZXRzdWIKCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChhZGRyZXNzKSh1aW50NjQsdWludDY0LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KCWNhbGxzdWIgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50CglkdXAKCWxlbgoJaW50YyAzIC8vIDI0CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KHN0YWtlcjogQWRkcmVzcyk6IFZhbGlkYXRvclBvb2xLZXlbXQovLwovLyBSZXRyaWV2ZXMgdGhlIHN0YWtlZCBwb29scyBmb3IgYW4gYWNjb3VudC4KLy8KLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIgLSBUaGUgYWNjb3VudCB0byByZXRyaWV2ZSBzdGFrZWQgcG9vbHMgZm9yLgovLyBAcmV0dXJuIHtWYWxpZGF0b3JQb29sS2V5W119IC0gVGhlIGFycmF5IG9mIHN0YWtlZCBwb29scyBmb3IgdGhlIGFjY291bnQuCmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4MwoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZWMgMSAvLyAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZWMgMSAvLyAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg5CgkvLyBwb29sU2V0W2ldLmlkICE9PSAwCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkwCgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqaWY0X2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkzCgkvLyByZXR1cm4gcmV0RGF0YTsKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKKmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIGdldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRUb2tlblBheW91dFJhdGlvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sVG9rZW5QYXlvdXRSYXRpbwovLwovLyBSZXRyaWV2ZXMgdGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgYSBnaXZlbiB2YWxpZGF0b3IgLSByZXR1cm5pbmcgdGhlIHBvb2wgcmF0aW9zIG9mIHdob2xlIHNvIHRoYXQgdG9rZW4KLy8gcGF5b3V0cyBhY3Jvc3MgcG9vbHMgY2FuIGJlIGJhc2VkIG9uIGEgc3RhYmxlIHNuYXBob3N0IG9mIHN0YWtlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHJldHVybiB7UG9vbFRva2VuUGF5b3V0UmF0aW99IC0gVGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgdGhlIHZhbGlkYXRvci4KZ2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MDUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXROb2RlUG9vbEFzc2lnbm1lbnRzKHVpbnQ2NCkoKHVpbnQ2NFszXSlbOF0pCiphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoJY2FsbHN1YiBnZXROb2RlUG9vbEFzc2lnbm1lbnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh2YWxpZGF0b3JJZDogdWludDY0KTogTm9kZVBvb2xBc3NpZ25tZW50Q29uZmlnCmdldE5vZGVQb29sQXNzaWdubWVudHM6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEwCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0IikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMgoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50czsKCWludGMgMTYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjIgLy8gMTkyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TkZEUmVnaXN0cnlJRCgpdWludDY0CgljYWxsc3ViIGdldE5GRFJlZ2lzdHJ5SUQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRORkRSZWdpc3RyeUlEKCk6IHVpbnQ2NApnZXRORkRSZWdpc3RyeUlEOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxNgoJLy8gcmV0dXJuIHRoaXMubmZkUmVnaXN0cnlBcHBJZDsKCWludGMgMTkgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglyZXRzdWIKCi8vIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA4IC8vIDI0MgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb25maWcpIGZvciBhZGRWYWxpZGF0b3IgbXVzdCBiZSBhICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gbmZkTmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkVmFsaWRhdG9yIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoJY2FsbHN1YiBhZGRWYWxpZGF0b3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRWYWxpZGF0b3IobWJyUGF5bWVudDogUGF5VHhuLCBuZmROYW1lOiBzdHJpbmcsIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdWludDY0Ci8vCi8vIEFkZHMgYSBuZXcgdmFsaWRhdG9yCi8vIFJlcXVpcmVzIGF0IGxlYXN0IDEwIEFMR08gYXMgdGhlICdmZWUnIGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gaGVscCBkaXNzdWFkZSBzcGFtbWVkIHZhbGlkYXRvciBhZGRzLgovLwovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHZhbGlkYXRvciBzdG9yYWdlCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIChPcHRpb25hbCkgTmFtZSBvZiBuZmQgKHVzZWQgYXMgZG91YmxlLWNoZWNrIGFnYWluc3QgaWQgc3BlY2lmaWVkIGluIGNvbmZpZykKLy8gQHBhcmFtIHtWYWxpZGF0b3JDb25maWd9IGNvbmZpZyBWYWxpZGF0b3JDb25maWcgc3RydWN0Ci8vIEByZXR1cm5zIHt1aW50NjR9IHZhbGlkYXRvciBpZAphZGRWYWxpZGF0b3I6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjgKCS8vIHRoaXMudmFsaWRhdGVDb25maWcoY29uZmlnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCgljYWxsc3ViIHZhbGlkYXRlQ29uZmlnCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQyOQoJLy8gYXNzZXJ0KGNvbmZpZy5vd25lciAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMwCgkvLyBhc3NlcnQoY29uZmlnLm1hbmFnZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzEKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IGNvbmZpZy5vd25lciwgJ3NlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCgk9PQoKCS8vIHNlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMzCgkvLyB2ZXJpZnlQYXlUeG4obWJyUGF5bWVudCwgeyBhbW91bnQ6IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFZhbGlkYXRvck1iciB9KQoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMCA4CglidG9pCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzNQoJLy8gYXNzZXJ0KG1iclBheW1lbnQuZmVlID4gMTAgKiAxMDAwMDAwLCAnZmVlIG11c3QgYmUgMTAgQUxHTyBvciBtb3JlIHRvIHByZXZlbnQgc3BhbW1pbmcgb2YgdmFsaWRhdG9ycycpCglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBGZWUKCXB1c2hpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGVjIDEyIC8vICAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZWMgMTIgLy8gICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuaWQgPSB2YWxpZGF0b3JJZAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQ2CgkvLyBjb25maWcubmZkRm9ySW5mbyAhPT0gMAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1MAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IoY29uZmlnLm5mZEZvckluZm8pXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludGMgMSAvLyAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykKCWFzc2VydAoJPT0KCgkvLyBJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXIKCWFzc2VydAoKKmlmNV9lbmQ6CgkvLyAqaWY2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2MQoJLy8gY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTIHx8CgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9TRUdNRU5UX09GX05GRAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgOSAvLyAzCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAyMCAvLyA0Cgk9PQoJfHwKCipza2lwX29yMDoKCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDY1CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQoY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzWzBdKSwgJ3Byb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRCcpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTEzIDgKCWJ0b2kKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIEFwcCBpZCBmb3IgZ2F0aW5nIG11c3QgYmUgdmFsaWQgTkZECglhc3NlcnQKCippZjZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2OAoJLy8gcmV0dXJuIHZhbGlkYXRvcklkOwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJLy8gbWFuYWdlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChtYW5hZ2VyKSBmb3IgY2hhbmdlVmFsaWRhdG9yTWFuYWdlciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbWFuYWdlcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlcyB0aGUgVmFsaWRhdG9yIG1hbmFnZXIgZm9yIGEgc3BlY2lmaWMgVmFsaWRhdG9yIGlkLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIGNoYW5nZSB0aGUgbWFuYWdlciBmb3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gbWFuYWdlciAtIFRoZSBuZXcgbWFuYWdlciBhZGRyZXNzLgpjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ3OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ4MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciA9IG1hbmFnZXIKCWludGMgMTcgLy8gNDAKCWZyYW1lX2RpZyAtMiAvLyBtYW5hZ2VyOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclN1bnNldEluZm86CgkvLyBzdW5zZXR0aW5nVG86IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN1bnNldHRpbmdPbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgc3Vuc2V0dGluZ09uOiB1aW50NjQsIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBzdW5zZXQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdPbiAtIFRoZSBuZXcgc3Vuc2V0IHRpbWVzdGFtcC4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdUbyAtIFRoZSBuZXcgc3Vuc2V0IHRvIHZhbGlkYXRvciBpZC4KY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50YyAyNyAvLyAyMjYKCWZyYW1lX2RpZyAtMiAvLyBzdW5zZXR0aW5nT246IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJcHVzaGludCAyMzQKCWZyYW1lX2RpZyAtMyAvLyBzdW5zZXR0aW5nVG86IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0zIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gKEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzKSwKCS8vICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCT09CgoJLy8gSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTI4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5uZmRGb3JJbmZvID0gbmZkQXBwSUQKCWludGMgMjEgLy8gNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCS8vIGNvbW1pc3Npb25BZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbW1pc3Npb25BZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzKTogdm9pZAovLwovLyBDaGFuZ2UgdGhlIGNvbW1pc3Npb24gYWRkcmVzcyB0aGF0IHZhbGlkYXRvciByZXdhcmRzIGFyZSBzZW50IHRvLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU0MAoJLy8gYXNzZXJ0KGNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyA9IGNvbW1pc3Npb25BZGRyZXNzCglwdXNoaW50IDE3NwoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclJld2FyZEluZm86CgkvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gRW50cnlHYXRpbmdBc3NldHM6IHVpbnQ2NFs0XQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChFbnRyeUdhdGluZ0Fzc2V0cykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ2NFs0XQoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKEVudHJ5R2F0aW5nQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCA0IChFbnRyeUdhdGluZ1R5cGUpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgRW50cnlHYXRpbmdUeXBlOiB1aW50OCwgRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzLCBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PiwgR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQsIFJld2FyZFBlclBheW91dDogdWludDY0KTogdm9pZAovLwovLyBBbGxvdyB0aGUgYWRkaXRpb25hbCByZXdhcmRzIChnYXRpbmcgZW50cnksIGFkZGl0aW9uYWwgdG9rZW4gcmV3YXJkcykgaW5mb3JtYXRpb24gYmUgY2hhbmdlZCBhdCB3aWxsLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvclJld2FyZEluZm86Cglwcm90byA2IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTU2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludGMgMzUgLy8gODAKCWZyYW1lX2RpZyAtMiAvLyBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4CglpdG9iCglleHRyYWN0IDcgMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJcHVzaGludCA4MQoJZnJhbWVfZGlnIC0zIC8vIEVudHJ5R2F0aW5nQWRkcmVzczogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCXB1c2hpbnQgMTEzCglmcmFtZV9kaWcgLTQgLy8gRW50cnlHYXRpbmdBc3NldHM6IFN0YXRpY0FycmF5PHVpbnQ2NCwgND4KCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludGMgMzYgLy8gMTQ1CglmcmFtZV9kaWcgLTUgLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCXB1c2hpbnQgMTYxCglmcmFtZV9kaWcgLTYgLy8gUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkUG9vbCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRQb29sCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYWRkUG9vbChtYnJQYXltZW50OiBQYXlUeG4sIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG5vZGVOdW06IHVpbnQ2NCk6IFZhbGlkYXRvclBvb2xLZXkKLy8KLy8gQWRkcyBhIG5ldyBwb29sIHRvIGEgdmFsaWRhdG9yJ3MgcG9vbCBzZXQsIHJldHVybmluZyB0aGUgJ2tleScgdG8gcmVmZXJlbmNlIHRoZSBwb29sIGluIHRoZSBmdXR1cmUgZm9yIHN0YWtpbmcsIGV0Yy4KLy8gVGhlIGNhbGxlciBtdXN0IHBheSB0aGUgY29zdCBvZiB0aGUgdmFsaWRhdG9ycyBNQlIgaW5jcmVhc2UgYXMgd2VsbCBhcyB0aGUgTUJSIHRoYXQgd2lsbCBiZSBuZWVkZWQgZm9yIHRoZSBwb29sIGl0c2VsZi4KLy8KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIGNhbGwgXQovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgYWRkaW5nIGEgbmV3IHBvb2wKLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkIGlzIGlkIG9mIHZhbGlkYXRvciB0byBwb29sIHRvIChtdXN0IGJlIG93bmVyIG9yIG1hbmFnZXIpCi8vIEBwYXJhbSB7dWludDY0fSBub2RlTnVtIGlzIG5vZGUgbnVtYmVyIHRvIGFkZCB0bwovLyBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbCBrZXkgdG8gY3JlYXRlZCBwb29sCmFkZFBvb2w6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciB8fAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludGMgMTcgLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTkyCgkvLyBudW1Qb29sczogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MwoJLy8gKG51bVBvb2xzIGFzIHVpbnQ2NCkgPj0gTUFYX1BPT0xTCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpbnRjIDMgLy8gMjQKCT49CglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gYWxyZWFkeSBhdCBtYXggcG9vbCBzaXplCgllcnIKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5NgoJLy8gbnVtUG9vbHMgKz0gMQoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5OQoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZXh0cmFQcm9ncmFtUGFnZXM6IDMsCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDAgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwMQoJLy8gYXBwcm92YWxQcm9ncmFtOiBbCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCgwLCA0MDk2KSwKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDQwOTYsIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uc2l6ZSAtIDQwOTYpLAoJLy8gICAgICAgXQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDAgLy8gMAoJaW50YyAyNSAvLyA0MDk2Cglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDI1IC8vIDQwOTYKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplCglhc3NlcnQKCWludGMgMjUgLy8gNDA5NgoJLQoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnRjIDM0IC8vIDExCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA3CgkvLyBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDkgLy8gMwoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA4CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA5IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdCglwdXNoYnl0ZXMgMHg1OWU5MGFhNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDM4IC8vIDIwOQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgPSBudW1Qb29scyBhcyB1aW50MTYKCWludGMgOCAvLyAyNDIKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyNAoJLy8gdGhpcy5hZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkLCBwb29sQXBwSWQsIG5vZGVOdW0pCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MzIKCS8vIHJldHVybiB7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiBudW1Qb29scyBhcyB1aW50NjQsIHBvb2xBcHBJZDogdGhpcy5pdHhuIS5jcmVhdGVkQXBwbGljYXRpb25JRC5pZCB9OwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAoJaXRvYgoJY29uY2F0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGRTdGFrZShwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBzdGFrZWRBbW91bnRQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjQ4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPiAwCglpbnRjIDI3IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglieiAqaWY4X2VuZAoKCS8vICppZjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPCBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCwKCS8vICAgICAgICAgImNhbid0IHN0YWtlIHdpdGggYSB2YWxpZGF0b3IgdGhhdCBpcyBwYXN0IGl0cyBzdW5zZXR0aW5nIHRpbWUiCgkvLyAgICAgICApCglpbnRjIDI3IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCTwKCgkvLyBjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lCglhc3NlcnQKCippZjhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1NQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1OQoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogc3Rha2VyLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJzdGFrZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjY2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCA8IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICAndG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwJwoJLy8gICAgICkKCWludGMgMTIgLy8gMjUyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCTwKCgkvLyB0b3RhbCBzdGFrZWQgZm9yIGFsbCBvZiBhIHZhbGlkYXRvcnMgcG9vbHMgbWF5IG5vdCBleGNlZWQgaGFyZCBjYXAKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzMKCS8vIHRoaXMuZG9lc1N0YWtlck1lZXRHYXRpbmcodmFsaWRhdG9ySWQsIHZhbHVlVG9WZXJpZnkpCglmcmFtZV9kaWcgLTMgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBkb2VzU3Rha2VyTWVldEdhdGluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzUKCS8vIHJlYWxBbW91bnQgPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9idXJ5IDEgLy8gcmVhbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3NgoJLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3OAoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0CglwdXNoaW50IDE0NAoJYm94X2NyZWF0ZQoJcG9wCgoqaWY5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODcKCS8vIGZpbmRSZXQgPSB0aGlzLmZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkLCBzdGFrZXIsIHJlYWxBbW91bnQpCglmcmFtZV9kaWcgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZmluZFBvb2xGb3JTdGFrZXIKCWZyYW1lX2J1cnkgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4OAoJLy8gcG9vbEtleSA9IGZpbmRSZXRbMF0KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODkKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSBmaW5kUmV0WzFdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyMiAvLyAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxOTMKCWdldGJpdAoJZnJhbWVfYnVyeSA1IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5MQoJLy8gcG9vbEtleS5wb29sSWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBObyBwb29sIGF2YWlsYWJsZSB3aXRoIGZyZWUgc3Rha2UuICBWYWxpZGF0b3IgbmVlZHMgdG8gYWRkIGFub3RoZXIgcG9vbAoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk2CgkvLyB0aGlzLnVwZGF0ZVN0YWtlclBvb2xTZXQoc3Rha2VyLCBwb29sS2V5KQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljYWxsc3ViIHVwZGF0ZVN0YWtlclBvb2xTZXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk5CgkvLyB0aGlzLmNhbGxQb29sQWRkU3Rha2UoCgkvLyAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LAoJLy8gICAgICAgcG9vbEtleSwKCS8vICAgICAgIG1ickFtdExlZnRCZWhpbmQsCgkvLyAgICAgICBpc05ld1N0YWtlclRvVmFsaWRhdG9yLAoJLy8gICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sCgkvLyAgICAgKQoJZnJhbWVfZGlnIDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglmcmFtZV9kaWcgNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgY2FsbFBvb2xBZGRTdGFrZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MTQKCS8vIHJldHVybiBwb29sS2V5OwoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDUKCXJldHN1YgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgc2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHNldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHNldFRva2VuUGF5b3V0UmF0aW8gaXMgY2FsbGVkIGJ5IFN0YWtpbmcgUG9vbCAjIDEgKE9OTFkpIHRvIGFzayB0aGUgdmFsaWRhdG9yICh1cykgdG8gY2FsY3VsYXRlIHRoZSByYXRpb3MKLy8gb2Ygc3Rha2UgaW4gdGhlIHBvb2xzIGZvciBzdWJzZXF1ZW50IHRva2VuIHBheW91dHMgKGllOiAyIHBvb2xzLCAnMTAwJyBhbGdvIHRvdGFsIHN0YWtlZCwgNjAgaW4gcG9vbCAxLCBhbmQgNDAKLy8gaW4gcG9vbCAyKSAgVGhpcyBpcyBkb25lIHNvIHdlIGhhdmUgYSBzdGFibGUgc25hcHNob3Qgb2Ygc3Rha2UgLSB0YWtlbiBvbmNlIHBlciBlcG9jaCAtIG9ubHkgdHJpZ2dlcmVkIGJ5Ci8vIHBvb2wgMSBkb2luZyBwYXlvdXQuICBwb29scyBvdGhlciB0aGFuIDEgZG9pbmcgcGF5b3V0IGNhbGwgcG9vbCAxIHRvIGFzayBpdCBkbyBpdCBmaXJzdC4KLy8gSXQgd291bGQgYmUgNjAvNDAlIGluIHRoZSBwb29sUGN0T2ZXaG9sZSB2YWx1ZXMuICBUaGUgdG9rZW4gcmV3YXJkIHBheW91dHMgdGhlbiB1c2UgdGhlc2UgdmFsdWVzIGluc3RlYWQgb2YKLy8gdGhlaXIgJ2N1cnJlbnQnIHN0YWtlIHdoaWNoIGNoYW5nZXMgYXMgcGFydCBvZiB0aGUgcGF5b3V0cyB0aGVtc2VsdmVzIChhbmQgcGVvcGxlIGNvdWxkIGJlIGNoYW5naW5nIHN0YWtlCi8vIGR1cmluZyB0aGUgZXBvY2ggdXBkYXRlcyBhY3Jvc3MgcG9vbHMpCi8vCi8vIE11bHRpcGxlIHBvb2xzIHdpbGwgY2FsbCB1cyB2aWEgcG9vbCAxIChwb29sMi0+cG9vbDEtPnZhbGlkYXRvciwgZXRjLikgc28gZG9uJ3QgYXNzZXJ0IG9uIHBvb2wxIGNhbGxpbmcgbXVsdGlwbGUKLy8gdGltZXMgaW4gc2FtZSBlcG9jaC4gIEp1c3QgcmV0dXJuLgovLwovLyBAcGFyYW0gdmFsaWRhdG9ySWQgLSB2YWxpZGF0b3IgaWQgKGFuZCB0aHVzIHBvb2wpIGNhbGxpbmcgdXMuICBWZXJpZmllZCBzbyB0aGF0IHNlbmRlciBNVVNUIGJlIHBvb2wgMSBvZiB0aGlzIHZhbGlkYXRvci4KLy8gQHJldHVybnMgUG9vbFRva2VuUGF5b3V0UmF0aW8gLSB0aGUgZmluaXNoZWQgcmF0aW8gZGF0YQpzZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gOAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzQKCS8vIHBvb2wxQXBwSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZAoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjExX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDQKCS8vIGN1clJvdW5kID0gZ2xvYmFscy5yb3VuZAoJZ2xvYmFsIFJvdW5kCglmcmFtZV9idXJ5IDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDUKCS8vIGxhc3RQYXlvdXRVcGRhdGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8udXBkYXRlZEZvclBheW91dAoJaW50YyAzMCAvLyA4OTIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ2CgkvLyBsYXN0UGF5b3V0VXBkYXRlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gKmlmMTNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ4CgkvLyAoQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpIGFzIHVpbnQ2NCkgPT09IGxhc3RQYXlvdXRVcGRhdGUKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTEKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIGFzIHVpbnQ2NAoJcHVzaGludCAxNjkKCWludGMgMjAgLy8gNAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTIKCS8vIHRoaXNFcG9jaEJlZ2luID0gY3VyUm91bmQgLSAoY3VyUm91bmQgJSBlcG9jaFJvdW5kTGVuZ3RoKQoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NAoJLy8gbGFzdFBheW91dFVwZGF0ZSAtIChsYXN0UGF5b3V0VXBkYXRlICUgZXBvY2hSb3VuZExlbmd0aCkgPT09IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9kaWcgNCAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0Cgk9PQoJYnogKmlmMTRfZW5kCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludGMgMTQgLy8gIGhlYWRPZmZzZXQKCWludGMgMTggLy8gMjAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50YyAzMCAvLyA4OTIKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnRjIDEyIC8vIDI1MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXB1c2hpbnQgMV8wMDBfMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDYgLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvcjogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSA4IC8vIG91clBvb2xQY3RPZldob2xlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbaV0gPSBvdXJQb29sUGN0T2ZXaG9sZQoJaW50YyAxNCAvLyA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NzMKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IGFsZ29Ub0FkZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgKz0gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZAoJaW50YyAxMyAvLyAyNjAKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0CgkrCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDQKCS8vIHRoaXMucmV2ZXJpZnlORkRPd25lcnNoaXAocG9vbEtleS5pZCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJY2FsbHN1YiByZXZlcmlmeU5GRE93bmVyc2hpcAoJcmV0c3ViCgovLyBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfc3Rha2VSZW1vdmVkOgoJLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlclJlbW92ZWQpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAwIC8vIDAKCWdldGJpdAoKCS8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAzIChzdGFrZXIpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDMgLy8gMjQKCT09CgoJLy8gYXJndW1lbnQgNCAocG9vbEtleSkgZm9yIHN0YWtlUmVtb3ZlZCBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCgljYWxsc3ViIHN0YWtlUmVtb3ZlZAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3Rha2VSZW1vdmVkKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIHN0YWtlcjogQWRkcmVzcywgYW1vdW50UmVtb3ZlZDogdWludDY0LCByZXdhcmRSZW1vdmVkOiB1aW50NjQsIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIHN0YWtlUmVtb3ZlZCBpcyBjYWxsZWQgYnkgU3Rha2luZyBwb29scyB0byBpbmZvcm0gdGhlIHZhbGlkYXRvciAodXMpIHRoYXQgYSBwYXJ0aWN1bGFyIGFtb3VudCBvZiB0b3RhbCBzdGFrZSBoYXMgYmVlbiByZW1vdmVkCi8vIGZyb20gdGhlIHNwZWNpZmllZCBwb29sLiAgVGhpcyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgc3RhdHMgd2UgaGF2ZSBpbiBvdXIgUG9vbEluZm8gc3RvcmFnZS4KLy8gSWYgYW55IGFtb3VudCBvZiByZXdhcmRSZW1vdmVkIGlzIHNwZWNpZmllZCwgdGhlbiB0aGF0IGFtb3VudCBvZiByZXdhcmQgaXMgc2VudCB0byB0aGUgdXNlCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSBjYWxsaW5nIHVzIGZyb20gd2hpY2ggc3Rha2Ugd2FzIHJlbW92ZWQKLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIKLy8gQHBhcmFtIHt1aW50NjR9IGFtb3VudFJlbW92ZWQgLSBhbGdvIGFtb3VudCByZW1vdmVkCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRSZW1vdmVkIC0gaWYgYXBwbGljYWJsZSwgYW1vdW50IG9mIHRva2VuIHJld2FyZCByZW1vdmVkIChieSBwb29sIDEgY2FsbGVyKSBvciBUTyByZW1vdmUgYW5kIHBheSBvdXQgKHZpYSBwb29sIDEgZnJvbSBkaWZmZXJlbnQgcG9vbCBjYWxsZXIpCi8vIEBwYXJhbSB7Ym9vbGVhbn0gc3Rha2VyUmVtb3ZlZApzdGFrZVJlbW92ZWQ6Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gKmlmMTVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyAyOCAvLyAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYxNV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM5CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODQzCgkvLyBhc3NlcnQoYW1vdW50UmVtb3ZlZCA+IDAgfHwgcmV3YXJkUmVtb3ZlZCA+IDAsICdzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQnKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYm56ICpza2lwX29yMgoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDYKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDEyIC8vIDI1MgoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0OAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50UmVtb3ZlZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlYyA0IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTAKCS8vIHJld2FyZFJlbW92ZWQgPiAwCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTZfZWxzZQoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTEKCS8vIHJld2FyZFRva2VuSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuY29uZmlnLnJld2FyZFRva2VuSWQKCWludGMgMzcgLy8gMTUzCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUyCgkvLyBhc3NlcnQocmV3YXJkVG9rZW5JRCAhPT0gMCwgInJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuISIpCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayA+PSByZXdhcmRSZW1vdmVkLAoJLy8gICAgICAgICAncmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQnCgkvLyAgICAgICApCglpbnRjIDEzIC8vIDI2MAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0Cgk+PQoKCS8vIHJld2FyZCBiZWluZyByZW1vdmVkIG11c3QgYmUgY292ZXJlZCBieSBob2xkIGJhY2sgYW1vdW50Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODU5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayAtPSByZXdhcmRSZW1vdmVkCglpbnRjIDEzIC8vIDI2MAoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNCAvLyAgbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NgoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKQoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY3CgkvLyBtZXRob2RBcmdzOiBbc3Rha2VyLCByZXdhcmRUb2tlbklELCByZXdhcmRSZW1vdmVkXQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTdfZW5kOgoJYiAqaWYxNl9lbmQKCippZjE2X2Vsc2U6CgoqaWYxNl9lbmQ6CgkvLyAqaWYxOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTIKCS8vIHN0YWtlclJlbW92ZWQKCWZyYW1lX2RpZyAtNSAvLyBzdGFrZXJSZW1vdmVkOiBib29sZWFuCglieiAqaWYxOF9lbmQKCgkvLyAqaWYxOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODk0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbFN0YWtlcnMgLT0gMQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODk2CgkvLyByZW1vdmVSZXQgPSB0aGlzLnJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlciwgPFZhbGlkYXRvclBvb2xLZXk+ewoJLy8gICAgICAgICBpZDogcG9vbEtleS5pZCwKCS8vICAgICAgICAgcG9vbElkOiBwb29sS2V5LnBvb2xJZCwKCS8vICAgICAgICAgcG9vbEFwcElkOiBwb29sS2V5LnBvb2xBcHBJZCwKCS8vICAgICAgIH0pCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNhbGxzdWIgcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQKCWZyYW1lX2J1cnkgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMQoJLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yID0gcmVtb3ZlUmV0WzBdCglmcmFtZV9kaWcgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDAKCWdldGJpdAoJZnJhbWVfYnVyeSAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDIKCS8vIHN0YWtlck91dE9mUHJvdG9jb2wgPSByZW1vdmVSZXRbMV0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMQoJZ2V0Yml0CglmcmFtZV9idXJ5IDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNAoJLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yCglmcmFtZV9kaWcgMiAvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3I6IGJvb2wKCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbFN0YWtlcnMgLT0gMQoJaW50YyAyMyAvLyAyNDQKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYyMF9lbmQ6CgoqaWYxOF9lbmQ6CglyZXRzdWIKCi8vIGZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCiphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZXIpIGZvciBmaW5kUG9vbEZvclN0YWtlciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCWNhbGxzdWIgZmluZFBvb2xGb3JTdGFrZXIKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBmaW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFRvU3Rha2U6IHVpbnQ2NCk6IFtWYWxpZGF0b3JQb29sS2V5LCBib29sZWFuLCBib29sZWFuXQovLwovLyBGaW5kcyB0aGUgcG9vbCBmb3IgYSBzdGFrZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHZhbGlkYXRvciBpZCwgc3Rha2VyIGFkZHJlc3MsIGFuZCBhbW91bnQgdG8gc3Rha2UuCi8vIEZpcnN0IGNoZWNrcyB0aGUgc3Rha2VycyAnYWxyZWFkeSBzdGFrZWQgbGlzdCcgZm9yIHRoZSB2YWxpZGF0b3IgcHJlZmVycmluZyB0aG9zZSAoYWRkaW5nIGlmIHBvc3NpYmxlKSB0aGVuIGFkZHMKLy8gdG8gbmV3IHBvb2wgaWYgbmVjZXNzYXJ5LgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIgLSBUaGUgYWRkcmVzcyBvZiB0aGUgc3Rha2VyLgovLyBAcGFyYW0ge3VpbnQ2NH0gYW1vdW50VG9TdGFrZSAtIFRoZSBhbW91bnQgdG8gc3Rha2UuCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5LCBib29sZWFuLCBib29sZWFufSAtIFRoZSBwb29sIGZvciB0aGUgc3Rha2VyLCB0cnVlL2ZhbHNlIG9uIHdoZXRoZXIgdGhlIHN0YWtlciBpcyAnbmV3JwovLyB0byB0aGlzIFZBTElEQVRPUiwgYW5kIHRydWUvZmFsc2UgaWYgc3Rha2VyIGlzIG5ldyB0byB0aGUgcHJvdG9jb2wuCmZpbmRQb29sRm9yU3Rha2VyOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzAKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTMxCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzkKCS8vIG1heFBlclBvb2wgPSB0aGlzLmdldEN1ck1heFN0YWtlUGVyUG9vbCh2YWxpZGF0b3JJZCkKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGdldEN1ck1heFN0YWtlUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0MgoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDMKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgMjggLy8gMzAwCgk8CglieiAqaWYyMl9lbmQKCgkvLyAqaWYyMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgOCAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyAyNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ5CgkvLyBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjIzX2VuZAoKCS8vICppZjIzX2NvbnNlcXVlbnQKCWIgKmZvcl8zX2NvbnRpbnVlCgoqaWYyM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUyCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYyNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTMKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHZhbGlkYXRvcklkCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJPT0KCWJ6ICppZjI0X2VuZAoKCS8vICppZjI0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTUKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gKmlmMjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xTZXRbaV0ucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkICsgYW1vdW50VG9TdGFrZSA8PQoJLy8gICAgICAgICAgICAgbWF4UGVyUG9vbAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJKwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8PQoJYnogKmlmMjVfZW5kCgoJLy8gKmlmMjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk2MAoJLy8gcmV0dXJuIFtwb29sU2V0W2ldLCBpc05ld1N0YWtlclRvVmFsaWRhdG9yLCBpc05ld1N0YWtlclRvUHJvdG9jb2xdOwoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoJYiAqZmluZFBvb2xGb3JTdGFrZXIqcmV0dXJuCgoqaWYyNV9lbmQ6CgoqaWYyNF9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ1CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoKKmlmMjFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk2NwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgYW1vdW50VG9TdGFrZSA+PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlLAoJLy8gICAgICAgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcKCS8vICAgICApCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CglpbnRjIDM4IC8vIDIwOQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCT49CgoJLy8gbXVzdCBzdGFrZSBhdCBsZWFzdCB0aGUgbWluaW11bSBmb3IgdGhpcyBwb29sCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTczCgkvLyBwb29scyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjkgLy8gNDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NAoJLy8gY3VyTnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzUKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgY3VyTnVtUG9vbHM7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgoqZm9yXzQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBpIDwgY3VyTnVtUG9vbHMKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDYgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoJPAoJYnogKmZvcl80X2VuZAoKCS8vICppZjI2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NgoJLy8gcG9vbHNbaV0udG90YWxBbGdvU3Rha2VkICsgYW1vdW50VG9TdGFrZSA8PSBtYXhQZXJQb29sCglmcmFtZV9kaWcgNSAvLyBwb29sczogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJKwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8PQoJYnogKmlmMjZfZW5kCgoJLy8gKmlmMjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NwoJLy8gcmV0dXJuIFsKCS8vICAgICAgICAgICB7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiBpICsgMSwgcG9vbEFwcElkOiBwb29sc1tpXS5wb29sQXBwSWQgfSwKCS8vICAgICAgICAgICBpc05ld1N0YWtlclRvVmFsaWRhdG9yLAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCwKCS8vICAgICAgICAgXTsKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCXNldGJpdAoJY29uY2F0CgliICpmaW5kUG9vbEZvclN0YWtlcipyZXR1cm4KCippZjI2X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTg1CgkvLyByZXR1cm4gW3sgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9LCBpc05ld1N0YWtlclRvVmFsaWRhdG9yLCBpc05ld1N0YWtlclRvUHJvdG9jb2xdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJZHVwCglibnogKnNraXBfb3IzCgl0eG4gU2VuZGVyCglpbnRjIDE3IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IzOgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAwNwoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cykKCWludGMgMTYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjIgLy8gMTkyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMiAvLyA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA5IC8vIDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludGMgMTYgLy8gOTAwCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxOAoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5nb09mZmxpbmU+KHsKCS8vICAgICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHg1MWVmM2IyMSAvLyBtZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMjMKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBhZGRQb29sVG9Ob2RlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMjQKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMjdfZW5kOgoKKmZvcl82X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzYKCipmb3JfNl9lbmQ6CgoqZm9yXzVfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gc3JjTm9kZUlkeCArPSAxCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCS8vIGNvdWxkbid0IGZpbmQgcG9vbCBhcHAgaWQgaW4gbm9kZXMgdG8gbW92ZQoJZXJyCglyZXRzdWIKCi8vIGVtcHR5VG9rZW5SZXdhcmRzKHVpbnQ2NCxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChyZWNlaXZlcikgZm9yIGVtcHR5VG9rZW5SZXdhcmRzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgZW1wdHlUb2tlblJld2FyZHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlbXB0eVRva2VuUmV3YXJkcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCByZWNlaXZlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBTZW5kcyB0aGUgcmV3YXJkIHRva2VucyBoZWxkIGluIHBvb2wgMSB0byBzcGVjaWZpZWQgcmVjZWl2ZXIuCi8vIFRoaXMgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSB0aGUgb3duZXIgd2hlbiB0aGV5IHdhbnQgdG8gZ2V0IHJld2FyZCB0b2tlbnMgJ2JhY2snIHdoaWNoIHRoZXkgc2VudCB0bwovLyB0aGUgZmlyc3QgcG9vbCAobGlrZWx5IGJlY2F1c2UgdmFsaWRhdG9yIGlzIHN1bnNldHRpbmcuICBBbnkgdG9rZW5zIGN1cnJlbnRseSAncmVzZXJ2ZWQnIGZvciBzdGFrZXJzIHRvIGNsYWltIHdpbGwKLy8gTk9UIGJlIHNlbnQgYXMgdGhleSBtdXN0IGJlIGhlbGQgYmFjayBmb3Igc3Rha2VycyB0byBsYXRlciBjbGFpbS4KLy8gWyBPTkxZIE9XTkVSIENBTiBDQUxMXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHtBZGRyZXNzfSByZWNlaXZlciAtIHRoZSBhY2NvdW50IHRvIHNlbmQgdGhlIHRva2VucyB0byAobXVzdCBhbHJlYWR5IGJlIG9wdGVkLWluIHRvIHRoZSByZXdhcmQgdG9rZW4pCi8vIEByZXR1cm5zIHt1aW50NjR9IHRoZSBhbW91bnQgb2YgcmV3YXJkIHRva2VuIHNlbnQKZW1wdHlUb2tlblJld2FyZHM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDMKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ3CgkvLyByZXdhcmRUb2tlbklkID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50YyAzNyAvLyAxNTMKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDgKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sKCWludGMgMTMgLy8gMjYwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ5CgkvLyBhc3NlcnQocmV3YXJkVG9rZW5JZCAhPT0gMCwgInRoaXMgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSBhIHJld2FyZCB0b2tlbiBkZWZpbmVkIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CgoJLy8gdGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUwCgkvLyBwb29sT25lQXBwSWQgPSBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKQoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNCAvLyAgbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTYKCS8vIGFwcGxpY2F0aW9uSUQ6IHBvb2xPbmVBcHBJZAoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU3CgkvLyBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXQoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTkKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpID09PSByZXdhcmRUb2tlbkhlbGRCYWNrLAoJLy8gICAgICAgJ2JhbGFuY2Ugb2YgcmVtYWluaW5nIHJld2FyZCB0b2tlbnMgc2hvdWxkIG1hdGNoIHRoZSBoZWxkIGJhY2sgYW1vdW50JwoJLy8gICAgICkKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJPT0KCgkvLyBiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNjMKCS8vIHJldHVybiB0b2tlblJld2FyZEJhbDsKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKLy8KLy8gTG9ncyB0aGUgYWRkaXRpb24gb2YgYSBuZXcgdmFsaWRhdG9yIHRvIHRoZSBzeXN0ZW0sIGl0cyBpbml0aWFsIG93bmVyIGFuZCBtYW5hZ2VyCi8vCi8vCi8vIHZlcmlmeVBvb2xLZXlDYWxsZXIgdmVyaWZpZXMgdGhlIHBhc3NlZCBpbiBrZXkgKGZyb20gYSBzdGFraW5nIHBvb2wgY2FsbGluZyB1cyB0byB1cGRhdGUgbWV0cmljcykgaXMgdmFsaWQKLy8gYW5kIG1hdGNoZXMgdGhlIGluZm9ybWF0aW9uIHdlIGhhdmUgaW4gb3VyIHN0YXRlLiAgJ0Zha2UnIHBvb2xzIGNvdWxkIGNhbGwgdXMgdG8gdXBkYXRlIG91ciBkYXRhLCBidXQgdGhleQovLyBjYW4ndCBmYWtlIHRoZSBpZHMgYW5kIG1vc3QgaW1wb3J0YW50bHkgYXBwbGljYXRpb24gaWQoISkgb2YgdGhlIGNhbGxlciB0aGF0IGhhcyB0byBtYXRjaC4KdmVyaWZ5UG9vbEtleUNhbGxlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYxCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLmV4aXN0cywgInRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkIikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MgoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkIDw9IE1BWF9QT09MUywgJ3Bvb2wgaWQgbm90IGluIHZhbGlkIHJhbmdlJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAzIC8vIDI0Cgk8PQoKCS8vIHBvb2wgaWQgbm90IGluIHZhbGlkIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sSWQgPiAwICYmIChwb29sS2V5LnBvb2xJZCBhcyB1aW50MTYpIDw9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5udW1Qb29scywKCS8vICAgICAgICdwb29sIGlkIG91dHNpZGUgb2YgcmFuZ2Ugb2YgcG9vbHMgY3JlYXRlZCBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCTw9CgkmJgoKKnNraXBfYW5kMjoKCS8vIHBvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjkKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xLZXkucG9vbEFwcElkID09PSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQsCgkvLyAgICAgICAiVGhlIHBhc3NlZCBpbiBhcHAgaWQgZG9lc24ndCBtYXRjaCB0aGUgcGFzc2VkIGluIGlkcyIKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJcHVzaGJ5dGVzIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykKCWFzc2VydAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc3CgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPT09IChBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gcmV2ZXJpZnlORkRPd25lcnNoaXAodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHZvaWQKLy8KLy8gVGhpcyBtZXRob2QgdmVyaWZpZXMgdGhlIG93bmVyc2hpcCBvZiBORkQgKE5hbWVkIEZ1bmN0aW9uIERhdGEpIGJ5IGEgdmFsaWRhdG9yLgovLyBJZiB0aGUgb3duZXJzaGlwIGlzIG5vIGxvbmdlciB2YWxpZCwgaXQgcmVtb3ZlcyB0aGUgTkZEIGZyb20gdGhlIHZhbGlkYXRvcidzIGNvbmZpZ3VyYXRpb24uCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHdob3NlIGRhdGEgc2hvdWxkIGJlIHJlLWV2YWx1YXRlZC4KcmV2ZXJpZnlORkRPd25lcnNoaXA6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExODcKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludGMgMjEgLy8gNzIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnRjIDIxIC8vIDcyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgoJLy8gKmlmMjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5MwoJLy8gdmFsaWRhdG9yQ29uZmlnLm93bmVyICE9PSBuZmRPd25lciAmJiB2YWxpZGF0b3JDb25maWcubWFuYWdlciAhPT0gbmZkT3duZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnRjIDE3IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludGMgMjEgLy8gNzIKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmlmMjlfZW5kOgoKKmlmMjhfZW5kOgoJcmV0c3ViCgovLyB2YWxpZGF0ZUNvbmZpZyhjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHZvaWQKdmFsaWRhdGVDb25maWc6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIwMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA+PSBHQVRJTkdfVFlQRV9OT05FICYmIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPD0gR0FUSU5HX1RZUEVfQ09OU1RfTUFYLAoJLy8gICAgICAgJ2dhdGluZyB0eXBlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAwIC8vIDAKCT49CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnRjIDIwIC8vIDQKCTw9CgkmJgoKKnNraXBfYW5kNDoKCS8vIGdhdGluZyB0eXBlIG5vdCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMDYKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoID49IE1JTl9FUE9DSF9MRU5HVEggJiYgY29uZmlnLmVwb2NoUm91bmRMZW5ndGggPD0gTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgICdlcG9jaCBsZW5ndGggbm90IGluIGFsbG93YWJsZSByYW5nZScKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTY5IDQKCWJ0b2kKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ1CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTY5IDQKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ2OgoJLy8gY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZAoJYXNzZXJ0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxNAoJLy8gY29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE1CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICAgICAgJ3ZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgc2V0IGlmIHBlcmNlbnQgdG8gdmFsaWRhdG9yIGlzIG5vdCAwJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3NyAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgc2V0IGlmIHBlcmNlbnQgdG8gdmFsaWRhdG9yIGlzIG5vdCAwCglhc3NlcnQKCippZjMwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjIwCgkvLyBhc3NlcnQoY29uZmlnLm1pbkVudHJ5U3Rha2UgPj0gTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsICdzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvJykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMDkgOAoJYnRvaQoJaW50YyAyNCAvLyAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjIyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucG9vbHNQZXJOb2RlID4gMCAmJiBjb25maWcucG9vbHNQZXJOb2RlIDw9IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgICdudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDcKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjUgMQoJYnRvaQoJaW50YyA5IC8vIDMKCTw9CgkmJgoKKnNraXBfYW5kNzoKCS8vIG51bWJlciBvZiBwb29scyBwZXIgbm9kZSBleGNlZWRzIGFsbG93ZWQgbnVtYmVyCglhc3NlcnQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI2CgkvLyBjb25maWcuc3Vuc2V0dGluZ09uICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI2IDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjcKCS8vIGFzc2VydChjb25maWcuc3Vuc2V0dGluZ09uID4gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsICdzdW5zZXR0aW5nT24gbXVzdCBiZSBsYXRlciB0aGFuIG5vdyBpZiBzZXQnKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk+CgoJLy8gc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0Cglhc3NlcnQKCippZjMxX2VuZDoKCXJldHN1YgoKLy8gY2FsbFBvb2xBZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIG1ickFtdFBhaWQ6IHVpbnQ2NCwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbGVhbiwgaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sZWFuKTogdm9pZAovLwovLyBBZGRzIGEgc3Rha2VycyBhbW91bnQgb2YgYWxnbyB0byBhIHZhbGlkYXRvciBwb29sLCB0cmFuc2ZlcnJpbmcgdGhlIGFsZ28gd2UgcmVjZWl2ZWQgZnJvbSB0aGVtIChhbHJlYWR5IHZlcmlmaWVkCi8vIGJ5IG91ciBjYWxsZXIpIHRvIHRoZSBzdGFraW5nIHBvb2wgYWNjb3VudCwgYW5kIHRoZW4gdGVsbGluZyBpdCBhYm91dCB0aGUgYW1vdW50IGJlaW5nIGFkZGVkIGZvciB0aGUgc3BlY2lmaWVkCi8vIHN0YWtlci4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IHN0YWtlZEFtb3VudFBheW1lbnQgLSBwYXltZW50IGNvbWluZyBmcm9tIHN0YWtlciB0byBwbGFjZSBpbnRvIGEgcG9vbAovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KLy8gQHBhcmFtIHt1aW50NjR9IG1ickFtdFBhaWQgLSBBbW91bnQgdGhlIHVzZXIgaXMgbGVhdmluZyBiZWhpbmQgaW4gdGhlIHZhbGlkYXRvciB0byBwYXkgZm9yIHRoZWlyIHN0YWtlciBNQlIgY29zdAovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgLSBpZiB0aGlzIGlzIGEgbmV3LCBmaXJzdC10aW1lIHN0YWtlciB0byB0aGUgdmFsaWRhdG9yCi8vIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdTdGFrZXJUb1Byb3RvY29sIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHByb3RvY29sCmNhbGxQb29sQWRkU3Rha2U6Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNDkKCS8vIHBvb2xBcHBJZCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHBvb2xBcHBJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTMKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUuYWRkU3Rha2UsIHVpbnQ2ND4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIC8vIFRISVMgSVMgQSBTRU5EIG9mIHRoZSBhbW91bnQgcmVjZWl2ZWQgcmlnaHQgYmFjayBvdXQgYW5kIGludG8gdGhlIHN0YWtpbmcgcG9vbCBjb250cmFjdCBhY2NvdW50LgoJLy8gICAgICAgICB7IGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkLCByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MgfSwKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LnNlbmRlciwKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTgKCS8vIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTgKCS8vIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCXB1c2hpbnQgNTAwCgk8CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDggLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgMjYgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY4CgkvLyBwb29sTnVtU3Rha2VycyA9IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnbnVtU3Rha2VycycpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnbnVtU3Rha2VycycpCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBwb29sTnVtU3Rha2VyczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjkKCS8vIHBvb2xBbGdvU3Rha2VkID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdzdGFrZWQnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlYyA0IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnc3Rha2VkJykKCWFzc2VydAoJZnJhbWVfYnVyeSAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxTdGFrZXJzID0gcG9vbE51bVN0YWtlcnMgYXMgdWludDE2CglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCWl0b2IKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDIgLy8gcG9vbEFsZ29TdGFrZWQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc0CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yCglmcmFtZV9kaWcgLTQgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbGVhbgoJYnogKmlmMzNfZW5kCgoJLy8gKmlmMzNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbFN0YWtlcnMgKz0gMQoJaW50YyAyMyAvLyAyNDQKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglpbnRjIDEyIC8vIDI1MgoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIG1ickFtdFBhaWQ6IHVpbnQ2NAoJLQoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlYyA0IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIG1ickFtdFBhaWQ6IHVpbnQ2NAoJLQoJKwoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHVwZGF0ZVN0YWtlclBvb2xTZXQoc3Rha2VyOiBBZGRyZXNzLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogdm9pZAp1cGRhdGVTdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg1CgkvLyBhc3NlcnQodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OAoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl83OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfN19lbmQKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjkwCgkvLyBwb29sU2V0W2ldID09PSBwb29sS2V5CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJPT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjkyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjM1X2VuZDoKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTQKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYnogKnNraXBfYW5kOAoJZnJhbWVfZGlnIDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CgkmJgoKKnNraXBfYW5kODoKCWJ6ICppZjM2X2VuZAoKCS8vICppZjM2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk1CgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjM2X2VuZDoKCipmb3JfN19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl83CgoqZm9yXzdfZW5kOgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5OAoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjM3X2VuZAoKCS8vICppZjM3X2NvbnNlcXVlbnQKCS8vIE5vIGVtcHR5IHNsb3QgYXZhaWxhYmxlIGluIHRoZSBzdGFrZXIgcG9vbCBzZXQKCWVycgoKKmlmMzdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMDEKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlW2ZpcnN0RW1wdHkgLSAxXSA9IHBvb2xLZXkKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyOiBBZGRyZXNzLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogW2Jvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIFJlbW92ZXMgYSBwb29sIGtleSBmcm9tIHRoZSBzdGFrZXIncyBhY3RpdmUgcG9vbCBzZXQgLSBmYWlscyBpZiBub3QgZm91bmQgKCEpCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHN0YWtlci4KLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIHBvb2wga2V5IHRoZXkgc2hvdWxkIGJlIHN0b3JlZCBpbgovLwovLyBAcmV0dXJuIFtib29sZWFuLCBib29sZWFuXSBbaXMgdGhlIHN0YWtlciBnb25lIGZyb20gQUxMIHBvb2xzIG9mIHRoZSBnaXZlbiBWQUxJREFUT1IsIGFuZCBpcyBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29sc10KcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQ6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTQKCS8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxNQoJLy8gaW5BbnlQb29sQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxNgoJLy8gZm91bmQgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBmb3VuZDogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE4CgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnRjIDE2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0MwoJLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnBvb2xzUGVyTm9kZSBhcyB1aW50NjQKCXB1c2hpbnQgMjI1CglpbnRjIDEgLy8gMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ1CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgbm90IGluIHZhbGlkIHJhbmdlJykKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ5CglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDIgLy8gOAoJPD0KCSYmCgoqc2tpcF9hbmQ5OgoJLy8gbm9kZSBudW1iZXIgbm90IGluIHZhbGlkIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl85OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGkgPCBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I6IHVpbnQ2NAoJPAoJYnogKmZvcl85X2VuZAoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDgKCS8vIG5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPT09IDAKCWZyYW1lX2RpZyAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM1MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW25vZGVOdW0gLSAxXS5wb29sQXBwSWRzW2ldID0gcG9vbEFwcElkCglpbnRjIDE2IC8vIDkwMAoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFwcElkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM1MQoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0Ml9lbmQ6CgoqZm9yXzlfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfOQoKKmZvcl85X2VuZDoKCS8vIG5vIGF2YWlsYWJsZSBzcGFjZSBpbiBzcGVjaWZpZWQgbm9kZSBmb3IgdGhpcyBwb29sCgllcnIKCXJldHN1YgoKLy8gZG9lc1N0YWtlck1lZXRHYXRpbmcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogdm9pZAovLwovLyBDaGVja3MgaWYgYSBzdGFrZXIgbWVldHMgdGhlIGdhdGluZyByZXF1aXJlbWVudHMgc3BlY2lmaWVkIGJ5IHRoZSB2YWxpZGF0b3IuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsdWVUb1ZlcmlmeSAtIFRoZSB2YWx1ZSB0byB2ZXJpZnkgYWdhaW5zdCB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cy4KLy8gQHJldHVybnMge3ZvaWR9IG9yIGFzc2VydHMgaWYgcmVxdWlyZW1lbnRzIG5vdCBtZXQuCmRvZXNTdGFrZXJNZWV0R2F0aW5nOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gOAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY1CgkvLyB0eXBlID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZW50cnlHYXRpbmdUeXBlCglpbnRjIDM1IC8vIDgwCglpbnRjIDEgLy8gMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHR5cGU6IHVpbnQ4CgoJLy8gKmlmNDNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NgoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfTk9ORQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjcKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmNDNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjkKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAxIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzcwCgkvLyBjb25maWcgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZykKCWludGMgMCAvLyAwCglpbnRjIDggLy8gMjQyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMSAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAxMCAvLyAyCgk9PQoJfHwKCipza2lwX29yNDoKCWR1cAoJYm56ICpza2lwX29yNQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgOSAvLyAzCgk9PQoJfHwKCipza2lwX29yNToKCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc4CgkvLyBhc3NlcnQodmFsdWVUb1ZlcmlmeSAhPT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzkKCS8vIGJhbFJlcXVpcmVkID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZ2F0aW5nQXNzZXRNaW5CYWxhbmNlCglpbnRjIDM2IC8vIDE0NQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CgoJLy8gKmlmNDVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MAoJLy8gYmFsUmVxdWlyZWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODEKCS8vIGJhbFJlcXVpcmVkID0gMQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CgoqaWY0NV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBzdGFrZXIuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KSkgPj0gYmFsUmVxdWlyZWQsCgkvLyAgICAgICAgICdtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCT49CgoJLy8gbXVzdCBoYXZlIHJlcXVpcmVkIG1pbmltdW0gYmFsYW5jZSBvZiB2YWxpZGF0b3IgZGVmaW5lZCB0b2tlbiB0byBhZGQgc3Rha2UKCWFzc2VydAoKKmlmNDRfZW5kOgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4OAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRTX0NSRUFURURfQlkKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjQ2X2VuZAoKCS8vICppZjQ2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KS5jcmVhdG9yID09PSBjb25maWcuZW50cnlHYXRpbmdBZGRyZXNzLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgdGhlIHZhbGlkYXRvciBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgoJcG9wCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA4MSAzMgoJPT0KCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyAqaWY0N19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVF9JRAoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMTAgLy8gMgoJPT0KCWJ6ICppZjQ3X2VuZAoKCS8vICppZjQ3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk1CgkvLyBhc3NlcnQodmFsdWVUb1ZlcmlmeSAhPT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTYKCS8vIGZvdW5kID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NwoJLy8gY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgMzIKCWR1cAoJZnJhbWVfYnVyeSA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBhc3NldElkOiB1aW50NjQKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JPZl8wOgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5OAoJLy8gdmFsdWVUb1ZlcmlmeSA9PT0gYXNzZXRJZAoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIDYgLy8gYXNzZXRJZDogdWludDY0Cgk9PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTkKCS8vIGZvdW5kID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgNCAvLyBmb3VuZDogYm9vbAoJYiAqZm9yT2ZfMF9lbmQKCippZjQ4X2VuZDoKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCWludGMgNCAvLyAgb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDkgLy8gMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDIwIC8vIDQKCT09CglieiAqaWY1MF9lbmQKCgkvLyAqaWY1MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxNQoJLy8gdXNlck9mZmVyZWRORkRBcHBJRCA9IHZhbHVlVG9WZXJpZnkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2J1cnkgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxNgoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKHVzZXJPZmZlcmVkTkZEQXBwSUQpLCAncHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQnKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBtdXN0IGJlIHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxOQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICByYXdCeXRlcyhBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzKSA9PT0gcmF3Qnl0ZXMoc3Rha2VyKSB8fAoJLy8gICAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KHVzZXJPZmZlcmVkTkZEQXBwSUQsIHN0YWtlciksCgkvLyAgICAgICAgICJwcm92aWRlZCBuZmQgZm9yIGVudHJ5IGlzbid0IG93bmVkIG9yIGxpbmtlZCB0byB0aGUgc3Rha2VyIgoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CglieXRlYyA5IC8vICAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yNgoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0Cgl8fAoKKnNraXBfb3I2OgoJLy8gcHJvdmlkZWQgbmZkIGZvciBlbnRyeSBpc24ndCBvd25lZCBvciBsaW5rZWQgdG8gdGhlIHN0YWtlcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MjYKCS8vIGFzc2VydCgKCS8vICAgICAgICAgYnRvaShBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLnBhcmVudEFwcElEJykgYXMgYnl0ZXMpID09PQoJLy8gICAgICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwKCS8vICAgICAgICAgJ3NwZWNpZmllZCBuZmQgbXVzdCBiZSBhIHNlZ21lbnQgb2YgdGhlIG5mZCB0aGUgdmFsaWRhdG9yIHNwZWNpZmllZCBhcyBhIHJlcXVpcmVtZW50JwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CglwdXNoYnl0ZXMgMHg2OTJlNzA2MTcyNjU2ZTc0NDE3MDcwNDk0NCAvLyAiaS5wYXJlbnRBcHBJRCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLnBhcmVudEFwcElEJykKCWFzc2VydAoJYnRvaQoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDgKCWJ0b2kKCT09CgoJLy8gc3BlY2lmaWVkIG5mZCBtdXN0IGJlIGEgc2VnbWVudCBvZiB0aGUgbmZkIHRoZSB2YWxpZGF0b3Igc3BlY2lmaWVkIGFzIGEgcmVxdWlyZW1lbnQKCWFzc2VydAoKKmlmNTBfZW5kOgoJcmV0c3ViCgovLyBpc05GREFwcElEVmFsaWQobmZkQXBwSUQ6IHVpbnQ2NCk6IGJvb2xlYW4KLy8KLy8gQ2hlY2tzIGlmIHRoZSBnaXZlbiBORkQgQXBwIGlkIGlzIHZhbGlkLiAgVXNpbmcgb25seSB0aGUgQXBwIGlkIHRoZXJlJ3Mgbm8gdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBuYW1lIChpZTogdGhhdCBuZmQgWCBpcyBuYW1lIFkpCi8vIFNvIGl0J3MgYXNzdW1lZCBmb3IgdGhlIGNhbGxlciwgdGhlIGFwcCBpZCBhbG9uZSBpcyBmaW5lLiAgVGhlIG5hbWUgaXMgZmV0Y2hlZCBmcm9tIHRoZSBzcGVjaWZpZWQgYXBwIGlkIGFuZCB0aGUgdHdvCi8vIHRvZ2V0aGVyIGFyZSB1c2VkIGZvciB2YWxpZGl0eSBjaGVjayBjYWxsIHRvIHRoZSBuZmQgcmVnaXN0cnkuCi8vCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBORkQgQXBwIGlkIHRvIHZlcmlmeS4KLy8KLy8gQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBORkQgQXBwIGlkIGlzIHZhbGlkLCBvdGhlcndpc2UgZmFsc2UuCmlzTkZEQXBwSURWYWxpZDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDUKCS8vIHVzZXJPZmZlcmVkTkZETmFtZSA9IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm5hbWUnKSBhcyBzdHJpbmcKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglwdXNoYnl0ZXMgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxOSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NTAKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUyCgkvLyByZXR1cm4gYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDE7CglpdHhuIExhc3RMb2cKCWJ0b2kKCWludGMgMSAvLyAxCgk9PQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QobmZkQXBwSUQ6IHVpbnQ2NCwgYWRkclRvRmluZDogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgYWRkcmVzcyBpcyBwcmVzZW50IGluIGFuIE5GRHMgbGlzdCBvZiB2ZXJpZmllZCBhZGRyZXNzZXMuCi8vIFRoZSBORkQgaXMgYXNzdW1lZCB0byBoYXZlIGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXMgb2ZmaWNpYWwuCi8vCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBORkQgYXBwbGljYXRpb24gaWQuCi8vIEBwYXJhbSB7QWRkcmVzc30gYWRkclRvRmluZCAtIFRoZSBhZGRyZXNzIHRvIGZpbmQgaW4gdGhlIHYuY2FBbGdvLjAuYXMgcHJvcGVydHkKLy8gQHJldHVybiB7Ym9vbGVhbn0gLSBgdHJ1ZWAgaWYgdGhlIGFkZHJlc3MgaXMgcHJlc2VudCwgYGZhbHNlYCBvdGhlcndpc2UuCmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCksCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCXB1c2hieXRlcyAweDcyNjU2MTY0NWY3MDcyNmY3MDY1NzI3NDc5IC8vICJyZWFkX3Byb3BlcnR5IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDc2MmU2MzYxNDE2YzY3NmYyZTMwMmU2MTczIC8vICJ2LmNhQWxnby4wLmFzIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjgKCS8vIGNhQWxnb0RhdGEgPSB0aGlzLml0eG4ubGFzdExvZwoJaXR4biBMYXN0TG9nCglmcmFtZV9idXJ5IDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgY2FBbGdvRGF0YS5sZW5ndGg7IGkgKz0gMzIpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8xMDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBpIDwgY2FBbGdvRGF0YS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglsZW4KCTwKCWJ6ICpmb3JfMTBfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzAKCS8vIGFkZHIgPSBleHRyYWN0MyhjYUFsZ29EYXRhLCBpLCAzMikKCWZyYW1lX2RpZyAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMzIKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDIgLy8gYWRkcjogYnl0ZVtdCgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MQoJLy8gYWRkciAhPT0gcmF3Qnl0ZXMoZ2xvYmFscy56ZXJvQWRkcmVzcykgJiYgYWRkciA9PT0gcmF3Qnl0ZXMoYWRkclRvRmluZCkKCWZyYW1lX2RpZyAyIC8vIGFkZHI6IGJ5dGVbXQoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQxMAoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglmcmFtZV9kaWcgLTIgLy8gYWRkclRvRmluZDogQWRkcmVzcwoJPT0KCSYmCgoqc2tpcF9hbmQxMDoKCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcyCgkvLyByZXR1cm4gdHJ1ZTsKCWludGMgMSAvLyAxCgliICppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuCgoqaWY1MV9lbmQ6CgoqZm9yXzEwX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgKz0gMzIKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA0IC8vIDMyCgkrCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgliICpmb3JfMTAKCipmb3JfMTBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzUKCS8vIHJldHVybiBmYWxzZTsKCWludGMgMCAvLyAwCgoqaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCi8vIE5PVEU6IHRoaXMgZnVuY3Rpb24gaXMgZGVmaW5lZCB0d2ljZSAtIGhlcmUgYW5kIGluIHN0YWtpbmcgcG9vbCBjb250cmFjdC4gIEJvdGggbXVzdCBiZSBpZGVudGljYWwuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDg0CgkvLyBvbmxpbmUgPSB0aGlzLmdldEN1cnJlbnRPbmxpbmVTdGFrZSgpCgljYWxsc3ViIGdldEN1cnJlbnRPbmxpbmVTdGFrZQoJZnJhbWVfYnVyeSAwIC8vIG9ubGluZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODYKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCXB1c2hpbnQgMTAwCgltdWx3CglpbnRjIDAgLy8gMAoJaW50YyAzMSAvLyAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJcHVzaGludCAxNTAKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDMxIC8vIDEwMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIG1heEFsZ29BbGxvd2VkUGVyUG9vbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgTUFYSU1VTSBhbGxvd2VkIHN0YWtlIHBlciBwb29sIGFuZCBzdGlsbCByZWNlaXZlIGluY2VudGl2ZXMgLSB3ZSdsbCB0cmVhdCB0aGlzIGFzIHRoZSAnbWF4IHBlciBwb29sJwptYXhBbGdvQWxsb3dlZFBlclBvb2w6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUwNAoJLy8gcmV0dXJuIDcwXzAwMF8wMDBfMDAwXzAwMDsKCXB1c2hpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBtaW5CYWxhbmNlRm9yQWNjb3VudChjb250cmFjdHM6IHVpbnQ2NCwgZXh0cmFQYWdlczogdWludDY0LCBhc3NldHM6IHVpbnQ2NCwgbG9jYWxJbnRzOiB1aW50NjQsIGxvY2FsQnl0ZXM6IHVpbnQ2NCwgZ2xvYmFsSW50czogdWludDY0LCBnbG9iYWxCeXRlczogdWludDY0KTogdWludDY0Cm1pbkJhbGFuY2VGb3JBY2NvdW50OgoJcHJvdG8gNyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMQoJLy8gbWluQmFsID0gQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRQoJaW50YyAxNSAvLyAxMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIyCgkvLyBtaW5CYWwgKz0gY29udHJhY3RzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gY29udHJhY3RzOiB1aW50NjQKCWludGMgMTUgLy8gMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludGMgMTUgLy8gMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyNAoJLy8gbWluQmFsICs9IGFzc2V0cyAqIEFTU0VUX0hPTERJTkdfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFzc2V0czogdWludDY0CglpbnRjIDE1IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjUKCS8vIG1pbkJhbCArPSBsb2NhbEludHMgKiBTU0NfVkFMVUVfVUlOVAoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBsb2NhbEludHM6IHVpbnQ2NAoJaW50YyAzMiAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnRjIDMyIC8vIDI4NTAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyNwoJLy8gbWluQmFsICs9IGxvY2FsQnl0ZXMgKiBTU0NfVkFMVUVfQllURVMKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTUgLy8gbG9jYWxCeXRlczogdWludDY0CglpbnRjIDMzIC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyOAoJLy8gbWluQmFsICs9IGdsb2JhbEJ5dGVzICogU1NDX1ZBTFVFX0JZVEVTCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC03IC8vIGdsb2JhbEJ5dGVzOiB1aW50NjQKCWludGMgMzMgLy8gNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJcHVzaGludCA0MDAKCSoKCSsKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFiNWU4MmM2IC8vIG1ldGhvZCAiaW5pdFN0YWtpbmdDb250cmFjdCh1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc5NDcyZDgzIC8vIG1ldGhvZCAibG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkIgoJcHVzaGJ5dGVzIDB4NWY3YWNmZDkgLy8gbWV0aG9kICJmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZCIKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGE4NzE0MmQgLy8gbWV0aG9kICJnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweGQxMzY2Y2MzIC8vIG1ldGhvZCAiZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4M2IwNDVjNWMgLy8gbWV0aG9kICJnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NWFmZjYxZCAvLyBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgyZmEyMmM0YiAvLyBtZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglwdXNoYnl0ZXMgMHg5MTBlOTRhYyAvLyBtZXRob2QgImdldFBvb2xzKHVpbnQ2NCkodWludDY0LHVpbnQxNix1aW50NjQpW10iCglwdXNoYnl0ZXMgMHg1NzI3NjdkMSAvLyBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDliNTA0YWFmIC8vIG1ldGhvZCAiZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpIgoJcHVzaGJ5dGVzIDB4ZmJjNjMxNzggLy8gbWV0aG9kICJnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI0NDk4Y2Y0IC8vIG1ldGhvZCAiZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wiCglwdXNoYnl0ZXMgMHhmODQ2ZGQ3YSAvLyBtZXRob2QgImdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChhZGRyZXNzKSh1aW50NjQsdWludDY0LHVpbnQ2NClbXSIKCXB1c2hieXRlcyAweDgzMDUwNTAxIC8vIG1ldGhvZCAiZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCXB1c2hieXRlcyAweDdiYmI2YzhkIC8vIG1ldGhvZCAiZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKSIKCXB1c2hieXRlcyAweGY4Mzk0MTRhIC8vIG1ldGhvZCAiZ2V0TkZEUmVnaXN0cnlJRCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MGMzMTdjZmIgLy8gbWV0aG9kICJhZGRWYWxpZGF0b3IocGF5LHN0cmluZywodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkpdWludDY0IgoJcHVzaGJ5dGVzIDB4M2UyODg5NzIgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhkZDVmYWFkYSAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDE4YWFjN2E3IC8vIG1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQiCglwdXNoYnl0ZXMgMHhmOTllZjU0ZCAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgxMDgwOWQ0ZCAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGU3NzhkZDVhIC8vIG1ldGhvZCAiYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4YmY1MjU5ZDAgLy8gbWV0aG9kICJhZGRTdGFrZShwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4NGRmOGQ4NmUgLy8gbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhhMmRjNTFiNSAvLyBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHgyODczZjUwNCAvLyBtZXRob2QgImZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpIgoJcHVzaGJ5dGVzIDB4MDU0N2Y0ZmUgLy8gbWV0aG9kICJtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2I2NjgzNTggLy8gbWV0aG9kICJlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2luaXRTdGFraW5nQ29udHJhY3QgKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSAqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfZ2FzICphYmlfcm91dGVfZ2V0TWJyQW1vdW50cyAqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHMgKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGUgKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIgKmFiaV9yb3V0ZV9nZXRQb29scyAqYWJpX3JvdXRlX2dldFBvb2xBcHBJZCAqYWJpX3JvdXRlX2dldFBvb2xJbmZvICphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sICphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUiAqYWJpX3JvdXRlX2dldFN0YWtlZFBvb2xzRm9yQWNjb3VudCAqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9nZXROb2RlUG9vbEFzc2lnbm1lbnRzICphYmlfcm91dGVfZ2V0TkZEUmVnaXN0cnlJRCAqYWJpX3JvdXRlX2FkZFZhbGlkYXRvciAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck1hbmFnZXIgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTkZEICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvICphYmlfcm91dGVfYWRkUG9vbCAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbyAqYWJpX3JvdXRlX3N0YWtlVXBkYXRlZFZpYVJld2FyZHMgKmFiaV9yb3V0ZV9zdGFrZVJlbW92ZWQgKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlciAqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlICphYmlfcm91dGVfZW1wdHlUb2tlblJld2FyZHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4NDZmNzY1MzMgLy8gbWV0aG9kICJ1cGRhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBVcGRhdGVBcHBsaWNhdGlvbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json b/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json index 7badf1613..3dabc94e2 100644 --- a/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json +++ b/examples/reti/artifacts/ValidatorRegistry.arc56_draft.json @@ -1200,7 +1200,7 @@ "approval": { "sourceInfo": [ { - "teal": 11, + "teal": 15, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 1, @@ -1208,54 +1208,48 @@ ] }, { - "teal": 18, + "teal": 16, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 3, - 4 + 3 ] }, { - "teal": 19, + "teal": 17, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 4, 5 ] }, { - "teal": 20, + "teal": 18, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 6, - 7 + 6 ] }, { - "teal": 21, + "teal": 19, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 7, 8 ] }, { - "teal": 22, - "source": "examples/reti/validatorRegistry.algo.ts:168", - "pc": [ - 9, - 10 - ] - }, - { - "teal": 23, + "teal": 20, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 11 + 9 ] }, { - "teal": 24, + "teal": 21, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 10, + 11, 12, 13, 14, @@ -1279,63 +1273,63 @@ 32, 33, 34, - 35, - 36, - 37 + 35 ] }, { - "teal": 28, + "teal": 25, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 38 + 36 ] }, { - "teal": 33, + "teal": 30, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 39, - 40, - 41 + 37, + 38, + 39 ] }, { - "teal": 34, + "teal": 31, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 42 + 40 ] }, { - "teal": 35, + "teal": 32, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 43 + 41 ] }, { - "teal": 39, + "teal": 36, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 44, - 45, - 46 + 42, + 43, + 44 ] }, { - "teal": 43, + "teal": 40, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 47, - 48 + 45, + 46 ] }, { - "teal": 44, + "teal": 41, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ + 47, + 48, 49, 50, 51, @@ -1367,306 +1361,312 @@ 77, 78, 79, - 80, - 81, - 82 + 80 ] }, { - "teal": 45, + "teal": 42, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 83 + 81 ] }, { - "teal": 46, + "teal": 43, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 84 + 82 ] }, { - "teal": 50, + "teal": 47, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ - 85, - 86 + 83, + 84 ] }, { - "teal": 51, + "teal": 48, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ - 87 + 85 ] }, { - "teal": 55, + "teal": 52, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 88, - 89 + 86, + 87 ] }, { - "teal": 56, + "teal": 53, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 90 + 88 ] }, { - "teal": 57, + "teal": 54, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 91, - 92 + 89, + 90 ] }, { - "teal": 58, + "teal": 55, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 93 + 91 ] }, { - "teal": 59, + "teal": 56, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 94, - 95 + 92, + 93 ] }, { - "teal": 60, + "teal": 57, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 96 + 94 ] }, { - "teal": 61, + "teal": 58, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 97 + 95 ] }, { - "teal": 62, + "teal": 59, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 98 + 96 ] }, { - "teal": 67, + "teal": 64, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 99, - 100, - 101 + 97, + 98, + 99 ] }, { - "teal": 68, + "teal": 65, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 102 + 100 ] }, { - "teal": 69, + "teal": 66, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 103 + 101 ] }, { - "teal": 73, + "teal": 70, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 104, + 102, + 103, + 104 + ] + }, + { + "teal": 74, + "source": "examples/reti/validatorRegistry.algo.ts:209", + "pc": [ 105, 106 ] }, { - "teal": 77, + "teal": 75, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 107, - 108 + 107 ] }, { - "teal": 78, + "teal": 76, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ + 108, 109 ] }, { - "teal": 79, + "teal": 77, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 110, - 111 + 110 ] }, { - "teal": 80, + "teal": 78, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ + 111, 112 ] }, { - "teal": 81, + "teal": 79, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 113, - 114 + 113 ] }, { - "teal": 82, + "teal": 80, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 115 + 114 ] }, { - "teal": 83, - "source": "examples/reti/validatorRegistry.algo.ts:209", + "teal": 84, + "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ + 115, 116 ] }, { - "teal": 87, + "teal": 85, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ - 117, - 118 + 117 ] }, { - "teal": 88, + "teal": 86, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ - 119 + 118 ] }, { - "teal": 89, - "source": "examples/reti/validatorRegistry.algo.ts:210", + "teal": 90, + "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ + 119, 120 ] }, { - "teal": 93, + "teal": 91, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ - 121, - 122 + 121 ] }, { - "teal": 94, + "teal": 92, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ - 123 + 122 ] }, { - "teal": 95, - "source": "examples/reti/validatorRegistry.algo.ts:211", + "teal": 96, + "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ + 123, 124 ] }, { - "teal": 99, + "teal": 97, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ - 125, - 126 + 125 ] }, { - "teal": 100, + "teal": 98, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ - 127 + 126 ] }, { - "teal": 101, - "source": "examples/reti/validatorRegistry.algo.ts:212", + "teal": 99, + "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 128 + 127 ] }, { - "teal": 102, - "source": "examples/reti/validatorRegistry.algo.ts:208", + "teal": 104, + "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 129 + 128, + 129, + 130 ] }, { - "teal": 107, + "teal": 105, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 130, - 131, - 132 + 131 ] }, { "teal": 108, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 133 + 132, + 133, + 134 ] }, { - "teal": 111, + "teal": 109, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 134, - 135, - 136 + 135 ] }, { - "teal": 112, + "teal": 110, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 137 + 136 ] }, { - "teal": 113, + "teal": 114, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 138 + 137, + 138, + 139 ] }, { - "teal": 117, - "source": "examples/reti/validatorRegistry.algo.ts:215", + "teal": 118, + "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 139, 140, 141 ] }, { - "teal": 121, + "teal": 119, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 142, @@ -1674,145 +1674,145 @@ ] }, { - "teal": 122, + "teal": 120, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 144, - 145 + 144 ] }, { - "teal": 123, + "teal": 121, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 146 + 145 ] }, { - "teal": 124, - "source": "examples/reti/validatorRegistry.algo.ts:217", + "teal": 122, + "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 147 + 146 ] }, { - "teal": 125, - "source": "examples/reti/validatorRegistry.algo.ts:215", + "teal": 127, + "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 148 + 147, + 148, + 149 ] }, { - "teal": 130, + "teal": 128, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 149, 150, - 151 + 151, + 152 ] }, { "teal": 131, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 152, 153, - 154 + 154, + 155 ] }, { - "teal": 134, + "teal": 132, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 155, - 156, - 157 + 156 ] }, { "teal": 135, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 158 + 157, + 158, + 159 ] }, { - "teal": 138, + "teal": 136, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 159, - 160, - 161 + 160 ] }, { - "teal": 139, + "teal": 137, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 162 + 161 ] }, { - "teal": 140, + "teal": 141, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 163 + 162, + 163, + 164 ] }, { - "teal": 144, - "source": "examples/reti/validatorRegistry.algo.ts:220", + "teal": 145, + "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 164, 165, 166 ] }, { - "teal": 148, + "teal": 146, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 167, - 168 + 167 ] }, { - "teal": 149, + "teal": 147, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 169 + 168 ] }, { - "teal": 150, + "teal": 148, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 170 + 169 ] }, { - "teal": 151, + "teal": 149, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 171 + 170 ] }, { - "teal": 152, + "teal": 150, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 172 + 171 ] }, { - "teal": 153, - "source": "examples/reti/validatorRegistry.algo.ts:221", + "teal": 154, + "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ + 172, 173 ] }, { - "teal": 157, + "teal": 155, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 174, @@ -1820,7 +1820,7 @@ ] }, { - "teal": 158, + "teal": 156, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 176, @@ -1828,447 +1828,441 @@ ] }, { - "teal": 159, + "teal": 157, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ - 178, - 179 + 178 ] }, { - "teal": 160, - "source": "examples/reti/validatorRegistry.algo.ts:222", + "teal": 158, + "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 180 + 179 ] }, { - "teal": 161, - "source": "examples/reti/validatorRegistry.algo.ts:220", + "teal": 163, + "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 181 + 180, + 181, + 182 ] }, { - "teal": 166, + "teal": 164, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 182, - 183, - 184 + 183 ] }, { - "teal": 167, + "teal": 165, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 185 + 184 ] }, { - "teal": 168, + "teal": 169, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 186 + 185, + 186, + 187 ] }, { - "teal": 172, - "source": "examples/reti/validatorRegistry.algo.ts:225", + "teal": 173, + "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 187, 188, 189 ] }, { - "teal": 176, + "teal": 174, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 190, - 191 + 190 ] }, { - "teal": 177, + "teal": 175, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ + 191, 192 ] }, { - "teal": 178, + "teal": 176, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 193, - 194 + 193 ] }, { - "teal": 179, + "teal": 177, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ + 194, 195 ] }, { - "teal": 180, + "teal": 178, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 196, - 197 + 196 ] }, { - "teal": 181, + "teal": 179, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 198 + 197 ] }, { - "teal": 182, - "source": "examples/reti/validatorRegistry.algo.ts:226", + "teal": 180, + "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 199 + 198 ] }, { - "teal": 183, - "source": "examples/reti/validatorRegistry.algo.ts:225", + "teal": 185, + "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 200 + 199, + 200, + 201 ] }, { - "teal": 188, + "teal": 186, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 201, - 202, - 203 + 202 ] }, { - "teal": 189, + "teal": 187, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 204 + 203 ] }, { - "teal": 190, + "teal": 193, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 205 + 204, + 205, + 206 ] }, { - "teal": 196, + "teal": 194, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 206, - 207, - 208 + 207 ] }, { - "teal": 197, - "source": "examples/reti/validatorRegistry.algo.ts:232", + "teal": 199, + "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 209 + 208 ] }, { "teal": 202, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 210 + 209, + 210, + 211 ] }, { - "teal": 205, + "teal": 203, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 211, - 212, - 213 + 212 ] }, { - "teal": 206, + "teal": 204, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 214 + 213 ] }, { - "teal": 207, + "teal": 205, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 215 + 214 ] }, { - "teal": 208, + "teal": 206, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 216 + 215 ] }, { - "teal": 209, + "teal": 218, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 217 + 216, + 217, + 218 ] }, { - "teal": 221, - "source": "examples/reti/validatorRegistry.algo.ts:243", + "teal": 241, + "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 218, 219, - 220 + 220, + 221 ] }, { - "teal": 244, + "teal": 242, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 221, 222, - 223 + 223, + 224 ] }, { - "teal": 245, + "teal": 243, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 224, - 225, - 226 + 225 ] }, { - "teal": 246, - "source": "examples/reti/validatorRegistry.algo.ts:247", + "teal": 244, + "source": "examples/reti/validatorRegistry.algo.ts:257", "pc": [ + 226, 227 ] }, { - "teal": 247, - "source": "examples/reti/validatorRegistry.algo.ts:257", + "teal": 245, + "source": "examples/reti/validatorRegistry.algo.ts:256", "pc": [ 228, 229 ] }, { - "teal": 248, - "source": "examples/reti/validatorRegistry.algo.ts:256", + "teal": 246, + "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ - 230, - 231 + 230 ] }, { - "teal": 249, + "teal": 247, "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ + 231, 232 ] }, { - "teal": 250, - "source": "examples/reti/validatorRegistry.algo.ts:255", + "teal": 248, + "source": "examples/reti/validatorRegistry.algo.ts:252", "pc": [ 233, 234 ] }, { - "teal": 251, - "source": "examples/reti/validatorRegistry.algo.ts:252", - "pc": [ - 235, - 236 - ] - }, - { - "teal": 252, + "teal": 249, "source": "examples/reti/validatorRegistry.algo.ts:249", "pc": [ - 237 + 235 ] }, { - "teal": 253, + "teal": 250, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 238, - 239, - 240 + 236, + 237, + 238 ] }, { - "teal": 254, + "teal": 251, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 241 + 239 ] }, { - "teal": 255, + "teal": 252, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 242 + 240 ] }, { - "teal": 256, + "teal": 253, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 243, - 244 + 241, + 242 ] }, { - "teal": 257, + "teal": 254, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ - 245, - 246, - 247 + 243, + 244, + 245 ] }, { - "teal": 258, + "teal": 255, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ - 248, - 249, - 250 + 246, + 247, + 248 ] }, { - "teal": 259, + "teal": 256, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 251 + 249 ] }, { - "teal": 260, + "teal": 257, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 252 + 250 ] }, { - "teal": 261, + "teal": 258, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 253 + 251 ] }, { - "teal": 262, + "teal": 259, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 254, - 255, - 256 + 252, + 253, + 254 ] }, { - "teal": 263, + "teal": 260, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 257, - 258, - 259 + 255, + 256, + 257 ] }, { - "teal": 264, + "teal": 261, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 260 + 258 ] }, { - "teal": 265, + "teal": 262, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 261 + 259 ] }, { - "teal": 266, + "teal": 263, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 262 + 260 ] }, { - "teal": 271, + "teal": 268, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 263 + 261 ] }, { - "teal": 274, + "teal": 271, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 264, - 265, - 266 + 262, + 263, + 264 ] }, { - "teal": 275, + "teal": 272, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 267 + 265 ] }, { - "teal": 276, + "teal": 273, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 268 + 266 ] }, { - "teal": 277, + "teal": 274, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 269 + 267 ] }, { - "teal": 278, + "teal": 275, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 270 + 268 ] }, { - "teal": 284, + "teal": 281, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 271, - 272, - 273 + 269, + 270, + 271 ] }, { - "teal": 300, + "teal": 297, "source": "examples/reti/validatorRegistry.algo.ts:277", "pc": [ + 272, + 273, 274, 275, 276, @@ -2308,84 +2302,84 @@ 310, 311, 312, - 313, - 314, - 315 + 313 ] }, { - "teal": 301, + "teal": 298, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 316, - 317, - 318 + 314, + 315, + 316 ] }, { - "teal": 302, + "teal": 299, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 319 + 317 ] }, { - "teal": 303, + "teal": 300, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 320 + 318 ] }, { - "teal": 304, + "teal": 301, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 321, - 322, - 323 + 319, + 320, + 321 ] }, { - "teal": 305, + "teal": 302, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 324 + 322 ] }, { - "teal": 306, + "teal": 303, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 325 + 323 ] }, { - "teal": 307, + "teal": 304, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 326, - 327, - 328 + 324, + 325, + 326 ] }, { - "teal": 308, + "teal": 305, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 329 + 327 ] }, { - "teal": 309, + "teal": 306, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 330 + 328 ] }, { - "teal": 310, + "teal": 307, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ + 329, + 330, 331, 332, 333, @@ -2393,22 +2387,22 @@ 335, 336, 337, - 338, - 339, - 340 + 338 ] }, { - "teal": 311, + "teal": 308, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ - 341 + 339 ] }, { - "teal": 312, + "teal": 309, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ + 340, + 341, 342, 343, 344, @@ -2416,22 +2410,22 @@ 346, 347, 348, - 349, - 350, - 351 + 349 ] }, { - "teal": 313, + "teal": 310, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ - 352 + 350 ] }, { - "teal": 314, + "teal": 311, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ + 351, + 352, 353, 354, 355, @@ -2439,313 +2433,319 @@ 357, 358, 359, - 360, - 361, - 362 + 360 ] }, { - "teal": 315, + "teal": 312, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ - 363 + 361 ] }, { - "teal": 316, + "teal": 313, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 364 + 362 ] }, { - "teal": 321, + "teal": 318, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 365 + 363 ] }, { - "teal": 324, + "teal": 321, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 366, - 367, - 368 + 364, + 365, + 366 ] }, { - "teal": 325, + "teal": 322, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 369 + 367 ] }, { - "teal": 326, + "teal": 323, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 370 + 368 ] }, { - "teal": 327, + "teal": 324, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 371 + 369 ] }, { - "teal": 328, + "teal": 325, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 372 + 370 ] }, { - "teal": 329, + "teal": 326, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 373 + 371 ] }, { - "teal": 335, + "teal": 332, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 374, - 375, - 376 + 372, + 373, + 374 ] }, { - "teal": 339, + "teal": 336, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ - 377, - 378 + 375, + 376 ] }, { - "teal": 340, + "teal": 337, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ - 379 + 377 ] }, { - "teal": 341, + "teal": 338, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 380 + 378 + ] + }, + { + "teal": 343, + "source": "examples/reti/validatorRegistry.algo.ts:296", + "pc": [ + 379 ] }, { "teal": 346, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 381 + 380, + 381, + 382 ] }, { - "teal": 349, + "teal": 347, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 382, - 383, - 384 + 383 ] }, { "teal": 350, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 385 + 384, + 385, + 386 ] }, { - "teal": 353, + "teal": 351, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 386, - 387, - 388 + 387 ] }, { - "teal": 354, + "teal": 352, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 389 + 388 ] }, { - "teal": 355, + "teal": 353, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 390 + 389 ] }, { - "teal": 356, + "teal": 354, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 391 + 390 ] }, { - "teal": 357, + "teal": 358, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 392 + 391, + 392, + 393 ] }, { - "teal": 361, - "source": "examples/reti/validatorRegistry.algo.ts:296", + "teal": 362, + "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 393, - 394, - 395 + 394 ] }, { - "teal": 365, + "teal": 363, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 395, 396 ] }, { - "teal": 366, + "teal": 364, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 397, - 398 + 397 ] }, { - "teal": 367, + "teal": 365, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 398, 399 ] }, { - "teal": 368, + "teal": 366, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 400, - 401 + 400 ] }, { - "teal": 369, + "teal": 367, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 402 + 401 ] }, { - "teal": 370, + "teal": 368, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 402, 403 ] }, { - "teal": 371, + "teal": 369, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 404, - 405 + 404 ] }, { - "teal": 372, - "source": "examples/reti/validatorRegistry.algo.ts:297", + "teal": 370, + "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 406 + 405 ] }, { - "teal": 373, - "source": "examples/reti/validatorRegistry.algo.ts:296", + "teal": 375, + "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 407 + 406 ] }, { "teal": 378, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 408 + 407, + 408, + 409 ] }, { - "teal": 381, + "teal": 379, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 409, - 410, - 411 + 410 ] }, { "teal": 382, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 412 + 411, + 412, + 413 ] }, { - "teal": 385, + "teal": 383, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 413, - 414, - 415 + 414 ] }, { - "teal": 386, + "teal": 384, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 416 + 415 ] }, { - "teal": 387, + "teal": 385, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 417 + 416 ] }, { - "teal": 388, + "teal": 386, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 418 + 417 ] }, { - "teal": 389, + "teal": 390, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 419 + 418, + 419, + 420 ] }, { - "teal": 393, - "source": "examples/reti/validatorRegistry.algo.ts:301", + "teal": 394, + "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 420, 421, 422 ] }, { - "teal": 397, + "teal": 395, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 423, @@ -2753,426 +2753,426 @@ ] }, { - "teal": 398, + "teal": 396, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 425, - 426 + 425 ] }, { - "teal": 399, + "teal": 397, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ + 426, 427 ] }, { - "teal": 400, + "teal": 398, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 428, - 429 + 428 ] }, { - "teal": 401, + "teal": 399, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 430 + 429 ] }, { - "teal": 402, + "teal": 400, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ + 430, 431 ] }, { - "teal": 403, + "teal": 401, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 432, - 433 + 432 ] }, { - "teal": 404, - "source": "examples/reti/validatorRegistry.algo.ts:302", + "teal": 402, + "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 434 + 433 ] }, { - "teal": 405, - "source": "examples/reti/validatorRegistry.algo.ts:301", + "teal": 407, + "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 435 + 434 ] }, { "teal": 410, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 436 + 435, + 436, + 437 ] }, { - "teal": 413, + "teal": 411, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 437, - 438, - 439 + 438 ] }, { "teal": 414, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 440 + 439, + 440, + 441 ] }, { - "teal": 417, + "teal": 415, + "source": "examples/reti/validatorRegistry.algo.ts:306", + "pc": [ + 442 + ] + }, + { + "teal": 416, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 441, - 442, 443 ] }, { - "teal": 418, + "teal": 417, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 444 ] }, { - "teal": 419, + "teal": 418, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 445 ] }, { - "teal": 420, + "teal": 422, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 446 + 446, + 447, + 448 ] }, { - "teal": 421, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 426, + "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 447 + 449 ] }, { - "teal": 425, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 427, + "source": "examples/reti/validatorRegistry.algo.ts:307", + "pc": [ + 450, + 451 + ] + }, + { + "teal": 428, + "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 448, - 449, - 450 + 452 ] }, { "teal": 429, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 451 + 453, + 454 ] }, { "teal": 430, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 452, - 453 + 455 ] }, { "teal": 431, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 454 + 456 ] }, { "teal": 432, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 455, - 456 + 457, + 458 ] }, { "teal": 433, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 457 + 459 ] }, { "teal": 434, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 458 + 460, + 461 ] }, { "teal": 435, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 459, - 460 + 462, + 463 ] }, { "teal": 436, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 461 + 464 ] }, { "teal": 437, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 462, - 463 + 465, + 466 ] }, { "teal": 438, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 464, - 465 + 467 ] }, { "teal": 439, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 466 + 468 ] }, { "teal": 440, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 467, - 468 + 469, + 470 ] }, { "teal": 441, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 469 + 471 ] }, { "teal": 442, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 470 + 472 ] }, { "teal": 443, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 471, - 472 + 473 ] }, { - "teal": 444, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "teal": 448, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 473 + 474 ] }, { - "teal": 445, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "teal": 451, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 474 + 475, + 476, + 477 ] }, { - "teal": 446, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 452, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 475 + 478 ] }, { - "teal": 451, + "teal": 455, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 476 + 479, + 480, + 481 ] }, { - "teal": 454, + "teal": 456, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 477, - 478, - 479 + 482 ] }, { - "teal": 455, + "teal": 457, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 480 + 483 ] }, { "teal": 458, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 481, - 482, - 483 + 484, + 485 ] }, { "teal": 459, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 484 + 486 ] }, { "teal": 460, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 485 + 487 ] }, { "teal": 461, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 486, - 487 + 488, + 489, + 490 ] }, { "teal": 462, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 488 + 491 ] }, { "teal": 463, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 489 - ] - }, - { - "teal": 464, - "source": "examples/reti/validatorRegistry.algo.ts:317", - "pc": [ - 490, - 491, 492 ] }, { - "teal": 465, + "teal": 464, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 493 ] }, { - "teal": 466, + "teal": 465, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 494 ] }, { - "teal": 467, + "teal": 466, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 495 ] }, { - "teal": 468, + "teal": 467, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 496 ] }, { - "teal": 469, - "source": "examples/reti/validatorRegistry.algo.ts:317", - "pc": [ - 497 - ] - }, - { - "teal": 470, + "teal": 476, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 498 + 497, + 498, + 499 ] }, { "teal": 479, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 499, - 500, - 501 + 500 ] }, { - "teal": 482, + "teal": 480, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ + 501, 502 ] }, { - "teal": 483, - "source": "examples/reti/validatorRegistry.algo.ts:317", + "teal": 484, + "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ - 503, - 504 + 503 ] }, { - "teal": 487, + "teal": 485, "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ + 504, 505 ] }, { - "teal": 488, - "source": "examples/reti/validatorRegistry.algo.ts:318", + "teal": 489, + "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 506, 507 ] }, { - "teal": 492, + "teal": 490, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 508, @@ -3180,74 +3180,74 @@ ] }, { - "teal": 493, + "teal": 491, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 510, - 511 + 510 ] }, { - "teal": 494, + "teal": 492, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 511, 512 ] }, { - "teal": 495, + "teal": 493, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 513, - 514 + 513 ] }, { - "teal": 496, + "teal": 494, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 515 + 514 ] }, { - "teal": 497, + "teal": 495, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 515, 516 ] }, { - "teal": 498, + "teal": 496, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 517, - 518 + 517 ] }, { - "teal": 499, + "teal": 497, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 518, 519 ] }, { - "teal": 500, - "source": "examples/reti/validatorRegistry.algo.ts:319", + "teal": 501, + "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 520, - 521 + 520 ] }, { - "teal": 504, + "teal": 502, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ + 521, 522 ] }, { - "teal": 505, + "teal": 507, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 523, @@ -3255,38 +3255,38 @@ ] }, { - "teal": 510, + "teal": 508, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 525, - 526 + 525 ] }, { - "teal": 511, + "teal": 509, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 527 + 526 ] }, { - "teal": 512, + "teal": 510, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 528 + 527, + 528, + 529 ] }, { - "teal": 513, - "source": "examples/reti/validatorRegistry.algo.ts:320", + "teal": 515, + "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 529, 530, 531 ] }, { - "teal": 518, + "teal": 516, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 532, @@ -3294,7 +3294,7 @@ ] }, { - "teal": 519, + "teal": 517, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 534, @@ -3302,89 +3302,89 @@ ] }, { - "teal": 520, + "teal": 518, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 536, - 537 + 536 ] }, { - "teal": 521, + "teal": 519, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 538 + 537 ] }, { - "teal": 522, + "teal": 520, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 539 + 538 ] }, { - "teal": 523, + "teal": 521, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 540 + 539 ] }, { - "teal": 524, + "teal": 522, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 541 + 540 ] }, { - "teal": 525, + "teal": 523, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 542 + 541 ] }, { - "teal": 526, + "teal": 524, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 543 + 542 ] }, { - "teal": 527, + "teal": 525, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 544 + 543 ] }, { - "teal": 528, + "teal": 526, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 545 + 544, + 545, + 546 ] }, { "teal": 529, - "source": "examples/reti/validatorRegistry.algo.ts:321", + "source": "examples/reti/validatorRegistry.algo.ts:323", "pc": [ - 546, 547, - 548 + 548, + 549 ] }, { - "teal": 532, - "source": "examples/reti/validatorRegistry.algo.ts:323", + "teal": 534, + "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 549, 550, 551 ] }, { - "teal": 537, + "teal": 535, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 552, @@ -3392,7 +3392,7 @@ ] }, { - "teal": 538, + "teal": 536, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 554, @@ -3400,7 +3400,7 @@ ] }, { - "teal": 539, + "teal": 537, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 556, @@ -3408,92 +3408,92 @@ ] }, { - "teal": 540, + "teal": 538, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 558, - 559 + 558 ] }, { - "teal": 541, + "teal": 539, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ + 559, 560 ] }, { - "teal": 542, + "teal": 540, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 561, - 562 + 561 ] }, { - "teal": 543, + "teal": 541, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 563 + 562 ] }, { - "teal": 544, + "teal": 542, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ + 563, 564 ] }, { - "teal": 545, - "source": "examples/reti/validatorRegistry.algo.ts:325", + "teal": 547, + "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 565, 566 ] }, { - "teal": 550, + "teal": 548, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 567, - 568 + 567 ] }, { - "teal": 551, + "teal": 549, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 569 + 568 ] }, { - "teal": 552, + "teal": 550, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ + 569, 570 ] }, { - "teal": 553, + "teal": 551, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 571, - 572 + 572, + 573 ] }, { - "teal": 554, - "source": "examples/reti/validatorRegistry.algo.ts:320", + "teal": 556, + "source": "examples/reti/validatorRegistry.algo.ts:327", "pc": [ - 573, 574, 575 ] }, { "teal": 559, - "source": "examples/reti/validatorRegistry.algo.ts:327", + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 576, 577 @@ -3508,652 +3508,652 @@ ] }, { - "teal": 565, + "teal": 563, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 580, - 581 + 580 ] }, { - "teal": 566, - "source": "examples/reti/validatorRegistry.algo.ts:317", + "teal": 568, + "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 582 + 581 ] }, { "teal": 571, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 583 + 582, + 583, + 584 ] }, { - "teal": 574, + "teal": 572, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 584, - 585, - 586 + 585 ] }, { "teal": 575, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 587 + 586, + 587, + 588 ] }, { - "teal": 578, + "teal": 576, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 588, - 589, - 590 + 589 ] }, { "teal": 579, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 591 + 590, + 591, + 592 ] }, { - "teal": 582, + "teal": 580, + "source": "examples/reti/validatorRegistry.algo.ts:334", + "pc": [ + 593 + ] + }, + { + "teal": 581, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 592, - 593, 594 ] }, { - "teal": 583, + "teal": 582, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 595 ] }, { - "teal": 584, + "teal": 583, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 596 ] }, { - "teal": 585, + "teal": 584, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 597 ] }, { - "teal": 586, + "teal": 588, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 598 + 598, + 599, + 600 ] }, { - "teal": 587, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 595, + "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 599 + 601, + 602 ] }, { - "teal": 591, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 596, + "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 600, - 601, - 602 + 603 ] }, { - "teal": 598, + "teal": 597, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 603, 604 ] }, { - "teal": 599, + "teal": 598, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 605 ] }, { - "teal": 600, + "teal": 599, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 606 + 606, + 607, + 608 ] }, { - "teal": 601, + "teal": 600, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 607 + 609, + 610 ] }, { - "teal": 602, + "teal": 601, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 608, - 609, - 610 + 611 ] }, { - "teal": 603, + "teal": 602, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 611, 612 ] }, { - "teal": 604, + "teal": 603, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 613 ] }, { - "teal": 605, - "source": "examples/reti/validatorRegistry.algo.ts:336", + "teal": 607, + "source": "examples/reti/validatorRegistry.algo.ts:335", + "errorMessage": "pool id must be between 1 and number of pools for this validator", "pc": [ 614 ] }, { - "teal": 606, - "source": "examples/reti/validatorRegistry.algo.ts:336", + "teal": 611, + "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 615 + 615, + 616 ] }, { - "teal": 610, - "source": "examples/reti/validatorRegistry.algo.ts:335", - "errorMessage": "pool id must be between 1 and number of pools for this validator", + "teal": 612, + "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 616 + 617, + 618 + ] + }, + { + "teal": 613, + "source": "examples/reti/validatorRegistry.algo.ts:339", + "pc": [ + 619 ] }, { "teal": 614, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 617, - 618 + 620 ] }, { "teal": 615, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 619, - 620 + 621, + 622 ] }, { "teal": 616, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 621 + 623 ] }, { "teal": 617, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 622 + 624 ] }, { "teal": 618, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 623, - 624 + 625 ] }, { "teal": 619, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 625 + 626 ] }, { "teal": 620, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 626 + 627 ] }, { "teal": 621, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 627 + 628 ] }, { "teal": 622, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 628 + 629, + 630 ] }, { "teal": 623, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 629 + 631 ] }, { "teal": 624, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 630 + 632 ] }, { "teal": 625, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 631, - 632 + 633, + 634 ] }, { "teal": 626, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 633 + 635 ] }, { "teal": 627, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 634 - ] - }, - { - "teal": 628, - "source": "examples/reti/validatorRegistry.algo.ts:339", - "pc": [ - 635, 636 ] }, { - "teal": 629, - "source": "examples/reti/validatorRegistry.algo.ts:339", + "teal": 628, + "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 637 ] }, { - "teal": 630, - "source": "examples/reti/validatorRegistry.algo.ts:339", + "teal": 633, + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 638 ] }, { - "teal": 631, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 636, + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 639 + 639, + 640, + 641 ] }, { - "teal": 636, + "teal": 637, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 640 + 642 ] }, { - "teal": 639, + "teal": 638, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 641, - 642, 643 ] }, { - "teal": 640, + "teal": 639, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 644 ] }, { - "teal": 641, + "teal": 640, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 645 ] }, { - "teal": 642, + "teal": 643, "source": "examples/reti/validatorRegistry.algo.ts:343", + "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)", "pc": [ 646 ] }, { - "teal": 643, + "teal": 646, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 647 + 647, + 648, + 649 ] }, { - "teal": 646, + "teal": 647, "source": "examples/reti/validatorRegistry.algo.ts:343", - "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)", "pc": [ - 648 + 650 ] }, { - "teal": 649, + "teal": 648, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 649, - 650, 651 ] }, { - "teal": 650, + "teal": 649, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 652 ] }, { - "teal": 651, + "teal": 650, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 653 ] }, { - "teal": 652, + "teal": 654, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 654 + 654, + 655, + 656 ] }, { - "teal": 653, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 658, + "source": "examples/reti/validatorRegistry.algo.ts:344", + "pc": [ + 657, + 658 + ] + }, + { + "teal": 659, + "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 655 + 659, + 660 ] }, { - "teal": 657, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 660, + "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 656, - 657, - 658 + 661, + 662, + 663 ] }, { "teal": 661, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 659, - 660 + 664 ] }, { "teal": 662, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 661, - 662 + 665 ] }, { "teal": 663, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 663, - 664, - 665 + 666 ] }, { "teal": 664, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 666 + 667, + 668 ] }, { "teal": 665, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 667 + 669 ] }, { "teal": 666, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 668 + 670 ] }, { "teal": 667, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 669, - 670 + 671, + 672 ] }, { "teal": 668, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 671 + 673 ] }, { "teal": 669, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 672 + 674, + 675 ] }, { "teal": 670, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 673, - 674 + 676, + 677, + 678 ] }, { "teal": 671, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 675 + 679 ] }, { "teal": 672, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 676, - 677 + 680 ] }, { "teal": 673, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 678, - 679, - 680 + 681 ] }, { "teal": 674, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 681 + 682, + 683 ] }, { "teal": 675, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 682 + 684 ] }, { "teal": 676, - "source": "examples/reti/validatorRegistry.algo.ts:344", - "pc": [ - 683 - ] - }, - { - "teal": 677, - "source": "examples/reti/validatorRegistry.algo.ts:344", + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 684, 685 ] }, { - "teal": 678, - "source": "examples/reti/validatorRegistry.algo.ts:344", + "teal": 681, + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 686 ] }, { - "teal": 679, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 684, + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 687 + 687, + 688, + 689 ] }, { - "teal": 684, + "teal": 685, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 688 + 690 ] }, { - "teal": 687, + "teal": 688, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 689, - 690, - 691 + 691, + 692, + 693 ] }, { - "teal": 688, + "teal": 689, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 692 + 694 ] }, { - "teal": 691, + "teal": 690, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 693, - 694, 695 ] }, { - "teal": 692, + "teal": 691, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 696 ] }, { - "teal": 693, + "teal": 692, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 697 ] }, { - "teal": 694, + "teal": 693, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 698 ] }, { - "teal": 695, - "source": "examples/reti/validatorRegistry.algo.ts:354", - "pc": [ - 699 - ] - }, - { - "teal": 696, + "teal": 703, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 700 + 699, + 700, + 701 ] }, { "teal": 706, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 701, - 702, - 703 + 702 ] }, { - "teal": 709, + "teal": 707, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ + 703, 704 ] }, { - "teal": 710, - "source": "examples/reti/validatorRegistry.algo.ts:354", + "teal": 711, + "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 705, 706 ] }, { - "teal": 714, + "teal": 712, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 707, @@ -4161,229 +4161,229 @@ ] }, { - "teal": 715, + "teal": 713, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 709, - 710 + 709 ] }, { - "teal": 716, + "teal": 714, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 710, 711 ] }, { - "teal": 717, + "teal": 715, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 712, - 713 + 712 ] }, { - "teal": 718, + "teal": 716, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 714 + 713 ] }, { - "teal": 719, + "teal": 717, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 714, 715 ] }, { - "teal": 720, + "teal": 718, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 716, - 717 + 716 ] }, { - "teal": 721, + "teal": 719, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 718 + 717 ] }, { - "teal": 722, + "teal": 720, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 718, 719 ] }, { - "teal": 723, - "source": "examples/reti/validatorRegistry.algo.ts:355", + "teal": 724, + "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 720, - 721 + 721, + 722 ] }, { - "teal": 727, + "teal": 725, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ - 722, 723, 724 ] }, { - "teal": 728, + "teal": 726, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ - 725, - 726 + 725 ] }, { - "teal": 729, + "teal": 727, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ + 726, 727 ] }, { - "teal": 730, - "source": "examples/reti/validatorRegistry.algo.ts:356", + "teal": 731, + "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 728, - 729 + 729, + 730 ] }, { - "teal": 734, + "teal": 732, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 730, - 731, - 732 + 731 ] }, { - "teal": 735, + "teal": 733, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 733 + 732 ] }, { - "teal": 736, + "teal": 734, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 733, 734 ] }, { - "teal": 737, + "teal": 735, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 735, - 736 + 735 ] }, { - "teal": 738, + "teal": 736, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 737 + 736 ] }, { - "teal": 739, + "teal": 737, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 737, 738 ] }, { - "teal": 740, + "teal": 738, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 739, - 740 + 739 ] }, { - "teal": 741, + "teal": 739, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 741 + 740 ] }, { - "teal": 742, + "teal": 740, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 741, 742 ] }, { - "teal": 743, - "source": "examples/reti/validatorRegistry.algo.ts:357", + "teal": 745, + "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 743, 744 ] }, { - "teal": 748, + "teal": 746, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 745, - 746 + 745 ] }, { - "teal": 749, + "teal": 747, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 747 + 746 ] }, { - "teal": 750, + "teal": 748, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 748 + 747, + 748, + 749 ] }, { - "teal": 751, - "source": "examples/reti/validatorRegistry.algo.ts:358", + "teal": 753, + "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ - 749, 750, - 751 + 751, + 752 ] }, { - "teal": 756, + "teal": 754, "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ - 752, 753, 754 ] }, { - "teal": 757, - "source": "examples/reti/validatorRegistry.algo.ts:359", + "teal": 760, + "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 755, 756 ] }, { - "teal": 763, + "teal": 761, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 757, @@ -4391,31 +4391,31 @@ ] }, { - "teal": 764, + "teal": 762, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ - 759, - 760 + 759 ] }, { - "teal": 765, + "teal": 763, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ - 761 + 760, + 761, + 762 ] }, { - "teal": 766, - "source": "examples/reti/validatorRegistry.algo.ts:361", + "teal": 768, + "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ - 762, 763, 764 ] }, { - "teal": 771, + "teal": 769, "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ 765, @@ -4423,8 +4423,8 @@ ] }, { - "teal": 772, - "source": "examples/reti/validatorRegistry.algo.ts:362", + "teal": 774, + "source": "examples/reti/validatorRegistry.algo.ts:364", "pc": [ 767, 768 @@ -4432,7 +4432,7 @@ }, { "teal": 777, - "source": "examples/reti/validatorRegistry.algo.ts:364", + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 769, 770 @@ -4447,522 +4447,522 @@ ] }, { - "teal": 783, + "teal": 781, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 773, - 774 + 773 ] }, { - "teal": 784, - "source": "examples/reti/validatorRegistry.algo.ts:354", + "teal": 786, + "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 775 + 774 ] }, { "teal": 789, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 776 + 775, + 776, + 777 ] }, { - "teal": 792, + "teal": 790, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 777, - 778, - 779 + 778 ] }, { - "teal": 793, + "teal": 791, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 780 + 779 ] }, { - "teal": 794, + "teal": 792, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ + 780, 781 ] }, { - "teal": 795, + "teal": 793, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 782, - 783 + 782 ] }, { "teal": 796, "source": "examples/reti/validatorRegistry.algo.ts:372", + "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address", "pc": [ - 784 + 783 ] }, { "teal": 799, "source": "examples/reti/validatorRegistry.algo.ts:372", - "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address", "pc": [ - 785 + 784, + 785, + 786 ] }, { - "teal": 802, + "teal": 800, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 786, 787, 788 ] }, { - "teal": 803, + "teal": 801, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 789, - 790 + 789 ] }, { - "teal": 804, + "teal": 802, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ + 790, 791 ] }, { - "teal": 805, + "teal": 803, + "source": "examples/reti/validatorRegistry.algo.ts:372", + "pc": [ + 792 + ] + }, + { + "teal": 804, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 792, 793 ] }, { - "teal": 806, + "teal": 805, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 794 ] }, { - "teal": 807, + "teal": 806, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 795 ] }, { - "teal": 808, + "teal": 807, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 796 ] }, { - "teal": 809, + "teal": 814, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 797 + 797, + 798, + 799 ] }, { - "teal": 810, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 818, + "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 798 + 800 ] }, { - "teal": 817, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 819, + "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 799, - 800, - 801 + 801, + 802 ] }, { - "teal": 821, + "teal": 820, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 802 + 803 ] }, { - "teal": 822, + "teal": 821, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 803, 804 ] }, { - "teal": 823, + "teal": 822, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 805 ] }, { - "teal": 824, + "teal": 823, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 806 ] }, { - "teal": 825, + "teal": 824, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 807 ] }, { - "teal": 826, - "source": "examples/reti/validatorRegistry.algo.ts:373", + "teal": 825, + "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 808 ] }, { - "teal": 827, - "source": "examples/reti/validatorRegistry.algo.ts:373", + "teal": 830, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 809 ] }, { - "teal": 828, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 833, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 810 + 810, + 811, + 812 ] }, { - "teal": 833, + "teal": 834, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 811 + 813 ] }, { - "teal": 836, + "teal": 835, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 812, - 813, 814 ] }, { - "teal": 837, + "teal": 836, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 815 + 815, + 816 ] }, { - "teal": 838, + "teal": 837, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 816 + 817 ] }, { - "teal": 839, + "teal": 840, "source": "examples/reti/validatorRegistry.algo.ts:382", + "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address", "pc": [ - 817, 818 ] }, { - "teal": 840, + "teal": 843, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 819 + 819, + 820, + 821 ] }, { - "teal": 843, + "teal": 844, "source": "examples/reti/validatorRegistry.algo.ts:382", - "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address", "pc": [ - 820 + 822 ] }, { - "teal": 846, + "teal": 845, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 821, - 822, 823 ] }, { - "teal": 847, + "teal": 846, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 824 ] }, { - "teal": 848, + "teal": 847, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 825 ] }, { - "teal": 849, + "teal": 848, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 826 ] }, { - "teal": 850, + "teal": 849, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 827 + 827, + 828, + 829 ] }, { - "teal": 851, + "teal": 850, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 828 + 830 ] }, { - "teal": 852, + "teal": 851, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 829, - 830, 831 ] }, { - "teal": 853, + "teal": 852, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 832 ] }, { - "teal": 854, + "teal": 853, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 833 ] }, { - "teal": 855, + "teal": 854, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 834 ] }, { - "teal": 856, + "teal": 855, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 835 ] }, { - "teal": 857, - "source": "examples/reti/validatorRegistry.algo.ts:382", - "pc": [ - 836 - ] - }, - { - "teal": 858, + "teal": 864, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 837 + 836, + 837, + 838 ] }, { "teal": 867, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 838, - 839, - 840 + 839 ] }, { - "teal": 870, + "teal": 868, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ + 840, 841 ] }, { - "teal": 871, - "source": "examples/reti/validatorRegistry.algo.ts:382", + "teal": 873, + "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 842, - 843 + 842 ] }, { - "teal": 876, + "teal": 874, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ + 843, 844 ] }, { - "teal": 877, + "teal": 875, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 845, - 846 + 845 ] }, { - "teal": 878, + "teal": 876, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 847 + 846 ] }, { - "teal": 879, + "teal": 877, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 848 + 847 ] }, { - "teal": 880, + "teal": 878, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 849 + 848 ] }, { - "teal": 881, + "teal": 879, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 850 + 849 ] }, { - "teal": 882, + "teal": 880, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 851 + 850, + 851, + 852 ] }, { - "teal": 883, - "source": "examples/reti/validatorRegistry.algo.ts:383", + "teal": 885, + "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ - 852, - 853, - 854 + 853 ] }, { - "teal": 888, + "teal": 886, "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ - 855 + 854, + 855, + 856 ] }, { - "teal": 889, - "source": "examples/reti/validatorRegistry.algo.ts:384", + "teal": 891, + "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ - 856, - 857, - 858 + 857 ] }, { - "teal": 894, + "teal": 892, "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ + 858, 859 ] }, { - "teal": 895, - "source": "examples/reti/validatorRegistry.algo.ts:386", + "teal": 896, + "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 860, - 861 + 860 ] }, { - "teal": 899, + "teal": 897, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ + 861, 862 ] }, { - "teal": 900, + "teal": 898, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 863, - 864 + 863 ] }, { - "teal": 901, + "teal": 899, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 865 + 864 ] }, { "teal": 902, "source": "examples/reti/validatorRegistry.algo.ts:387", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 866 + 865 ] }, { - "teal": 905, + "teal": 903, "source": "examples/reti/validatorRegistry.algo.ts:387", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 866, 867 ] }, { - "teal": 906, - "source": "examples/reti/validatorRegistry.algo.ts:387", + "teal": 907, + "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 868, - 869 + 868 ] }, { - "teal": 910, + "teal": 908, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ + 869, 870 ] }, { - "teal": 911, + "teal": 913, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 871, @@ -4970,7 +4970,7 @@ ] }, { - "teal": 916, + "teal": 914, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 873, @@ -4978,31 +4978,31 @@ ] }, { - "teal": 917, + "teal": 915, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 875, - 876 + 875 ] }, { - "teal": 918, + "teal": 916, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 877 + 876, + 877, + 878 ] }, { - "teal": 919, - "source": "examples/reti/validatorRegistry.algo.ts:388", + "teal": 921, + "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 878, 879, 880 ] }, { - "teal": 924, + "teal": 922, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 881, @@ -5010,87 +5010,87 @@ ] }, { - "teal": 925, + "teal": 923, + "source": "examples/reti/validatorRegistry.algo.ts:389", + "pc": [ + 883 + ] + }, + { + "teal": 924, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 883, 884 ] }, { - "teal": 926, + "teal": 925, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 885 ] }, { - "teal": 927, + "teal": 926, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 886 ] }, { - "teal": 928, + "teal": 927, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 887 ] }, { - "teal": 929, + "teal": 928, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 888 ] }, { - "teal": 930, + "teal": 929, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 889 ] }, { - "teal": 931, + "teal": 930, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 890 ] }, { - "teal": 932, + "teal": 931, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 891 ] }, { - "teal": 933, - "source": "examples/reti/validatorRegistry.algo.ts:389", - "pc": [ - 892 - ] - }, - { - "teal": 934, + "teal": 932, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 893 + 892, + 893, + 894 ] }, { - "teal": 935, - "source": "examples/reti/validatorRegistry.algo.ts:389", + "teal": 937, + "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 894, 895, 896 ] }, { - "teal": 940, + "teal": 938, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 897, @@ -5098,7 +5098,7 @@ ] }, { - "teal": 941, + "teal": 939, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 899, @@ -5106,98 +5106,98 @@ ] }, { - "teal": 942, + "teal": 940, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 901, - 902 + 901 ] }, { - "teal": 943, + "teal": 941, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 903 + 902 ] }, { - "teal": 944, + "teal": 942, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 904 + 903 ] }, { - "teal": 945, + "teal": 943, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 905 + 904 ] }, { - "teal": 946, + "teal": 944, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 906 + 905 ] }, { - "teal": 947, + "teal": 945, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ + 906, 907 ] }, { - "teal": 948, - "source": "examples/reti/validatorRegistry.algo.ts:390", + "teal": 952, + "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 908, 909 ] }, { - "teal": 955, + "teal": 953, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 910, - 911 + 910 ] }, { - "teal": 956, + "teal": 954, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 912 + 911 ] }, { - "teal": 957, + "teal": 955, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ + 912, 913 ] }, { - "teal": 958, + "teal": 956, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 914, - 915 + 915, + 916 ] }, { - "teal": 959, - "source": "examples/reti/validatorRegistry.algo.ts:388", + "teal": 961, + "source": "examples/reti/validatorRegistry.algo.ts:393", "pc": [ - 916, 917, 918 ] }, { - "teal": 964, - "source": "examples/reti/validatorRegistry.algo.ts:393", + "teal": 965, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 919, 920 @@ -5212,91 +5212,91 @@ ] }, { - "teal": 971, + "teal": 969, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 923, - 924 + 923 ] }, { - "teal": 972, - "source": "examples/reti/validatorRegistry.algo.ts:382", + "teal": 974, + "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 925 + 924 ] }, { "teal": 977, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 926 + 925, + 926, + 927 ] }, { - "teal": 980, + "teal": 978, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 927, - 928, - 929 + 928 ] }, { "teal": 981, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 930 + 929, + 930, + 931 ] }, { - "teal": 984, + "teal": 982, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 931, - 932, - 933 + 932 ] }, { - "teal": 985, + "teal": 983, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 934 + 933 ] }, { - "teal": 986, + "teal": 984, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 935 + 934 ] }, { - "teal": 987, + "teal": 985, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 936 + 935 ] }, { - "teal": 988, + "teal": 995, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 937 + 936, + 937, + 938 ] }, { - "teal": 998, - "source": "examples/reti/validatorRegistry.algo.ts:404", + "teal": 999, + "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 938, 939, 940 ] }, { - "teal": 1002, + "teal": 1000, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 941, @@ -5304,193 +5304,193 @@ ] }, { - "teal": 1003, + "teal": 1001, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 943, - 944 + 943 ] }, { - "teal": 1004, + "teal": 1002, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ + 944, 945 ] }, { - "teal": 1005, + "teal": 1003, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 946, - 947 + 946 ] }, { - "teal": 1006, + "teal": 1004, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 948 + 947 ] }, { - "teal": 1007, + "teal": 1005, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ + 948, 949 ] }, { - "teal": 1008, + "teal": 1006, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 950, - 951 + 950 ] }, { - "teal": 1009, - "source": "examples/reti/validatorRegistry.algo.ts:405", - "pc": [ - 952 + "teal": 1007, + "source": "examples/reti/validatorRegistry.algo.ts:404", + "pc": [ + 951 ] }, { - "teal": 1010, - "source": "examples/reti/validatorRegistry.algo.ts:404", + "teal": 1012, + "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 953 + 952 ] }, { "teal": 1015, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 954 + 953, + 954, + 955 ] }, { - "teal": 1018, + "teal": 1016, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 955, - 956, - 957 + 956 ] }, { "teal": 1019, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 958 + 957, + 958, + 959 ] }, { - "teal": 1022, + "teal": 1020, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 959, - 960, - 961 + 960 ] }, { - "teal": 1023, + "teal": 1021, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 962 + 961 ] }, { - "teal": 1024, + "teal": 1022, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 963 + 962 ] }, { - "teal": 1025, + "teal": 1023, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 964 + 963 ] }, { - "teal": 1026, + "teal": 1027, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 965 + 964, + 965, + 966 ] }, { - "teal": 1030, - "source": "examples/reti/validatorRegistry.algo.ts:409", + "teal": 1031, + "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 966, - 967, - 968 + 967 ] }, { - "teal": 1034, + "teal": 1032, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ + 968, 969 ] }, { - "teal": 1035, + "teal": 1033, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 970, - 971 + 970 ] }, { - "teal": 1036, + "teal": 1034, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 972 + 971 ] }, { - "teal": 1037, + "teal": 1035, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 973 + 972 ] }, { - "teal": 1038, + "teal": 1036, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 974 + 973 ] }, { - "teal": 1039, + "teal": 1037, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 975 + 974 ] }, { "teal": 1040, "source": "examples/reti/validatorRegistry.algo.ts:410", + "errorMessage": "the specified validator id doesn't exist", "pc": [ - 976 + 975 ] }, { - "teal": 1043, - "source": "examples/reti/validatorRegistry.algo.ts:410", - "errorMessage": "the specified validator id doesn't exist", + "teal": 1044, + "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 976, 977 ] }, { - "teal": 1047, + "teal": 1045, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 978, @@ -5498,426 +5498,426 @@ ] }, { - "teal": 1048, + "teal": 1046, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 980, - 981 + 980 ] }, { - "teal": 1049, + "teal": 1047, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 981, 982 ] }, { - "teal": 1050, + "teal": 1048, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 983, - 984 + 983 ] }, { - "teal": 1051, + "teal": 1049, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 985 + 984 ] }, { - "teal": 1052, + "teal": 1050, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 985, 986 ] }, { - "teal": 1053, + "teal": 1051, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 987, - 988 + 987 ] }, { - "teal": 1054, - "source": "examples/reti/validatorRegistry.algo.ts:412", + "teal": 1052, + "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 989 + 988 ] }, { - "teal": 1055, - "source": "examples/reti/validatorRegistry.algo.ts:409", + "teal": 1057, + "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 990 + 989 ] }, { "teal": 1060, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 991 + 990, + 991, + 992 ] }, { - "teal": 1063, + "teal": 1061, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 992, - 993, - 994 + 993 ] }, { - "teal": 1064, + "teal": 1062, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 995 + 994 ] }, { - "teal": 1065, + "teal": 1063, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 996 + 995 ] }, { - "teal": 1066, + "teal": 1064, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 997 + 996 ] }, { - "teal": 1067, + "teal": 1065, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 998 + 997 ] }, { - "teal": 1068, + "teal": 1069, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 999 + 998, + 999, + 1000 ] }, { - "teal": 1072, - "source": "examples/reti/validatorRegistry.algo.ts:415", + "teal": 1073, + "source": "examples/reti/validatorRegistry.algo.ts:416", "pc": [ - 1000, 1001, 1002 ] }, { - "teal": 1076, - "source": "examples/reti/validatorRegistry.algo.ts:416", + "teal": 1074, + "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 1003, - 1004 + 1003 ] }, { - "teal": 1077, - "source": "examples/reti/validatorRegistry.algo.ts:415", + "teal": 1079, + "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1005 + 1004 ] }, { "teal": 1082, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1006 + 1005, + 1006, + 1007 ] }, { - "teal": 1085, + "teal": 1083, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1007, - 1008, - 1009 + 1008 ] }, { - "teal": 1086, + "teal": 1084, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1010 + 1009 ] }, { - "teal": 1087, + "teal": 1085, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ + 1010, 1011 ] }, { - "teal": 1088, + "teal": 1086, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1012, - 1013 + 1012 ] }, { "teal": 1089, "source": "examples/reti/validatorRegistry.algo.ts:427", + "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "pc": [ - 1014 + 1013 ] }, { "teal": 1092, "source": "examples/reti/validatorRegistry.algo.ts:427", - "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "pc": [ - 1015 + 1014, + 1015, + 1016 ] }, { - "teal": 1095, + "teal": 1093, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1016, 1017, - 1018 + 1018, + 1019 ] }, { "teal": 1096, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1019, 1020, 1021 ] }, { - "teal": 1099, + "teal": 1097, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1022, - 1023 + 1022 ] }, { - "teal": 1100, + "teal": 1098, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1024 + 1023 ] }, { - "teal": 1101, + "teal": 1099, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1025 + 1024 ] }, { - "teal": 1102, + "teal": 1100, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ + 1025, 1026 ] }, { - "teal": 1103, + "teal": 1101, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1027, - 1028 + 1027 ] }, { - "teal": 1104, + "teal": 1102, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1029 + 1028 ] }, { "teal": 1105, "source": "examples/reti/validatorRegistry.algo.ts:427", + "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction", "pc": [ - 1030 + 1029 ] }, { "teal": 1108, "source": "examples/reti/validatorRegistry.algo.ts:427", - "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction", "pc": [ - 1031 + 1030, + 1031, + 1032 ] }, { - "teal": 1111, + "teal": 1109, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1032, - 1033, - 1034 + 1033 ] }, { - "teal": 1112, + "teal": 1110, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1035 + 1034 ] }, { - "teal": 1113, + "teal": 1111, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1036 + 1035 ] }, { - "teal": 1114, + "teal": 1112, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1037 + 1036 ] }, { - "teal": 1115, + "teal": 1113, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1038 + 1037 ] }, { - "teal": 1116, + "teal": 1125, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1039 + 1038, + 1039, + 1040 ] }, { "teal": 1128, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1040, - 1041, - 1042 + 1041 ] }, { - "teal": 1131, - "source": "examples/reti/validatorRegistry.algo.ts:427", + "teal": 1132, + "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ + 1042, 1043 ] }, { - "teal": 1135, + "teal": 1133, "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ 1044, - 1045 + 1045, + 1046 ] }, { - "teal": 1136, - "source": "examples/reti/validatorRegistry.algo.ts:428", + "teal": 1137, + "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1046, 1047, 1048 ] }, { - "teal": 1140, + "teal": 1138, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1049, - 1050 + 1050, + 1051 ] }, { - "teal": 1141, + "teal": 1139, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1051, 1052, 1053 ] }, { - "teal": 1142, + "teal": 1140, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1054, - 1055 + 1054 ] }, { - "teal": 1143, + "teal": 1141, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1056 + 1055 ] }, { - "teal": 1144, - "source": "examples/reti/validatorRegistry.algo.ts:429", + "teal": 1145, + "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ + 1056, 1057 ] }, { - "teal": 1148, + "teal": 1146, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1058, - 1059 + 1059, + 1060 ] }, { - "teal": 1149, + "teal": 1147, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1060, 1061, 1062 ] }, { - "teal": 1150, + "teal": 1148, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1063, - 1064 + 1063 ] }, { - "teal": 1151, + "teal": 1149, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1065 + 1064 ] }, { - "teal": 1152, - "source": "examples/reti/validatorRegistry.algo.ts:430", + "teal": 1153, + "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ + 1065, 1066 ] }, { - "teal": 1156, + "teal": 1154, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1067, @@ -5925,39 +5925,39 @@ ] }, { - "teal": 1157, + "teal": 1155, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1069, - 1070 + 1070, + 1071 ] }, { - "teal": 1158, + "teal": 1156, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ - 1071, - 1072, - 1073 + 1072 ] }, { "teal": 1159, "source": "examples/reti/validatorRegistry.algo.ts:431", + "errorMessage": "sender must be owner to add new validator", "pc": [ - 1074 + 1073 ] }, { - "teal": 1162, - "source": "examples/reti/validatorRegistry.algo.ts:431", - "errorMessage": "sender must be owner to add new validator", + "teal": 1164, + "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ + 1074, 1075 ] }, { - "teal": 1167, + "teal": 1165, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1076, @@ -5965,55 +5965,55 @@ ] }, { - "teal": 1168, + "teal": 1166, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1078, - 1079 + 1079, + 1080 ] }, { - "teal": 1169, + "teal": 1167, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1080, 1081, - 1082 + 1082, + 1083 ] }, { - "teal": 1170, + "teal": 1168, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1083, - 1084, - 1085 + 1084 ] }, { - "teal": 1171, + "teal": 1169, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1086 + 1085 ] }, { "teal": 1172, "source": "examples/reti/validatorRegistry.algo.ts:433", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}", "pc": [ - 1087 + 1086 ] }, { - "teal": 1175, - "source": "examples/reti/validatorRegistry.algo.ts:433", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}", + "teal": 1176, + "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ + 1087, 1088 ] }, { - "teal": 1179, + "teal": 1177, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1089, @@ -6021,78 +6021,78 @@ ] }, { - "teal": 1180, + "teal": 1178, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1091, - 1092 + 1092, + 1093, + 1094, + 1095 ] }, { - "teal": 1181, + "teal": 1179, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ - 1093, - 1094, - 1095, - 1096, - 1097 + 1096 ] }, { "teal": 1182, "source": "examples/reti/validatorRegistry.algo.ts:435", + "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators", "pc": [ - 1098 + 1097 ] }, { - "teal": 1185, - "source": "examples/reti/validatorRegistry.algo.ts:435", - "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators", + "teal": 1186, + "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ + 1098, 1099 ] }, { - "teal": 1189, + "teal": 1187, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1100, - 1101 + 1100 ] }, { - "teal": 1190, + "teal": 1188, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1102 + 1101 ] }, { - "teal": 1191, + "teal": 1189, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1103 + 1102 ] }, { - "teal": 1192, + "teal": 1190, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ + 1103, 1104 ] }, { - "teal": 1193, - "source": "examples/reti/validatorRegistry.algo.ts:438", + "teal": 1194, + "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1105, 1106 ] }, { - "teal": 1197, + "teal": 1195, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1107, @@ -6100,253 +6100,253 @@ ] }, { - "teal": 1198, + "teal": 1196, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ - 1109, - 1110 + 1109 ] }, { - "teal": 1199, - "source": "examples/reti/validatorRegistry.algo.ts:439", + "teal": 1200, + "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1111 + 1110 ] }, { - "teal": 1203, + "teal": 1201, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ + 1111, 1112 ] }, { - "teal": 1204, + "teal": 1202, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1113, - 1114 + 1113 ] }, { - "teal": 1205, + "teal": 1203, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1115 + 1114 ] }, { - "teal": 1206, + "teal": 1204, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1116 + 1115, + 1116, + 1117 ] }, { - "teal": 1207, + "teal": 1205, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1117, - 1118, - 1119 + 1118 ] }, { - "teal": 1208, + "teal": 1206, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1120 + 1119 ] }, { - "teal": 1209, - "source": "examples/reti/validatorRegistry.algo.ts:441", + "teal": 1210, + "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1121 + 1120 ] }, { - "teal": 1213, + "teal": 1211, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1121, 1122 ] }, { - "teal": 1214, + "teal": 1212, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1123, - 1124 + 1123 ] }, { - "teal": 1215, + "teal": 1213, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1124, 1125 ] }, { - "teal": 1216, + "teal": 1214, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1126, - 1127 + 1126 ] }, { - "teal": 1217, + "teal": 1215, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1128 + 1127 ] }, { - "teal": 1218, + "teal": 1216, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1128, 1129 ] }, { - "teal": 1219, + "teal": 1217, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1130, - 1131 + 1130 ] }, { - "teal": 1220, - "source": "examples/reti/validatorRegistry.algo.ts:442", + "teal": 1221, + "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1132 + 1131 ] }, { - "teal": 1224, + "teal": 1222, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1132, 1133 ] }, { - "teal": 1225, + "teal": 1223, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1134, - 1135 + 1134 ] }, { - "teal": 1226, + "teal": 1224, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1136 + 1135 ] }, { - "teal": 1227, + "teal": 1225, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1136, 1137 ] }, { - "teal": 1228, + "teal": 1226, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1138, - 1139 + 1138 ] }, { - "teal": 1229, + "teal": 1227, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1140 + 1139 ] }, { - "teal": 1230, + "teal": 1228, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1140, 1141 ] }, { - "teal": 1231, + "teal": 1229, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1142, - 1143 + 1142 ] }, { - "teal": 1232, - "source": "examples/reti/validatorRegistry.algo.ts:443", + "teal": 1234, + "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ + 1143, 1144 ] }, { - "teal": 1237, + "teal": 1235, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1145, - 1146 + 1146, + 1147 ] }, { - "teal": 1238, + "teal": 1236, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1147, - 1148, - 1149 + 1148 ] }, { - "teal": 1239, + "teal": 1237, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1150 + 1149 ] }, { - "teal": 1240, + "teal": 1238, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1151 + 1150 ] }, { - "teal": 1241, + "teal": 1239, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1152 + 1151, + 1152, + 1153 ] }, { - "teal": 1242, - "source": "examples/reti/validatorRegistry.algo.ts:446", + "teal": 1248, + "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1153, - 1154, - 1155 + 1154 ] }, { - "teal": 1251, + "teal": 1249, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ + 1155, 1156 ] }, { - "teal": 1252, + "teal": 1250, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1157, @@ -6354,15 +6354,15 @@ ] }, { - "teal": 1253, - "source": "examples/reti/validatorRegistry.algo.ts:448", + "teal": 1254, + "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1159, 1160 ] }, { - "teal": 1257, + "teal": 1255, "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1161, @@ -6370,15 +6370,15 @@ ] }, { - "teal": 1258, - "source": "examples/reti/validatorRegistry.algo.ts:449", + "teal": 1259, + "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1163, 1164 ] }, { - "teal": 1262, + "teal": 1260, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1165, @@ -6386,7 +6386,7 @@ ] }, { - "teal": 1263, + "teal": 1261, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1167, @@ -6394,7 +6394,7 @@ ] }, { - "teal": 1264, + "teal": 1262, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1169, @@ -6402,7 +6402,7 @@ ] }, { - "teal": 1265, + "teal": 1263, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1171, @@ -6410,80 +6410,80 @@ ] }, { - "teal": 1266, + "teal": 1264, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1173, - 1174 + 1174, + 1175 ] }, { - "teal": 1267, + "teal": 1265, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ - 1175, - 1176, - 1177 + 1176 ] }, { - "teal": 1268, + "teal": 1266, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ - 1178 + 1177 ] }, { - "teal": 1269, + "teal": 1267, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ + 1178, 1179 ] }, { - "teal": 1270, - "source": "examples/reti/validatorRegistry.algo.ts:450", + "teal": 1271, + "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1180, 1181 ] }, { - "teal": 1274, + "teal": 1272, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1182, - 1183 + 1183, + 1184 ] }, { - "teal": 1275, + "teal": 1273, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ - 1184, - 1185, - 1186 + 1185 ] }, { - "teal": 1276, + "teal": 1274, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ + 1186, 1187 ] }, { "teal": 1277, - "source": "examples/reti/validatorRegistry.algo.ts:451", + "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1188, - 1189 + 1188 ] }, { - "teal": 1280, + "teal": 1278, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ + 1189, 1190 ] }, @@ -6491,56 +6491,56 @@ "teal": 1281, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1191, - 1192 + 1191 ] }, { - "teal": 1284, - "source": "examples/reti/validatorRegistry.algo.ts:448", + "teal": 1285, + "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ + 1192, 1193 ] }, { - "teal": 1288, + "teal": 1286, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1194, - 1195 + 1194 ] }, { - "teal": 1289, + "teal": 1287, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1196 + 1195 ] }, { - "teal": 1290, + "teal": 1288, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1197 + 1196 ] }, { "teal": 1291, "source": "examples/reti/validatorRegistry.algo.ts:453", + "errorMessage": "provided NFD isn't valid", "pc": [ - 1198 + 1197 ] }, { - "teal": 1294, - "source": "examples/reti/validatorRegistry.algo.ts:453", - "errorMessage": "provided NFD isn't valid", + "teal": 1298, + "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ + 1198, 1199 ] }, { - "teal": 1301, + "teal": 1299, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1200, @@ -6548,419 +6548,419 @@ ] }, { - "teal": 1302, + "teal": 1300, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1202, - 1203 + 1203, + 1204 ] }, { - "teal": 1303, + "teal": 1301, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ - 1204, - 1205, - 1206 + 1205 ] }, { - "teal": 1304, + "teal": 1302, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ + 1206, 1207 ] }, { - "teal": 1305, + "teal": 1303, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ - 1208, - 1209 + 1208 ] }, { "teal": 1306, "source": "examples/reti/validatorRegistry.algo.ts:456", + "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')", "pc": [ - 1210 + 1209 ] }, { - "teal": 1309, + "teal": 1307, "source": "examples/reti/validatorRegistry.algo.ts:456", - "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')", "pc": [ - 1211 + 1210 ] }, { "teal": 1310, - "source": "examples/reti/validatorRegistry.algo.ts:456", + "source": "examples/reti/validatorRegistry.algo.ts:455", + "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ - 1212 + 1211 ] }, { - "teal": 1313, - "source": "examples/reti/validatorRegistry.algo.ts:455", - "errorMessage": "If specifying NFD, account adding validator must be owner", + "teal": 1317, + "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ + 1212, 1213 ] }, { - "teal": 1320, + "teal": 1318, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1214, - 1215 + 1215, + 1216 ] }, { - "teal": 1321, + "teal": 1319, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1216, - 1217, - 1218 + 1217 ] }, { - "teal": 1322, + "teal": 1320, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ + 1218, 1219 ] }, { - "teal": 1323, + "teal": 1321, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1220, - 1221 + 1220 ] }, { - "teal": 1324, + "teal": 1322, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1222 + 1221 ] }, { - "teal": 1325, + "teal": 1323, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1223 + 1222, + 1223, + 1224 ] }, { - "teal": 1326, - "source": "examples/reti/validatorRegistry.algo.ts:461", + "teal": 1324, + "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1224, 1225, 1226 ] }, { - "teal": 1327, + "teal": 1325, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1227, - 1228 + 1228, + 1229 ] }, { - "teal": 1328, + "teal": 1326, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1229, - 1230, - 1231 + 1230 ] }, { - "teal": 1329, + "teal": 1327, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ + 1231, 1232 ] }, { - "teal": 1330, + "teal": 1328, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1233, - 1234 + 1233 ] }, { - "teal": 1331, - "source": "examples/reti/validatorRegistry.algo.ts:462", + "teal": 1329, + "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1235 + 1234 ] }, { "teal": 1332, - "source": "examples/reti/validatorRegistry.algo.ts:461", + "source": "examples/reti/validatorRegistry.algo.ts:460", "pc": [ - 1236 + 1235, + 1236, + 1237 ] }, { - "teal": 1335, - "source": "examples/reti/validatorRegistry.algo.ts:460", + "teal": 1337, + "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1237, 1238, 1239 ] }, { - "teal": 1340, + "teal": 1338, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1240, - 1241 + 1241, + 1242 ] }, { - "teal": 1341, + "teal": 1339, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1242, - 1243, - 1244 + 1243 ] }, { - "teal": 1342, + "teal": 1340, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1245 + 1244, + 1245, + 1246 ] }, { "teal": 1343, "source": "examples/reti/validatorRegistry.algo.ts:465", + "errorMessage": "provided NFD App id for gating must be valid NFD", "pc": [ - 1246, - 1247, - 1248 + 1247 ] }, { - "teal": 1346, - "source": "examples/reti/validatorRegistry.algo.ts:465", - "errorMessage": "provided NFD App id for gating must be valid NFD", + "teal": 1348, + "source": "examples/reti/validatorRegistry.algo.ts:468", "pc": [ + 1248, 1249 ] }, { "teal": 1351, - "source": "examples/reti/validatorRegistry.algo.ts:468", + "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1250, 1251 ] }, { - "teal": 1354, + "teal": 1352, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1252, - 1253 + 1252 ] }, { - "teal": 1355, - "source": "examples/reti/validatorRegistry.algo.ts:427", + "teal": 1357, + "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1254 + 1253, + 1254, + 1255 ] }, { - "teal": 1360, + "teal": 1358, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1255, - 1256, - 1257 + 1256 ] }, { - "teal": 1361, + "teal": 1359, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1258 + 1257 ] }, { - "teal": 1362, + "teal": 1360, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ + 1258, 1259 ] }, { - "teal": 1363, + "teal": 1361, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1260, - 1261 + 1260 ] }, { "teal": 1364, "source": "examples/reti/validatorRegistry.algo.ts:478", + "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address", "pc": [ - 1262 + 1261 ] }, { "teal": 1367, "source": "examples/reti/validatorRegistry.algo.ts:478", - "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address", "pc": [ - 1263 + 1262, + 1263, + 1264 ] }, { - "teal": 1370, + "teal": 1368, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1264, - 1265, - 1266 + 1265 ] }, { "teal": 1371, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1267 + 1266, + 1267, + 1268 ] }, { - "teal": 1374, + "teal": 1372, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1268, - 1269, - 1270 + 1269 ] }, { - "teal": 1375, + "teal": 1373, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1271 + 1270 ] }, { - "teal": 1376, + "teal": 1383, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1272 + 1271, + 1272, + 1273 ] }, { - "teal": 1386, - "source": "examples/reti/validatorRegistry.algo.ts:478", + "teal": 1390, + "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1273, 1274, 1275 ] }, { - "teal": 1393, + "teal": 1391, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1276, - 1277 + 1276 ] }, { - "teal": 1394, + "teal": 1392, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1277, 1278 ] }, { - "teal": 1395, + "teal": 1393, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1279, - 1280 + 1279 ] }, { - "teal": 1396, + "teal": 1394, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1280, 1281 ] }, { - "teal": 1397, + "teal": 1395, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1282, - 1283 + 1282 ] }, { - "teal": 1398, + "teal": 1396, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1284 + 1283 ] }, { - "teal": 1399, + "teal": 1397, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1284, 1285 ] }, { - "teal": 1400, + "teal": 1398, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1286, - 1287 + 1286 ] }, { - "teal": 1401, + "teal": 1399, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1288 + 1287 ] }, { "teal": 1402, - "source": "examples/reti/validatorRegistry.algo.ts:480", + "source": "examples/reti/validatorRegistry.algo.ts:479", + "errorMessage": "can only be called by validator owner", "pc": [ - 1289 + 1288 ] }, { - "teal": 1405, - "source": "examples/reti/validatorRegistry.algo.ts:479", - "errorMessage": "can only be called by validator owner", + "teal": 1406, + "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1289, 1290 ] }, { - "teal": 1409, + "teal": 1407, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1291, @@ -6968,228 +6968,228 @@ ] }, { - "teal": 1410, + "teal": 1408, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1293, - 1294 + 1293 ] }, { - "teal": 1411, + "teal": 1409, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1294, 1295 ] }, { - "teal": 1412, + "teal": 1410, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1296, - 1297 + 1296 ] }, { - "teal": 1413, + "teal": 1411, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1298 + 1297 ] }, { - "teal": 1414, + "teal": 1412, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1298, 1299 ] }, { - "teal": 1415, + "teal": 1413, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1300, - 1301 + 1300 ] }, { - "teal": 1416, - "source": "examples/reti/validatorRegistry.algo.ts:483", + "teal": 1414, + "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1302 + 1301 ] }, { - "teal": 1417, - "source": "examples/reti/validatorRegistry.algo.ts:478", + "teal": 1419, + "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1303 + 1302, + 1303, + 1304 ] }, { - "teal": 1422, + "teal": 1420, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1304, - 1305, - 1306 + 1305 ] }, { "teal": 1423, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1307 + 1306, + 1307, + 1308 ] }, { - "teal": 1426, + "teal": 1424, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1308, - 1309, - 1310 + 1309 ] }, { "teal": 1427, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1311 + 1310, + 1311, + 1312 ] }, { - "teal": 1430, + "teal": 1428, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1312, - 1313, - 1314 + 1313 ] }, { "teal": 1431, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1315 + 1314, + 1315, + 1316 ] }, { - "teal": 1434, + "teal": 1432, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1316, - 1317, - 1318 + 1317 ] }, { - "teal": 1435, + "teal": 1433, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1319 + 1318 ] }, { - "teal": 1436, + "teal": 1444, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1320 + 1319, + 1320, + 1321 ] }, { - "teal": 1447, - "source": "examples/reti/validatorRegistry.algo.ts:494", + "teal": 1451, + "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1321, 1322, 1323 ] }, { - "teal": 1454, + "teal": 1452, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1324, - 1325 + 1324 ] }, { - "teal": 1455, + "teal": 1453, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1325, 1326 ] }, { - "teal": 1456, + "teal": 1454, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1327, - 1328 + 1327 ] }, { - "teal": 1457, + "teal": 1455, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1328, 1329 ] }, { - "teal": 1458, + "teal": 1456, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1330, - 1331 + 1330 ] }, { - "teal": 1459, + "teal": 1457, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1332 + 1331 ] }, { - "teal": 1460, + "teal": 1458, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1332, 1333 ] }, { - "teal": 1461, + "teal": 1459, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1334, - 1335 + 1334 ] }, { - "teal": 1462, + "teal": 1460, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1336 + 1335 ] }, { "teal": 1463, - "source": "examples/reti/validatorRegistry.algo.ts:496", + "source": "examples/reti/validatorRegistry.algo.ts:495", + "errorMessage": "can only be called by validator owner", "pc": [ - 1337 + 1336 ] }, { - "teal": 1466, - "source": "examples/reti/validatorRegistry.algo.ts:495", - "errorMessage": "can only be called by validator owner", + "teal": 1467, + "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1337, 1338 ] }, { - "teal": 1470, + "teal": 1468, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1339, @@ -7197,312 +7197,312 @@ ] }, { - "teal": 1471, + "teal": 1469, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1341, - 1342 + 1341 ] }, { - "teal": 1472, + "teal": 1470, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1343 + 1342 ] }, { - "teal": 1473, + "teal": 1471, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1343, 1344 ] }, { - "teal": 1474, + "teal": 1472, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1345, - 1346 + 1345 ] }, { - "teal": 1475, + "teal": 1473, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1347 + 1346 ] }, { - "teal": 1476, + "teal": 1474, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1347, 1348 ] }, { - "teal": 1477, + "teal": 1475, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1349, - 1350 + 1349 ] }, { - "teal": 1478, - "source": "examples/reti/validatorRegistry.algo.ts:499", + "teal": 1479, + "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1351 + 1350, + 1351, + 1352 ] }, { - "teal": 1482, + "teal": 1480, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1352, 1353, 1354 ] }, { - "teal": 1483, + "teal": 1481, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1355, - 1356 + 1355 ] }, { - "teal": 1484, + "teal": 1482, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1357 + 1356 ] }, { - "teal": 1485, + "teal": 1483, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ + 1357, 1358 ] }, { - "teal": 1486, + "teal": 1484, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1359, - 1360 + 1359 ] }, { - "teal": 1487, + "teal": 1485, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1361 + 1360 ] }, { - "teal": 1488, + "teal": 1486, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ + 1361, 1362 ] }, { - "teal": 1489, + "teal": 1487, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1363, - 1364 + 1363 ] }, { - "teal": 1490, - "source": "examples/reti/validatorRegistry.algo.ts:500", + "teal": 1488, + "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1365 + 1364 ] }, { - "teal": 1491, - "source": "examples/reti/validatorRegistry.algo.ts:494", + "teal": 1493, + "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1366 + 1365, + 1366, + 1367 ] }, { - "teal": 1496, + "teal": 1494, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1367, 1368, - 1369 + 1369, + 1370 ] }, { "teal": 1497, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1370, 1371, - 1372 + 1372, + 1373 ] }, { - "teal": 1500, + "teal": 1498, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1373, - 1374, - 1375 + 1374 ] }, { "teal": 1501, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1376 + 1375, + 1376, + 1377 ] }, { - "teal": 1504, + "teal": 1502, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1377, - 1378, - 1379 + 1378 ] }, { "teal": 1505, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1380 + 1379, + 1380, + 1381 ] }, { - "teal": 1508, + "teal": 1506, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1381, - 1382, - 1383 + 1382 ] }, { - "teal": 1509, + "teal": 1507, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1384 + 1383 ] }, { - "teal": 1510, + "teal": 1518, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1385 + 1384, + 1385, + 1386 ] }, { - "teal": 1521, - "source": "examples/reti/validatorRegistry.algo.ts:511", + "teal": 1525, + "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1386, 1387, 1388 ] }, { - "teal": 1528, + "teal": 1526, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1389, - 1390 + 1389 ] }, { - "teal": 1529, + "teal": 1527, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1390, 1391 ] }, { - "teal": 1530, + "teal": 1528, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1392, - 1393 + 1392 ] }, { - "teal": 1531, + "teal": 1529, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1393, 1394 ] }, { - "teal": 1532, + "teal": 1530, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1395, - 1396 + 1395 ] }, { - "teal": 1533, + "teal": 1531, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1397 + 1396 ] }, { - "teal": 1534, + "teal": 1532, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1397, 1398 ] }, { - "teal": 1535, + "teal": 1533, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1399, - 1400 + 1399 ] }, { - "teal": 1536, + "teal": 1534, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1401 + 1400 ] }, { "teal": 1537, - "source": "examples/reti/validatorRegistry.algo.ts:514", + "source": "examples/reti/validatorRegistry.algo.ts:513", + "errorMessage": "can only be called by validator owner", "pc": [ - 1402 + 1401 ] }, { - "teal": 1540, - "source": "examples/reti/validatorRegistry.algo.ts:513", - "errorMessage": "can only be called by validator owner", + "teal": 1545, + "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1403 + 1402 ] }, { - "teal": 1548, + "teal": 1546, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ + 1403, 1404 ] }, { - "teal": 1549, + "teal": 1547, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1405, @@ -7510,15 +7510,15 @@ ] }, { - "teal": 1550, - "source": "examples/reti/validatorRegistry.algo.ts:518", + "teal": 1551, + "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1407, 1408 ] }, { - "teal": 1554, + "teal": 1552, "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1409, @@ -7526,15 +7526,15 @@ ] }, { - "teal": 1555, - "source": "examples/reti/validatorRegistry.algo.ts:519", + "teal": 1556, + "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1411, 1412 ] }, { - "teal": 1559, + "teal": 1557, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1413, @@ -7542,7 +7542,7 @@ ] }, { - "teal": 1560, + "teal": 1558, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1415, @@ -7550,7 +7550,7 @@ ] }, { - "teal": 1561, + "teal": 1559, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1417, @@ -7558,7 +7558,7 @@ ] }, { - "teal": 1562, + "teal": 1560, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1419, @@ -7566,30 +7566,30 @@ ] }, { - "teal": 1563, + "teal": 1561, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ - 1421, - 1422 + 1421 ] }, { - "teal": 1564, + "teal": 1562, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ + 1422, 1423 ] }, { - "teal": 1565, - "source": "examples/reti/validatorRegistry.algo.ts:520", + "teal": 1566, + "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1424, 1425 ] }, { - "teal": 1569, + "teal": 1567, "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1426, @@ -7598,16 +7598,16 @@ }, { "teal": 1570, - "source": "examples/reti/validatorRegistry.algo.ts:521", + "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1428, - 1429 + 1428 ] }, { - "teal": 1573, + "teal": 1571, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ + 1429, 1430 ] }, @@ -7615,19 +7615,19 @@ "teal": 1574, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1431, - 1432 + 1431 ] }, { - "teal": 1577, - "source": "examples/reti/validatorRegistry.algo.ts:518", + "teal": 1581, + "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ + 1432, 1433 ] }, { - "teal": 1584, + "teal": 1582, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1434, @@ -7635,7 +7635,7 @@ ] }, { - "teal": 1585, + "teal": 1583, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1436, @@ -7643,45 +7643,45 @@ ] }, { - "teal": 1586, + "teal": 1584, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ - 1438, - 1439 + 1438 ] }, { "teal": 1587, "source": "examples/reti/validatorRegistry.algo.ts:525", + "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')", "pc": [ - 1440 + 1439 ] }, { - "teal": 1590, + "teal": 1588, "source": "examples/reti/validatorRegistry.algo.ts:525", - "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')", "pc": [ - 1441 + 1440 ] }, { "teal": 1591, - "source": "examples/reti/validatorRegistry.algo.ts:525", + "source": "examples/reti/validatorRegistry.algo.ts:524", + "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ - 1442 + 1441 ] }, { - "teal": 1594, - "source": "examples/reti/validatorRegistry.algo.ts:524", - "errorMessage": "If specifying NFD, account adding validator must be owner", + "teal": 1595, + "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1442, 1443 ] }, { - "teal": 1598, + "teal": 1596, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1444, @@ -7689,249 +7689,249 @@ ] }, { - "teal": 1599, + "teal": 1597, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1446, - 1447 + 1446 ] }, { - "teal": 1600, + "teal": 1598, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1448 + 1447 ] }, { - "teal": 1601, + "teal": 1599, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1448, 1449 ] }, { - "teal": 1602, + "teal": 1600, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1450, - 1451 + 1450 ] }, { - "teal": 1603, + "teal": 1601, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1452 + 1451 ] }, { - "teal": 1604, + "teal": 1602, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1452, 1453 ] }, { - "teal": 1605, + "teal": 1603, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1454, - 1455 + 1454 ] }, { - "teal": 1606, - "source": "examples/reti/validatorRegistry.algo.ts:528", + "teal": 1604, + "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1456 + 1455 ] }, { - "teal": 1607, - "source": "examples/reti/validatorRegistry.algo.ts:511", + "teal": 1609, + "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1457 + 1456, + 1457, + 1458 ] }, { - "teal": 1612, + "teal": 1610, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1458, - 1459, - 1460 + 1459 ] }, { - "teal": 1613, + "teal": 1611, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1461 + 1460 ] }, { - "teal": 1614, + "teal": 1612, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ + 1461, 1462 ] }, { - "teal": 1615, + "teal": 1613, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1463, - 1464 + 1463 ] }, { "teal": 1616, "source": "examples/reti/validatorRegistry.algo.ts:535", + "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address", "pc": [ - 1465 + 1464 ] }, { "teal": 1619, "source": "examples/reti/validatorRegistry.algo.ts:535", - "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address", "pc": [ - 1466 + 1465, + 1466, + 1467 ] }, { - "teal": 1622, + "teal": 1620, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1467, - 1468, - 1469 + 1468 ] }, { "teal": 1623, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1470 + 1469, + 1470, + 1471 ] }, { - "teal": 1626, + "teal": 1624, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1471, - 1472, - 1473 + 1472 ] }, { - "teal": 1627, + "teal": 1625, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1474 + 1473 ] }, { - "teal": 1628, + "teal": 1632, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1475 + 1474, + 1475, + 1476 ] }, { - "teal": 1635, - "source": "examples/reti/validatorRegistry.algo.ts:535", + "teal": 1639, + "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1476, 1477, 1478 ] }, { - "teal": 1642, + "teal": 1640, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1479, - 1480 + 1479 ] }, { - "teal": 1643, + "teal": 1641, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1480, 1481 ] }, { - "teal": 1644, + "teal": 1642, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1482, - 1483 + 1482 ] }, { - "teal": 1645, + "teal": 1643, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1483, 1484 ] }, { - "teal": 1646, + "teal": 1644, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1485, - 1486 + 1485 ] }, { - "teal": 1647, + "teal": 1645, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1487 + 1486 ] }, { - "teal": 1648, + "teal": 1646, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1487, 1488 ] }, { - "teal": 1649, + "teal": 1647, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1489, - 1490 + 1489 ] }, { - "teal": 1650, + "teal": 1648, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1491 + 1490 ] }, { "teal": 1651, - "source": "examples/reti/validatorRegistry.algo.ts:537", + "source": "examples/reti/validatorRegistry.algo.ts:536", + "errorMessage": "can only be called by validator owner", "pc": [ - 1492 + 1491 ] }, { - "teal": 1654, - "source": "examples/reti/validatorRegistry.algo.ts:536", - "errorMessage": "can only be called by validator owner", + "teal": 1655, + "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ + 1492, 1493 ] }, { - "teal": 1658, + "teal": 1656, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1494, @@ -7939,403 +7939,403 @@ ] }, { - "teal": 1659, + "teal": 1657, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ - 1496, - 1497 + 1496 ] }, { - "teal": 1660, + "teal": 1658, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ - 1498 + 1497 ] }, { - "teal": 1661, - "source": "examples/reti/validatorRegistry.algo.ts:540", + "teal": 1662, + "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1499 + 1498, + 1499, + 1500 ] }, { - "teal": 1665, + "teal": 1663, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1500, 1501, 1502 ] }, { - "teal": 1666, + "teal": 1664, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1503, - 1504 + 1503 ] }, { - "teal": 1667, + "teal": 1665, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ + 1504, 1505 ] }, { - "teal": 1668, + "teal": 1666, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1506, - 1507 + 1506 ] }, { - "teal": 1669, + "teal": 1667, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1508 + 1507 ] }, { - "teal": 1670, + "teal": 1668, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ + 1508, 1509 ] }, { - "teal": 1671, + "teal": 1669, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1510, - 1511 + 1510 ] }, { - "teal": 1672, - "source": "examples/reti/validatorRegistry.algo.ts:541", + "teal": 1670, + "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1512 + 1511 ] }, { - "teal": 1673, - "source": "examples/reti/validatorRegistry.algo.ts:535", + "teal": 1675, + "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ - 1513 + 1512, + 1513, + 1514 ] }, { - "teal": 1678, + "teal": 1676, "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ - 1514, - 1515, - 1516 + 1515 ] }, { "teal": 1679, - "source": "examples/reti/validatorRegistry.algo.ts:554", + "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ - 1517 + 1516, + 1517, + 1518 ] }, { - "teal": 1682, + "teal": 1680, "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ - 1518, - 1519, - 1520 + 1519 ] }, { "teal": 1683, - "source": "examples/reti/validatorRegistry.algo.ts:553", + "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1521 + 1520, + 1521, + 1522 ] }, { - "teal": 1686, + "teal": 1684, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1522, - 1523, - 1524 + 1523 ] }, { - "teal": 1687, + "teal": 1685, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1525 + 1524 ] }, { - "teal": 1688, + "teal": 1686, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ + 1525, 1526 ] }, { - "teal": 1689, + "teal": 1687, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1527, - 1528 + 1527 ] }, { "teal": 1690, "source": "examples/reti/validatorRegistry.algo.ts:552", + "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]", "pc": [ - 1529 + 1528 ] }, { "teal": 1693, - "source": "examples/reti/validatorRegistry.algo.ts:552", - "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]", + "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1530 + 1529, + 1530, + 1531 ] }, { - "teal": 1696, + "teal": 1694, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1531, - 1532, - 1533 + 1532 ] }, { - "teal": 1697, + "teal": 1695, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1534 + 1533 ] }, { - "teal": 1698, + "teal": 1696, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ + 1534, 1535 ] }, { - "teal": 1699, + "teal": 1697, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1536, - 1537 + 1536 ] }, { "teal": 1700, "source": "examples/reti/validatorRegistry.algo.ts:551", + "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address", "pc": [ - 1538 + 1537 ] }, { "teal": 1703, - "source": "examples/reti/validatorRegistry.algo.ts:551", - "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1539 + 1538, + 1539, + 1540 ] }, { - "teal": 1706, + "teal": 1704, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1540, - 1541, - 1542 + 1541 ] }, { - "teal": 1707, + "teal": 1705, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1543 + 1542 ] }, { - "teal": 1708, + "teal": 1706, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1544 + 1543 ] }, { - "teal": 1709, + "teal": 1707, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1545 + 1544 ] }, { "teal": 1710, "source": "examples/reti/validatorRegistry.algo.ts:550", + "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8", "pc": [ - 1546 + 1545 ] }, { - "teal": 1713, + "teal": 1711, "source": "examples/reti/validatorRegistry.algo.ts:550", - "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8", "pc": [ - 1547 + 1546 ] }, { "teal": 1714, - "source": "examples/reti/validatorRegistry.algo.ts:550", + "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ - 1548 + 1547, + 1548, + 1549 ] }, { - "teal": 1717, + "teal": 1715, "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ - 1549, - 1550, - 1551 + 1550 ] }, { "teal": 1718, - "source": "examples/reti/validatorRegistry.algo.ts:549", + "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1552 + 1551, + 1552, + 1553 ] }, { - "teal": 1721, + "teal": 1719, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1553, - 1554, - 1555 + 1554 ] }, { - "teal": 1722, + "teal": 1720, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1556 + 1555 ] }, { - "teal": 1723, + "teal": 1727, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1557 + 1556, + 1557, + 1558 ] }, { - "teal": 1730, - "source": "examples/reti/validatorRegistry.algo.ts:548", + "teal": 1734, + "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1558, 1559, 1560 ] }, { - "teal": 1737, + "teal": 1735, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1561, - 1562 + 1561 ] }, { - "teal": 1738, + "teal": 1736, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1562, 1563 ] }, { - "teal": 1739, + "teal": 1737, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1564, - 1565 + 1564 ] }, { - "teal": 1740, + "teal": 1738, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1565, 1566 ] }, { - "teal": 1741, + "teal": 1739, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1567, - 1568 + 1567 ] }, { - "teal": 1742, + "teal": 1740, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1569 + 1568 ] }, { - "teal": 1743, + "teal": 1741, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1569, 1570 ] }, { - "teal": 1744, + "teal": 1742, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1571, - 1572 + 1571 ] }, { - "teal": 1745, + "teal": 1743, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1573 + 1572 ] }, { "teal": 1746, - "source": "examples/reti/validatorRegistry.algo.ts:557", + "source": "examples/reti/validatorRegistry.algo.ts:556", + "errorMessage": "can only be called by validator owner", "pc": [ - 1574 + 1573 ] }, { - "teal": 1749, - "source": "examples/reti/validatorRegistry.algo.ts:556", - "errorMessage": "can only be called by validator owner", + "teal": 1750, + "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1574, 1575 ] }, { - "teal": 1753, + "teal": 1751, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1576, @@ -8343,75 +8343,75 @@ ] }, { - "teal": 1754, + "teal": 1752, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1578, - 1579 + 1578 ] }, { - "teal": 1755, + "teal": 1753, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1580 + 1579, + 1580, + 1581 ] }, { - "teal": 1756, + "teal": 1754, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1581, - 1582, - 1583 + 1582 ] }, { - "teal": 1757, + "teal": 1755, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1583, 1584 ] }, { - "teal": 1758, + "teal": 1756, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1585, - 1586 + 1585 ] }, { - "teal": 1759, + "teal": 1757, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1587 + 1586 ] }, { - "teal": 1760, + "teal": 1758, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1587, 1588 ] }, { - "teal": 1761, + "teal": 1759, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1589, - 1590 + 1589 ] }, { - "teal": 1762, - "source": "examples/reti/validatorRegistry.algo.ts:561", + "teal": 1763, + "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1590, 1591 ] }, { - "teal": 1766, + "teal": 1764, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1592, @@ -8419,59 +8419,59 @@ ] }, { - "teal": 1767, + "teal": 1765, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1594, - 1595 + 1594 ] }, { - "teal": 1768, + "teal": 1766, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1595, 1596 ] }, { - "teal": 1769, + "teal": 1767, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1597, - 1598 + 1597 ] }, { - "teal": 1770, + "teal": 1768, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1599 + 1598 ] }, { - "teal": 1771, + "teal": 1769, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1599, 1600 ] }, { - "teal": 1772, + "teal": 1770, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1601, - 1602 + 1601 ] }, { - "teal": 1773, - "source": "examples/reti/validatorRegistry.algo.ts:562", + "teal": 1774, + "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1602, 1603 ] }, { - "teal": 1777, + "teal": 1775, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1604, @@ -8479,59 +8479,59 @@ ] }, { - "teal": 1778, + "teal": 1776, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1606, - 1607 + 1606 ] }, { - "teal": 1779, + "teal": 1777, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1607, 1608 ] }, { - "teal": 1780, + "teal": 1778, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1609, - 1610 + 1609 ] }, { - "teal": 1781, + "teal": 1779, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1611 + 1610 ] }, { - "teal": 1782, + "teal": 1780, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1611, 1612 ] }, { - "teal": 1783, + "teal": 1781, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1613, - 1614 + 1613 ] }, { - "teal": 1784, - "source": "examples/reti/validatorRegistry.algo.ts:563", + "teal": 1785, + "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1614, 1615 ] }, { - "teal": 1788, + "teal": 1786, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1616, @@ -8539,479 +8539,479 @@ ] }, { - "teal": 1789, + "teal": 1787, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1618, - 1619 + 1618 ] }, { - "teal": 1790, + "teal": 1788, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1620 + 1619 ] }, { - "teal": 1791, + "teal": 1789, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1620, 1621 ] }, { - "teal": 1792, + "teal": 1790, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1622, - 1623 + 1622 ] }, { - "teal": 1793, + "teal": 1791, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1624 + 1623 ] }, { - "teal": 1794, + "teal": 1792, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1624, 1625 ] }, { - "teal": 1795, + "teal": 1793, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1626, - 1627 + 1626 ] }, { - "teal": 1796, - "source": "examples/reti/validatorRegistry.algo.ts:564", + "teal": 1797, + "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1628 + 1627, + 1628, + 1629 ] }, { - "teal": 1800, + "teal": 1798, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1629, 1630, 1631 ] }, { - "teal": 1801, + "teal": 1799, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1632, - 1633 + 1632 ] }, { - "teal": 1802, + "teal": 1800, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1634 + 1633 ] }, { - "teal": 1803, + "teal": 1801, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ + 1634, 1635 ] }, { - "teal": 1804, + "teal": 1802, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1636, - 1637 + 1636 ] }, { - "teal": 1805, + "teal": 1803, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1638 + 1637 ] }, { - "teal": 1806, + "teal": 1804, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ + 1638, 1639 ] }, { - "teal": 1807, + "teal": 1805, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1640, - 1641 + 1640 ] }, { - "teal": 1808, - "source": "examples/reti/validatorRegistry.algo.ts:565", + "teal": 1806, + "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1642 + 1641 ] }, { - "teal": 1809, - "source": "examples/reti/validatorRegistry.algo.ts:548", + "teal": 1811, + "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1643 + 1642 ] }, { "teal": 1814, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1644 + 1643, + 1644, + 1645 ] }, { - "teal": 1817, + "teal": 1815, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1645, - 1646, - 1647 + 1646 ] }, { "teal": 1818, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1648 + 1647, + 1648, + 1649 ] }, { - "teal": 1821, + "teal": 1819, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1649, - 1650, - 1651 + 1650 ] }, { "teal": 1822, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ + 1651, 1652 ] }, { - "teal": 1825, + "teal": 1823, + "source": "examples/reti/validatorRegistry.algo.ts:579", + "pc": [ + 1653 + ] + }, + { + "teal": 1824, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1653, 1654 ] }, { - "teal": 1826, + "teal": 1825, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1655 ] }, { - "teal": 1827, + "teal": 1826, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1656 + 1656, + 1657 ] }, { - "teal": 1828, + "teal": 1827, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1657 + 1658 ] }, { - "teal": 1829, + "teal": 1828, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1658, 1659 ] }, { - "teal": 1830, + "teal": 1831, "source": "examples/reti/validatorRegistry.algo.ts:579", + "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction", "pc": [ 1660 ] }, { - "teal": 1831, + "teal": 1834, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1661 + 1661, + 1662, + 1663 ] }, { - "teal": 1834, + "teal": 1835, "source": "examples/reti/validatorRegistry.algo.ts:579", - "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction", "pc": [ - 1662 + 1664 ] }, { - "teal": 1837, + "teal": 1836, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1663, - 1664, 1665 ] }, { - "teal": 1838, + "teal": 1837, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1666 ] }, { - "teal": 1839, + "teal": 1838, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1667 ] }, { - "teal": 1840, + "teal": 1851, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1668 + 1668, + 1669, + 1670 ] }, { - "teal": 1841, + "teal": 1854, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1669 + 1671 ] }, { - "teal": 1854, + "teal": 1855, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1670, - 1671, 1672 ] }, { - "teal": 1857, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 1863, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1673 + 1673, + 1674 ] }, { - "teal": 1858, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 1864, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1674 + 1675 + ] + }, + { + "teal": 1865, + "source": "examples/reti/validatorRegistry.algo.ts:582", + "pc": [ + 1676, + 1677 ] }, { "teal": 1866, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1675, - 1676 + 1678 ] }, { "teal": 1867, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1677 + 1679, + 1680 ] }, { "teal": 1868, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1678, - 1679 + 1681 ] }, { "teal": 1869, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1680 + 1682 ] }, { "teal": 1870, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1681, - 1682 + 1683, + 1684 ] }, { "teal": 1871, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1683 + 1685 ] }, { "teal": 1872, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1684 + 1686 ] }, { "teal": 1873, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1685, - 1686 + 1687 ] }, { "teal": 1874, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1687 + 1688, + 1689, + 1690 ] }, { "teal": 1875, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1688 + 1691, + 1692 ] }, { "teal": 1876, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1689 + 1693, + 1694 ] }, { "teal": 1877, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1690, - 1691, - 1692 + 1695, + 1696 ] }, { "teal": 1878, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1693, - 1694 + 1697 ] }, { "teal": 1879, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1695, - 1696 + 1698, + 1699 ] }, { "teal": 1880, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1697, - 1698 + 1700 ] }, { "teal": 1881, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1699 + 1701 ] }, { "teal": 1882, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1700, - 1701 + 1702, + 1703 ] }, { "teal": 1883, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1702 + 1704 ] }, { "teal": 1884, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1703 - ] - }, - { - "teal": 1885, - "source": "examples/reti/validatorRegistry.algo.ts:583", - "pc": [ - 1704, 1705 ] }, { - "teal": 1886, - "source": "examples/reti/validatorRegistry.algo.ts:583", + "teal": 1885, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1706 ] }, { - "teal": 1887, - "source": "examples/reti/validatorRegistry.algo.ts:583", + "teal": 1889, + "source": "examples/reti/validatorRegistry.algo.ts:581", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ 1707 ] }, { - "teal": 1888, - "source": "examples/reti/validatorRegistry.algo.ts:582", - "pc": [ - 1708 - ] - }, - { - "teal": 1892, - "source": "examples/reti/validatorRegistry.algo.ts:581", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 1894, + "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ + 1708, 1709 ] }, { - "teal": 1897, + "teal": 1895, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1710, @@ -9019,55 +9019,55 @@ ] }, { - "teal": 1898, + "teal": 1896, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1712, - 1713 + 1713, + 1714 ] }, { - "teal": 1899, + "teal": 1897, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1714, 1715, - 1716 + 1716, + 1717 ] }, { - "teal": 1900, + "teal": 1898, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1717, - 1718, - 1719 + 1718 ] }, { - "teal": 1901, + "teal": 1899, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1720 + 1719 ] }, { "teal": 1902, "source": "examples/reti/validatorRegistry.algo.ts:588", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}", "pc": [ - 1721 + 1720 ] }, { "teal": 1905, "source": "examples/reti/validatorRegistry.algo.ts:588", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}", "pc": [ + 1721, 1722 ] }, { - "teal": 1908, + "teal": 1906, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1723, @@ -9075,7 +9075,7 @@ ] }, { - "teal": 1909, + "teal": 1907, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1725, @@ -9083,88 +9083,88 @@ ] }, { - "teal": 1910, + "teal": 1908, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1727, - 1728 + 1727 ] }, { "teal": 1911, "source": "examples/reti/validatorRegistry.algo.ts:588", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 1729 + 1728 ] }, { - "teal": 1914, - "source": "examples/reti/validatorRegistry.algo.ts:588", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "teal": 1915, + "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1730 + 1729 ] }, { - "teal": 1918, + "teal": 1916, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ + 1730, 1731 ] }, { - "teal": 1919, + "teal": 1917, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1732, - 1733 + 1732 ] }, { - "teal": 1920, + "teal": 1918, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1734 + 1733 ] }, { - "teal": 1921, + "teal": 1919, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1735 + 1734 ] }, { - "teal": 1922, + "teal": 1920, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1736 + 1735 ] }, { - "teal": 1923, + "teal": 1921, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1737 + 1736 ] }, { "teal": 1924, "source": "examples/reti/validatorRegistry.algo.ts:590", + "errorMessage": "specified validator id isn't valid", "pc": [ - 1738 + 1737 ] }, { - "teal": 1927, - "source": "examples/reti/validatorRegistry.algo.ts:590", - "errorMessage": "specified validator id isn't valid", + "teal": 1928, + "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1738, 1739 ] }, { - "teal": 1931, + "teal": 1929, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1740, @@ -9172,150 +9172,150 @@ ] }, { - "teal": 1932, + "teal": 1930, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1742, - 1743 + 1742 ] }, { - "teal": 1933, + "teal": 1931, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1743, 1744 ] }, { - "teal": 1934, + "teal": 1932, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1745, - 1746 + 1745 ] }, { - "teal": 1935, + "teal": 1933, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1747 + 1746 ] }, { - "teal": 1936, + "teal": 1934, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1747, 1748 ] }, { - "teal": 1937, + "teal": 1935, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1749, - 1750 + 1749 ] }, { - "teal": 1938, + "teal": 1936, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1751 + 1750 ] }, { - "teal": 1939, + "teal": 1937, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1751, 1752 ] }, { - "teal": 1940, - "source": "examples/reti/validatorRegistry.algo.ts:592", + "teal": 1942, + "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ 1753, 1754 ] }, { - "teal": 1945, - "source": "examples/reti/validatorRegistry.algo.ts:593", - "pc": [ - 1755, - 1756 - ] - }, - { - "teal": 1946, + "teal": 1943, "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ - 1757 + 1755 ] }, { - "teal": 1947, + "teal": 1944, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ - 1758 + 1756 ] }, { - "teal": 1948, + "teal": 1945, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ - 1759, - 1760, - 1761 + 1757, + 1758, + 1759 ] }, { - "teal": 1952, + "teal": 1949, "source": "examples/reti/validatorRegistry.algo.ts:594", "errorMessage": "already at max pool size", "pc": [ + 1760 + ] + }, + { + "teal": 1954, + "source": "examples/reti/validatorRegistry.algo.ts:596", + "pc": [ + 1761, 1762 ] }, { - "teal": 1957, + "teal": 1955, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ - 1763, - 1764 + 1763 ] }, { - "teal": 1958, + "teal": 1956, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ - 1765 + 1764 ] }, { - "teal": 1959, + "teal": 1957, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ + 1765, 1766 ] }, { - "teal": 1960, - "source": "examples/reti/validatorRegistry.algo.ts:596", + "teal": 1979, + "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1767, - 1768 + 1767 ] }, { - "teal": 1982, + "teal": 1980, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ + 1768, 1769 ] }, { - "teal": 1983, + "teal": 1981, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1770, @@ -9323,68 +9323,68 @@ ] }, { - "teal": 1984, - "source": "examples/reti/validatorRegistry.algo.ts:599", + "teal": 1985, + "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ - 1772, - 1773 + 1772 ] }, { - "teal": 1988, + "teal": 1986, "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ + 1773, 1774 ] }, { - "teal": 1989, - "source": "examples/reti/validatorRegistry.algo.ts:600", + "teal": 1993, + "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1775, 1776 ] }, { - "teal": 1996, + "teal": 1994, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ - 1777, - 1778 + 1777 ] }, { - "teal": 1997, + "teal": 1995, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ + 1778, 1779 ] }, { - "teal": 1998, + "teal": 1996, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ - 1780, - 1781 + 1780 ] }, { - "teal": 1999, + "teal": 1997, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ + 1781, 1782 ] }, { - "teal": 2000, - "source": "examples/reti/validatorRegistry.algo.ts:602", + "teal": 1998, + "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1783, 1784 ] }, { - "teal": 2001, + "teal": 1999, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1785, @@ -9392,7 +9392,7 @@ ] }, { - "teal": 2002, + "teal": 2000, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1787, @@ -9400,77 +9400,77 @@ ] }, { - "teal": 2003, + "teal": 2001, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1789, - 1790 + 1789 ] }, { "teal": 2004, "source": "examples/reti/validatorRegistry.algo.ts:603", + "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size", "pc": [ - 1791 + 1790 ] }, { - "teal": 2007, + "teal": 2005, "source": "examples/reti/validatorRegistry.algo.ts:603", - "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size", "pc": [ + 1791, 1792 ] }, { - "teal": 2008, + "teal": 2006, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1793, - 1794 + 1793 ] }, { - "teal": 2009, + "teal": 2007, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1795 + 1794 ] }, { - "teal": 2010, + "teal": 2008, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ + 1795, 1796 ] }, { - "teal": 2011, - "source": "examples/reti/validatorRegistry.algo.ts:603", + "teal": 2012, + "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ 1797, - 1798 + 1798, + 1799 ] }, { - "teal": 2015, + "teal": 2013, "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ - 1799, 1800, 1801 ] }, { - "teal": 2016, - "source": "examples/reti/validatorRegistry.algo.ts:605", + "teal": 2017, + "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1802, 1803 ] }, { - "teal": 2020, + "teal": 2018, "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1804, @@ -9478,15 +9478,15 @@ ] }, { - "teal": 2021, - "source": "examples/reti/validatorRegistry.algo.ts:606", + "teal": 2022, + "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1806, 1807 ] }, { - "teal": 2025, + "teal": 2023, "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1808, @@ -9494,15 +9494,15 @@ ] }, { - "teal": 2026, - "source": "examples/reti/validatorRegistry.algo.ts:607", + "teal": 2027, + "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1810, 1811 ] }, { - "teal": 2030, + "teal": 2028, "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1812, @@ -9510,188 +9510,188 @@ ] }, { - "teal": 2031, - "source": "examples/reti/validatorRegistry.algo.ts:608", + "teal": 2039, + "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ 1814, - 1815 + 1815, + 1816, + 1817, + 1818, + 1819 ] }, { - "teal": 2042, + "teal": 2040, "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ - 1816, - 1817, - 1818, - 1819, 1820, 1821 ] }, { - "teal": 2043, - "source": "examples/reti/validatorRegistry.algo.ts:611", + "teal": 2041, + "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ 1822, - 1823 + 1823, + 1824 ] }, { - "teal": 2044, + "teal": 2042, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ - 1824, - 1825, - 1826 + 1825 ] }, { - "teal": 2045, + "teal": 2043, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ + 1826, 1827 ] }, { - "teal": 2046, - "source": "examples/reti/validatorRegistry.algo.ts:612", + "teal": 2044, + "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ 1828, 1829 ] }, { - "teal": 2047, + "teal": 2045, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ - 1830, - 1831 + 1830 ] }, { - "teal": 2048, + "teal": 2046, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ + 1831, 1832 ] }, { - "teal": 2049, - "source": "examples/reti/validatorRegistry.algo.ts:613", + "teal": 2047, + "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ 1833, 1834 ] }, { - "teal": 2050, + "teal": 2048, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ - 1835, - 1836 + 1835 ] }, { - "teal": 2051, + "teal": 2049, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ + 1836, 1837 ] }, { - "teal": 2052, - "source": "examples/reti/validatorRegistry.algo.ts:614", + "teal": 2050, + "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1838, 1839 ] }, { - "teal": 2053, + "teal": 2051, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1840, - 1841 + 1840 ] }, { - "teal": 2054, + "teal": 2052, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1842 + 1841 ] }, { - "teal": 2055, + "teal": 2053, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1842, 1843 ] }, { - "teal": 2056, + "teal": 2054, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1844, - 1845 + 1844 ] }, { - "teal": 2057, + "teal": 2055, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1846 + 1845 ] }, { - "teal": 2058, + "teal": 2056, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1846, 1847 ] }, { - "teal": 2059, + "teal": 2057, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1848, - 1849 + 1848 ] }, { - "teal": 2060, + "teal": 2058, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1850 + 1849 ] }, { - "teal": 2061, + "teal": 2059, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1851 + 1850 ] }, { - "teal": 2062, + "teal": 2060, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1851, 1852 ] }, { "teal": 2063, - "source": "examples/reti/validatorRegistry.algo.ts:615", + "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1853, - 1854 + 1853 ] }, { - "teal": 2066, + "teal": 2064, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ + 1854, 1855 ] }, @@ -9699,19 +9699,19 @@ "teal": 2067, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1856, - 1857 + 1856 ] }, { - "teal": 2070, - "source": "examples/reti/validatorRegistry.algo.ts:599", + "teal": 2071, + "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1857, 1858 ] }, { - "teal": 2074, + "teal": 2072, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1859, @@ -9719,75 +9719,75 @@ ] }, { - "teal": 2075, + "teal": 2073, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1861, - 1862 + 1861 ] }, { - "teal": 2076, + "teal": 2074, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1863 + 1862, + 1863, + 1864 ] }, { - "teal": 2077, + "teal": 2075, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1864, - 1865, - 1866 + 1865 ] }, { - "teal": 2078, + "teal": 2076, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1866, 1867 ] }, { - "teal": 2079, + "teal": 2077, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1868, - 1869 + 1868 ] }, { - "teal": 2080, + "teal": 2078, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1870 + 1869 ] }, { - "teal": 2081, + "teal": 2079, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1870, 1871 ] }, { - "teal": 2082, + "teal": 2080, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1872, - 1873 + 1872 ] }, { - "teal": 2083, - "source": "examples/reti/validatorRegistry.algo.ts:619", + "teal": 2084, + "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ + 1873, 1874 ] }, { - "teal": 2087, + "teal": 2085, "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ 1875, @@ -9795,15 +9795,15 @@ ] }, { - "teal": 2088, - "source": "examples/reti/validatorRegistry.algo.ts:622", + "teal": 2089, + "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1877, 1878 ] }, { - "teal": 2092, + "teal": 2090, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1879, @@ -9811,124 +9811,124 @@ ] }, { - "teal": 2093, + "teal": 2091, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1881, - 1882 + 1881 ] }, { - "teal": 2094, + "teal": 2092, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1883 + 1882 ] }, { - "teal": 2095, + "teal": 2093, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1883, 1884 ] }, { - "teal": 2096, + "teal": 2094, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1885, - 1886 + 1885 ] }, { - "teal": 2097, + "teal": 2095, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1887 + 1886 ] }, { - "teal": 2098, + "teal": 2096, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1888 + 1887 ] }, { - "teal": 2099, + "teal": 2097, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1889 + 1888 ] }, { - "teal": 2100, + "teal": 2098, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1889, 1890 ] }, { - "teal": 2101, + "teal": 2099, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1891, - 1892 + 1891 ] }, { - "teal": 2102, + "teal": 2100, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1893 + 1892 ] }, { - "teal": 2103, + "teal": 2101, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1893, 1894 ] }, { - "teal": 2104, + "teal": 2102, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1895, - 1896 + 1895 ] }, { - "teal": 2105, + "teal": 2103, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1897 + 1896 ] }, { - "teal": 2106, + "teal": 2104, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1897, 1898 ] }, { - "teal": 2107, + "teal": 2105, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1899, - 1900 + 1899 ] }, { - "teal": 2108, - "source": "examples/reti/validatorRegistry.algo.ts:623", + "teal": 2109, + "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ + 1900, 1901 ] }, { - "teal": 2112, + "teal": 2110, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1902, @@ -9936,7 +9936,7 @@ ] }, { - "teal": 2113, + "teal": 2111, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1904, @@ -9944,78 +9944,78 @@ ] }, { - "teal": 2114, + "teal": 2112, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1906, - 1907 + 1907, + 1908 ] }, { - "teal": 2115, - "source": "examples/reti/validatorRegistry.algo.ts:624", + "teal": 2116, + "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1908, 1909, 1910 ] }, { - "teal": 2119, + "teal": 2117, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1911, - 1912 + 1911 ] }, { - "teal": 2120, + "teal": 2118, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ + 1912, 1913 ] }, { - "teal": 2121, + "teal": 2119, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1914, - 1915 + 1914 ] }, { - "teal": 2122, + "teal": 2120, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1916 + 1915 ] }, { - "teal": 2123, + "teal": 2121, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ + 1916, 1917 ] }, { - "teal": 2124, + "teal": 2122, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1918, - 1919 + 1918 ] }, { - "teal": 2125, + "teal": 2123, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1920 + 1919 ] }, { "teal": 2126, - "source": "examples/reti/validatorRegistry.algo.ts:632", + "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ + 1920, 1921 ] }, @@ -10028,417 +10028,417 @@ ] }, { - "teal": 2132, + "teal": 2130, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1924, - 1925 + 1924 ] }, { - "teal": 2133, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 2135, + "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1926 + 1925 ] }, { "teal": 2138, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1927 + 1926, + 1927, + 1928 ] }, { - "teal": 2141, + "teal": 2139, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1928, - 1929, - 1930 + 1929 ] }, { "teal": 2142, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1931 + 1930, + 1931, + 1932 ] }, { - "teal": 2145, + "teal": 2143, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1932, - 1933, - 1934 + 1933 ] }, { "teal": 2146, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1934, 1935 ] }, { - "teal": 2149, + "teal": 2147, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1936, - 1937 + 1936 ] }, { - "teal": 2150, + "teal": 2148, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1938 + 1937 ] }, { - "teal": 2151, + "teal": 2149, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1939 + 1938 ] }, { - "teal": 2152, + "teal": 2150, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1939, 1940 ] }, { - "teal": 2153, + "teal": 2151, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1941, - 1942 + 1941 ] }, { - "teal": 2154, + "teal": 2152, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1943 + 1942 ] }, { "teal": 2155, "source": "examples/reti/validatorRegistry.algo.ts:644", + "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 1944 + 1943 ] }, { "teal": 2158, "source": "examples/reti/validatorRegistry.algo.ts:644", - "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 1945 + 1944, + 1945, + 1946 ] }, { - "teal": 2161, + "teal": 2159, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1946, - 1947, - 1948 + 1947 ] }, { - "teal": 2162, + "teal": 2160, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1949 + 1948 ] }, { - "teal": 2163, + "teal": 2161, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1950 + 1949 ] }, { - "teal": 2164, + "teal": 2162, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1951 + 1950 ] }, { - "teal": 2165, + "teal": 2174, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1952 + 1951, + 1952, + 1953 ] }, { "teal": 2177, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1953, - 1954, - 1955 + 1954 ] }, { - "teal": 2180, + "teal": 2178, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1955, 1956 ] }, { - "teal": 2181, - "source": "examples/reti/validatorRegistry.algo.ts:644", + "teal": 2182, + "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ - 1957, - 1958 + 1957 ] }, { - "teal": 2185, + "teal": 2183, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ + 1958, 1959 ] }, { - "teal": 2186, + "teal": 2184, + "source": "examples/reti/validatorRegistry.algo.ts:645", + "pc": [ + 1960 + ] + }, + { + "teal": 2185, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ - 1960, 1961 ] }, { - "teal": 2187, + "teal": 2186, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1962 ] }, { - "teal": 2188, + "teal": 2187, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1963 ] }, { - "teal": 2189, + "teal": 2188, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1964 ] }, { - "teal": 2190, + "teal": 2191, "source": "examples/reti/validatorRegistry.algo.ts:645", + "errorMessage": "specified validator id isn't valid", "pc": [ 1965 ] }, { - "teal": 2191, - "source": "examples/reti/validatorRegistry.algo.ts:645", + "teal": 2196, + "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1966 + 1966, + 1967 ] }, { - "teal": 2194, - "source": "examples/reti/validatorRegistry.algo.ts:645", - "errorMessage": "specified validator id isn't valid", + "teal": 2197, + "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1967 + 1968 ] }, { - "teal": 2199, + "teal": 2198, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1968, 1969 ] }, + { + "teal": 2199, + "source": "examples/reti/validatorRegistry.algo.ts:648", + "pc": [ + 1970, + 1971 + ] + }, { "teal": 2200, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1970 + 1972 ] }, { "teal": 2201, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1971 + 1973 ] }, { "teal": 2202, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1972, - 1973 + 1974, + 1975 ] }, { "teal": 2203, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1974 + 1976 ] }, { "teal": 2204, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1975 + 1977 ] }, { "teal": 2205, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1976, - 1977 + 1978 ] }, { "teal": 2206, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1978 + 1979 ] }, { "teal": 2207, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1979 + 1980, + 1981, + 1982 ] }, { - "teal": 2208, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2215, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1980 + 1983, + 1984 ] }, { - "teal": 2209, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2216, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1981 + 1985 ] }, { - "teal": 2210, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2217, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1982, - 1983, - 1984 + 1986 ] }, { "teal": 2218, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1985, - 1986 + 1987, + 1988 ] }, { "teal": 2219, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1987 + 1989 ] }, { "teal": 2220, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1988 + 1990 ] }, { "teal": 2221, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1989, - 1990 + 1991, + 1992 ] }, { "teal": 2222, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1991 + 1993 ] }, { "teal": 2223, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1992 + 1994 ] }, { "teal": 2224, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1993, - 1994 + 1995, + 1996 ] }, { "teal": 2225, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1995 + 1997 ] }, { - "teal": 2226, - "source": "examples/reti/validatorRegistry.algo.ts:650", + "teal": 2228, + "source": "examples/reti/validatorRegistry.algo.ts:649", + "errorMessage": "can't stake with a validator that is past its sunsetting time", "pc": [ - 1996 + 1998 ] }, { - "teal": 2227, - "source": "examples/reti/validatorRegistry.algo.ts:650", - "pc": [ - 1997, - 1998 - ] - }, - { - "teal": 2228, - "source": "examples/reti/validatorRegistry.algo.ts:650", - "pc": [ - 1999 - ] - }, - { - "teal": 2231, - "source": "examples/reti/validatorRegistry.algo.ts:649", - "errorMessage": "can't stake with a validator that is past its sunsetting time", + "teal": 2233, + "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ + 1999, 2000 ] }, { - "teal": 2236, + "teal": 2234, "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ 2001, @@ -10446,23 +10446,23 @@ ] }, { - "teal": 2237, - "source": "examples/reti/validatorRegistry.algo.ts:655", + "teal": 2242, + "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ 2003, 2004 ] }, { - "teal": 2245, - "source": "examples/reti/validatorRegistry.algo.ts:659", + "teal": 2243, + "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2005, 2006 ] }, { - "teal": 2246, + "teal": 2244, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2007, @@ -10470,38 +10470,38 @@ ] }, { - "teal": 2247, + "teal": 2245, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ - 2009, - 2010 + 2009 ] }, { "teal": 2248, "source": "examples/reti/validatorRegistry.algo.ts:660", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}", "pc": [ - 2011 + 2010 ] }, { "teal": 2251, - "source": "examples/reti/validatorRegistry.algo.ts:660", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}", + "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ + 2011, 2012 ] }, { - "teal": 2254, - "source": "examples/reti/validatorRegistry.algo.ts:659", + "teal": 2252, + "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2013, 2014 ] }, { - "teal": 2255, + "teal": 2253, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2015, @@ -10509,120 +10509,120 @@ ] }, { - "teal": 2256, + "teal": 2254, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ - 2017, - 2018 + 2017 ] }, { "teal": 2257, "source": "examples/reti/validatorRegistry.algo.ts:661", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 2019 + 2018 ] }, { - "teal": 2260, - "source": "examples/reti/validatorRegistry.algo.ts:661", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "teal": 2264, + "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2019, 2020 ] }, { - "teal": 2267, + "teal": 2265, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2021, - 2022 + 2021 ] }, { - "teal": 2268, + "teal": 2266, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2023 + 2022 ] }, { - "teal": 2269, + "teal": 2267, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2023, 2024 ] }, { - "teal": 2270, + "teal": 2268, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2025, - 2026 + 2025 ] }, { - "teal": 2271, + "teal": 2269, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2027 + 2026 ] }, { - "teal": 2272, + "teal": 2270, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2027, 2028 ] }, { - "teal": 2273, + "teal": 2271, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2029, - 2030 + 2029 ] }, { - "teal": 2274, + "teal": 2272, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2031 + 2030 ] }, { - "teal": 2275, + "teal": 2273, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2032 + 2031, + 2032, + 2033 ] }, { - "teal": 2276, + "teal": 2274, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2033, - 2034, - 2035 + 2034 ] }, { "teal": 2277, - "source": "examples/reti/validatorRegistry.algo.ts:667", + "source": "examples/reti/validatorRegistry.algo.ts:666", + "errorMessage": "total staked for all of a validators pools may not exceed hard cap", "pc": [ - 2036 + 2035 ] }, { - "teal": 2280, - "source": "examples/reti/validatorRegistry.algo.ts:666", - "errorMessage": "total staked for all of a validators pools may not exceed hard cap", + "teal": 2281, + "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ + 2036, 2037 ] }, { - "teal": 2284, + "teal": 2282, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2038, @@ -10630,24 +10630,24 @@ ] }, { - "teal": 2285, + "teal": 2283, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2040, - 2041 + 2041, + 2042 ] }, { - "teal": 2286, - "source": "examples/reti/validatorRegistry.algo.ts:673", + "teal": 2287, + "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ - 2042, 2043, 2044 ] }, { - "teal": 2290, + "teal": 2288, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2045, @@ -10655,7 +10655,7 @@ ] }, { - "teal": 2291, + "teal": 2289, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2047, @@ -10663,122 +10663,122 @@ ] }, { - "teal": 2292, - "source": "examples/reti/validatorRegistry.algo.ts:675", + "teal": 2293, + "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ - 2049, - 2050 + 2049 ] }, { - "teal": 2296, + "teal": 2294, "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ + 2050, 2051 ] }, { - "teal": 2297, - "source": "examples/reti/validatorRegistry.algo.ts:676", + "teal": 2299, + "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2052, - 2053 + 2052 ] }, { - "teal": 2302, + "teal": 2300, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ + 2053, 2054 ] }, { - "teal": 2303, + "teal": 2301, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2055, - 2056 + 2055 ] }, { - "teal": 2304, + "teal": 2302, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2057 + 2056 ] }, { - "teal": 2305, + "teal": 2303, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2058 + 2057 ] }, { - "teal": 2306, + "teal": 2304, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2059 + 2058 ] }, { - "teal": 2307, + "teal": 2305, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2060 + 2059 ] }, { - "teal": 2308, + "teal": 2306, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2061 + 2060, + 2061, + 2062 ] }, { - "teal": 2309, - "source": "examples/reti/validatorRegistry.algo.ts:678", + "teal": 2311, + "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2062, 2063, - 2064 + 2064, + 2065 ] }, { - "teal": 2314, + "teal": 2312, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2065, 2066, - 2067 + 2067, + 2068 ] }, { - "teal": 2315, + "teal": 2313, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2068, - 2069, - 2070 + 2069 ] }, { - "teal": 2316, + "teal": 2314, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ + 2070, 2071 ] }, { - "teal": 2317, - "source": "examples/reti/validatorRegistry.algo.ts:681", + "teal": 2318, + "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2072, 2073 ] }, { - "teal": 2321, + "teal": 2319, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2074, @@ -10786,75 +10786,75 @@ ] }, { - "teal": 2322, + "teal": 2320, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ - 2076, - 2077 + 2076 ] }, { - "teal": 2323, + "teal": 2321, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ + 2077, 2078 ] }, { - "teal": 2324, - "source": "examples/reti/validatorRegistry.algo.ts:682", + "teal": 2325, + "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2079, - 2080 + 2079 ] }, { - "teal": 2328, + "teal": 2326, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ + 2080, 2081 ] }, { - "teal": 2329, + "teal": 2327, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2082, - 2083 + 2082 ] }, { - "teal": 2330, + "teal": 2328, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2084 + 2083, + 2084, + 2085 ] }, { - "teal": 2331, + "teal": 2329, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2085, - 2086, - 2087 + 2086 ] }, { - "teal": 2332, + "teal": 2330, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2088 + 2087 ] }, { - "teal": 2333, - "source": "examples/reti/validatorRegistry.algo.ts:683", + "teal": 2335, + "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ + 2088, 2089 ] }, { - "teal": 2338, + "teal": 2336, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2090, @@ -10862,7 +10862,7 @@ ] }, { - "teal": 2339, + "teal": 2337, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2092, @@ -10870,32 +10870,32 @@ ] }, { - "teal": 2340, + "teal": 2338, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2094, - 2095 + 2095, + 2096 ] }, { - "teal": 2341, + "teal": 2339, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ - 2096, 2097, 2098 ] }, { - "teal": 2342, - "source": "examples/reti/validatorRegistry.algo.ts:687", + "teal": 2345, + "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2099, 2100 ] }, { - "teal": 2348, + "teal": 2346, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2101, @@ -10903,7 +10903,7 @@ ] }, { - "teal": 2349, + "teal": 2347, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2103, @@ -10911,7 +10911,7 @@ ] }, { - "teal": 2350, + "teal": 2348, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2105, @@ -10919,30 +10919,30 @@ ] }, { - "teal": 2351, + "teal": 2349, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ - 2107, - 2108 + 2107 ] }, { - "teal": 2352, + "teal": 2350, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ + 2108, 2109 ] }, { - "teal": 2353, - "source": "examples/reti/validatorRegistry.algo.ts:689", + "teal": 2354, + "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2110, 2111 ] }, { - "teal": 2357, + "teal": 2355, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2112, @@ -10950,7 +10950,7 @@ ] }, { - "teal": 2358, + "teal": 2356, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2114, @@ -10958,39 +10958,39 @@ ] }, { - "teal": 2359, + "teal": 2357, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2116, - 2117 + 2117, + 2118 ] }, { - "teal": 2360, + "teal": 2358, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ - 2118, - 2119, - 2120 + 2119 ] }, { - "teal": 2361, + "teal": 2359, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ + 2120, 2121 ] }, { - "teal": 2362, - "source": "examples/reti/validatorRegistry.algo.ts:690", + "teal": 2364, + "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2122, 2123 ] }, { - "teal": 2367, + "teal": 2365, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2124, @@ -10998,7 +10998,7 @@ ] }, { - "teal": 2368, + "teal": 2366, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2126, @@ -11006,62 +11006,62 @@ ] }, { - "teal": 2369, + "teal": 2367, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2128, - 2129 + 2129, + 2130 ] }, { - "teal": 2370, + "teal": 2368, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2130, - 2131, - 2132 + 2131 ] }, { - "teal": 2371, + "teal": 2369, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2133 + 2132 ] }, { - "teal": 2372, + "teal": 2370, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2134 + 2133 ] }, { - "teal": 2373, + "teal": 2371, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2135 + 2134, + 2135, + 2136 ] }, { - "teal": 2374, - "source": "examples/reti/validatorRegistry.algo.ts:691", + "teal": 2375, + "source": "examples/reti/validatorRegistry.algo.ts:692", + "errorMessage": "No pool available with free stake. Validator needs to add another pool", "pc": [ - 2136, - 2137, - 2138 + 2137 ] }, { - "teal": 2378, - "source": "examples/reti/validatorRegistry.algo.ts:692", - "errorMessage": "No pool available with free stake. Validator needs to add another pool", + "teal": 2380, + "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ + 2138, 2139 ] }, { - "teal": 2383, + "teal": 2381, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2140, @@ -11069,7 +11069,7 @@ ] }, { - "teal": 2384, + "teal": 2382, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2142, @@ -11077,65 +11077,65 @@ ] }, { - "teal": 2385, + "teal": 2383, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2144, - 2145 + 2145, + 2146 ] }, { - "teal": 2386, + "teal": 2384, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ - 2146, 2147, 2148 ] }, { - "teal": 2387, + "teal": 2385, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2149, - 2150 + 2150, + 2151 ] }, { - "teal": 2388, - "source": "examples/reti/validatorRegistry.algo.ts:696", + "teal": 2395, + "source": "examples/reti/validatorRegistry.algo.ts:704", "pc": [ - 2151, 2152, 2153 ] }, { - "teal": 2398, - "source": "examples/reti/validatorRegistry.algo.ts:704", + "teal": 2396, + "source": "examples/reti/validatorRegistry.algo.ts:703", "pc": [ 2154, 2155 ] }, { - "teal": 2399, - "source": "examples/reti/validatorRegistry.algo.ts:703", + "teal": 2397, + "source": "examples/reti/validatorRegistry.algo.ts:702", "pc": [ 2156, 2157 ] }, { - "teal": 2400, - "source": "examples/reti/validatorRegistry.algo.ts:702", + "teal": 2398, + "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2158, 2159 ] }, { - "teal": 2401, + "teal": 2399, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2160, @@ -11143,7 +11143,7 @@ ] }, { - "teal": 2402, + "teal": 2400, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2162, @@ -11151,41 +11151,41 @@ ] }, { - "teal": 2403, + "teal": 2401, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2164, - 2165 + 2165, + 2166 ] }, { - "teal": 2404, - "source": "examples/reti/validatorRegistry.algo.ts:701", + "teal": 2402, + "source": "examples/reti/validatorRegistry.algo.ts:700", "pc": [ - 2166, 2167, 2168 ] }, { - "teal": 2405, - "source": "examples/reti/validatorRegistry.algo.ts:700", + "teal": 2403, + "source": "examples/reti/validatorRegistry.algo.ts:699", "pc": [ 2169, - 2170 + 2170, + 2171 ] }, { - "teal": 2406, - "source": "examples/reti/validatorRegistry.algo.ts:699", + "teal": 2407, + "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ - 2171, 2172, 2173 ] }, { - "teal": 2410, + "teal": 2408, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2174, @@ -11193,7 +11193,7 @@ ] }, { - "teal": 2411, + "teal": 2409, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2176, @@ -11201,18 +11201,18 @@ ] }, { - "teal": 2412, + "teal": 2410, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2178, - 2179 + 2179, + 2180 ] }, { "teal": 2413, - "source": "examples/reti/validatorRegistry.algo.ts:714", + "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 2180, 2181, 2182 ] @@ -11226,209 +11226,209 @@ ] }, { - "teal": 2419, + "teal": 2417, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 2185, - 2186 + 2185 ] }, { - "teal": 2420, - "source": "examples/reti/validatorRegistry.algo.ts:644", + "teal": 2422, + "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2187 + 2186 ] }, { "teal": 2425, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2188 + 2187, + 2188, + 2189 ] }, { - "teal": 2428, + "teal": 2426, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2189, - 2190, - 2191 + 2190 ] }, { "teal": 2429, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2192 + 2191, + 2192, + 2193 ] }, { - "teal": 2432, + "teal": 2430, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2193, - 2194, - 2195 + 2194 ] }, { - "teal": 2433, + "teal": 2431, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2196 + 2195 ] }, { - "teal": 2434, + "teal": 2432, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2197 + 2196 ] }, { - "teal": 2435, + "teal": 2433, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2198 + 2197 ] }, { - "teal": 2436, + "teal": 2451, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2199 + 2198, + 2199, + 2200 ] }, { "teal": 2454, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2200, - 2201, - 2202 + 2201 ] }, { - "teal": 2457, + "teal": 2455, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ + 2202, 2203 ] }, { - "teal": 2458, - "source": "examples/reti/validatorRegistry.algo.ts:732", + "teal": 2459, + "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2204, 2205 ] }, { - "teal": 2462, + "teal": 2460, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2206, - 2207 + 2206 ] }, { - "teal": 2463, + "teal": 2461, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2208 + 2207 ] }, { - "teal": 2464, + "teal": 2462, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2208, 2209 ] }, { - "teal": 2465, + "teal": 2463, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2210, - 2211 + 2210 ] }, { - "teal": 2466, + "teal": 2464, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2212 + 2211 ] }, { - "teal": 2467, + "teal": 2465, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2212, 2213 ] }, { - "teal": 2468, + "teal": 2466, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2214, - 2215 + 2214 ] }, { - "teal": 2469, + "teal": 2467, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2216 + 2215 ] }, { - "teal": 2470, + "teal": 2468, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2216, 2217 ] }, { - "teal": 2471, - "source": "examples/reti/validatorRegistry.algo.ts:734", + "teal": 2472, + "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2218, 2219 ] }, { - "teal": 2475, + "teal": 2473, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2220, - 2221 + 2220 ] }, { - "teal": 2476, + "teal": 2474, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2222 + 2221 ] }, { - "teal": 2477, + "teal": 2475, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2223 + 2222 ] }, { - "teal": 2478, - "source": "examples/reti/validatorRegistry.algo.ts:735", + "teal": 2480, + "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ + 2223, 2224 ] }, { - "teal": 2483, + "teal": 2481, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2225, @@ -11436,7 +11436,7 @@ ] }, { - "teal": 2484, + "teal": 2482, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2227, @@ -11444,38 +11444,38 @@ ] }, { - "teal": 2485, + "teal": 2483, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2229, - 2230 + 2229 ] }, { - "teal": 2486, + "teal": 2484, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2231 + 2230 ] }, { - "teal": 2487, + "teal": 2485, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2232 + 2231, + 2232, + 2233 ] }, { - "teal": 2488, - "source": "examples/reti/validatorRegistry.algo.ts:737", + "teal": 2490, + "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2233, 2234, 2235 ] }, { - "teal": 2493, + "teal": 2491, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2236, @@ -11483,68 +11483,68 @@ ] }, { - "teal": 2494, + "teal": 2492, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2238, - 2239 + 2238 ] }, { - "teal": 2495, + "teal": 2493, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ + 2239, 2240 ] }, { - "teal": 2496, + "teal": 2494, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2241, - 2242 + 2241 ] }, { - "teal": 2497, + "teal": 2495, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2243 + 2242 ] }, { - "teal": 2498, + "teal": 2496, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ + 2243, 2244 ] }, { - "teal": 2499, + "teal": 2497, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2245, - 2246 + 2245 ] }, { - "teal": 2500, + "teal": 2498, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2247 + 2246, + 2247, + 2248 ] }, { - "teal": 2501, - "source": "examples/reti/validatorRegistry.algo.ts:738", + "teal": 2503, + "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ - 2248, 2249, 2250 ] }, { - "teal": 2506, + "teal": 2504, "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ 2251, @@ -11552,130 +11552,124 @@ ] }, { - "teal": 2507, - "source": "examples/reti/validatorRegistry.algo.ts:744", + "teal": 2508, + "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2253, 2254 ] }, { - "teal": 2511, + "teal": 2509, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2255, - 2256 + 2255 ] }, { - "teal": 2512, + "teal": 2510, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2257 + 2256 ] }, { - "teal": 2513, + "teal": 2511, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2257, 2258 ] }, { - "teal": 2514, + "teal": 2512, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2259, - 2260 + 2259 ] }, { - "teal": 2515, + "teal": 2513, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2261 + 2260 ] }, { - "teal": 2516, + "teal": 2514, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2261, 2262 ] }, { - "teal": 2517, + "teal": 2515, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2263, - 2264 + 2263 ] }, { - "teal": 2518, + "teal": 2516, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2265 + 2264 ] }, { - "teal": 2519, + "teal": 2517, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2265, 2266 ] }, { - "teal": 2520, - "source": "examples/reti/validatorRegistry.algo.ts:745", + "teal": 2522, + "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2267, 2268 ] }, { - "teal": 2525, + "teal": 2523, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2269, - 2270 + 2269 ] }, { - "teal": 2526, + "teal": 2524, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2271 + 2270 ] }, { - "teal": 2527, + "teal": 2525, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2272 + 2271, + 2272, + 2273 ] }, { - "teal": 2528, - "source": "examples/reti/validatorRegistry.algo.ts:746", + "teal": 2531, + "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2273, 2274, 2275 ] }, { - "teal": 2534, + "teal": 2532, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2276, - 2277 - ] - }, - { - "teal": 2535, - "source": "examples/reti/validatorRegistry.algo.ts:748", - "pc": [ + 2277, 2278, 2279, 2280, @@ -11685,52 +11679,58 @@ 2284, 2285, 2286, - 2287, - 2288, - 2289 + 2287 ] }, { - "teal": 2536, + "teal": 2533, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2290 + 2288 ] }, { - "teal": 2539, + "teal": 2536, "source": "examples/reti/validatorRegistry.algo.ts:748", "errorMessage": "global state value does not exist: AppID.fromUint64(pool1AppID).globalState('lastPayout')", "pc": [ - 2291 + 2289 ] }, { - "teal": 2540, + "teal": 2537, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2292, - 2293 + 2290, + 2291 ] }, { - "teal": 2541, + "teal": 2538, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2294 + 2292 ] }, { - "teal": 2542, + "teal": 2539, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2295, + 2293, + 2294, + 2295 + ] + }, + { + "teal": 2544, + "source": "examples/reti/validatorRegistry.algo.ts:749", + "pc": [ 2296, 2297 ] }, { - "teal": 2547, + "teal": 2545, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2298, @@ -11738,144 +11738,144 @@ ] }, { - "teal": 2548, + "teal": 2546, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2300, - 2301 + 2300 ] }, { - "teal": 2549, + "teal": 2547, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ + 2301, 2302 ] }, { - "teal": 2550, + "teal": 2548, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2303, - 2304 + 2303 ] }, { - "teal": 2551, + "teal": 2549, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2305 + 2304 ] }, { - "teal": 2552, + "teal": 2550, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ + 2305, 2306 ] }, { - "teal": 2553, + "teal": 2551, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2307, - 2308 + 2307 ] }, { - "teal": 2554, + "teal": 2552, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2309 + 2308, + 2309, + 2310 ] }, { - "teal": 2555, - "source": "examples/reti/validatorRegistry.algo.ts:749", + "teal": 2557, + "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2310, 2311, - 2312 + 2312, + 2313 ] }, { - "teal": 2560, + "teal": 2558, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2313, 2314, 2315 ] }, { - "teal": 2561, + "teal": 2559, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2316, - 2317 + 2316 ] }, { - "teal": 2562, + "teal": 2560, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2317, 2318 ] }, { - "teal": 2563, + "teal": 2561, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2319, - 2320 + 2319 ] }, { - "teal": 2564, + "teal": 2562, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2321 + 2320 ] }, { - "teal": 2565, + "teal": 2563, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2321, 2322 ] }, { - "teal": 2566, + "teal": 2564, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2323, - 2324 + 2323 ] }, { - "teal": 2567, + "teal": 2565, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2325 + 2324 ] }, { - "teal": 2568, + "teal": 2566, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2325, 2326 ] }, { - "teal": 2569, - "source": "examples/reti/validatorRegistry.algo.ts:751", + "teal": 2570, + "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2327, 2328 ] }, { - "teal": 2573, + "teal": 2571, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2329, @@ -11883,7 +11883,7 @@ ] }, { - "teal": 2574, + "teal": 2572, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2331, @@ -11891,37 +11891,37 @@ ] }, { - "teal": 2575, + "teal": 2573, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ - 2333, - 2334 + 2333 ] }, { - "teal": 2576, + "teal": 2574, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ - 2335 + 2334 ] }, { - "teal": 2577, + "teal": 2575, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ + 2335, 2336 ] }, { - "teal": 2578, - "source": "examples/reti/validatorRegistry.algo.ts:752", + "teal": 2580, + "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2337, 2338 ] }, { - "teal": 2583, + "teal": 2581, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2339, @@ -11929,7 +11929,7 @@ ] }, { - "teal": 2584, + "teal": 2582, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2341, @@ -11937,53 +11937,53 @@ ] }, { - "teal": 2585, + "teal": 2583, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2343, - 2344 + 2343 ] }, { - "teal": 2586, + "teal": 2584, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2345 + 2344 ] }, { - "teal": 2587, + "teal": 2585, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ + 2345, 2346 ] }, { - "teal": 2588, + "teal": 2586, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2347, - 2348 + 2347 ] }, { - "teal": 2589, + "teal": 2587, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2349 + 2348, + 2349, + 2350 ] }, { - "teal": 2590, - "source": "examples/reti/validatorRegistry.algo.ts:754", + "teal": 2592, + "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2350, 2351, 2352 ] }, { - "teal": 2595, + "teal": 2593, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2353, @@ -11991,68 +11991,68 @@ ] }, { - "teal": 2596, + "teal": 2594, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2355, - 2356 + 2355 ] }, { - "teal": 2597, + "teal": 2595, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ + 2356, 2357 ] }, { - "teal": 2598, + "teal": 2596, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2358, - 2359 + 2358 ] }, { - "teal": 2599, + "teal": 2597, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2360 + 2359 ] }, { - "teal": 2600, + "teal": 2598, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ + 2360, 2361 ] }, { - "teal": 2601, + "teal": 2599, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2362, - 2363 + 2362 ] }, { - "teal": 2602, + "teal": 2600, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2364 + 2363, + 2364, + 2365 ] }, { - "teal": 2603, - "source": "examples/reti/validatorRegistry.algo.ts:755", + "teal": 2607, + "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2365, 2366, 2367 ] }, { - "teal": 2610, + "teal": 2608, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2368, @@ -12060,66 +12060,66 @@ ] }, { - "teal": 2611, + "teal": 2609, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2370, - 2371 + 2370 ] }, { - "teal": 2612, + "teal": 2610, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2372 + 2371 ] }, { - "teal": 2613, + "teal": 2611, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ + 2372, 2373 ] }, { - "teal": 2614, + "teal": 2612, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2374, - 2375 + 2374 ] }, { - "teal": 2615, + "teal": 2613, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2376 + 2375 ] }, { - "teal": 2616, + "teal": 2614, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ + 2376, 2377 ] }, { - "teal": 2617, + "teal": 2615, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2378, - 2379 + 2378 ] }, { - "teal": 2618, - "source": "examples/reti/validatorRegistry.algo.ts:758", + "teal": 2619, + "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2379, 2380 ] }, { - "teal": 2622, + "teal": 2620, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2381, @@ -12127,155 +12127,155 @@ ] }, { - "teal": 2623, + "teal": 2621, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2383, - 2384 + 2383 ] }, { - "teal": 2624, + "teal": 2622, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2384, 2385 ] }, { - "teal": 2625, + "teal": 2623, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2386, - 2387 + 2386 ] }, { - "teal": 2626, + "teal": 2624, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2388 + 2387 ] }, { - "teal": 2627, + "teal": 2625, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2388, 2389 ] }, { - "teal": 2628, + "teal": 2626, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2390, - 2391 + 2390 ] }, { - "teal": 2629, + "teal": 2627, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2392 + 2391 ] }, { - "teal": 2630, + "teal": 2628, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2392, 2393 ] }, { - "teal": 2631, - "source": "examples/reti/validatorRegistry.algo.ts:760", + "teal": 2632, + "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2394, 2395 ] }, { - "teal": 2635, + "teal": 2633, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2396, - 2397 + 2396 ] }, { - "teal": 2636, + "teal": 2634, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2398 + 2397 ] }, { - "teal": 2637, + "teal": 2635, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2398, 2399 ] }, { - "teal": 2638, + "teal": 2636, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2400, - 2401 + 2400 ] }, { - "teal": 2639, + "teal": 2637, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2402 + 2401 ] }, { - "teal": 2640, + "teal": 2638, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2402, 2403 ] }, { - "teal": 2641, + "teal": 2639, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2404, - 2405 + 2404 ] }, { - "teal": 2642, + "teal": 2640, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2406 + 2405 ] }, { - "teal": 2643, + "teal": 2641, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2406, 2407 ] }, { - "teal": 2644, - "source": "examples/reti/validatorRegistry.algo.ts:761", + "teal": 2645, + "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2408, - 2409 + 2408 ] }, { - "teal": 2648, + "teal": 2646, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2409, 2410 ] }, { - "teal": 2649, + "teal": 2651, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2411, @@ -12283,7 +12283,7 @@ ] }, { - "teal": 2654, + "teal": 2652, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2413, @@ -12291,31 +12291,31 @@ ] }, { - "teal": 2655, + "teal": 2653, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2415, - 2416 + 2415 ] }, { - "teal": 2656, + "teal": 2654, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2417 + 2416, + 2417, + 2418 ] }, { - "teal": 2657, - "source": "examples/reti/validatorRegistry.algo.ts:762", + "teal": 2661, + "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2418, 2419, 2420 ] }, { - "teal": 2664, + "teal": 2662, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2421, @@ -12323,7 +12323,7 @@ ] }, { - "teal": 2665, + "teal": 2663, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2423, @@ -12331,185 +12331,185 @@ ] }, { - "teal": 2666, + "teal": 2664, + "source": "examples/reti/validatorRegistry.algo.ts:768", + "pc": [ + 2425 + ] + }, + { + "teal": 2665, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2425, 2426 ] }, + { + "teal": 2666, + "source": "examples/reti/validatorRegistry.algo.ts:768", + "pc": [ + 2427, + 2428 + ] + }, { "teal": 2667, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2427 + 2429 ] }, { "teal": 2668, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2428 + 2430 ] }, { "teal": 2669, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2429, - 2430 + 2431 ] }, { "teal": 2670, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2431 + 2432, + 2433 ] }, { "teal": 2671, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2432 + 2434 ] }, { "teal": 2672, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2433 + 2435 ] }, { "teal": 2673, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2434, - 2435 + 2436, + 2437 ] }, { "teal": 2674, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2436 + 2438 ] }, { "teal": 2675, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2437 + 2439 ] }, { "teal": 2676, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2438, - 2439 + 2440, + 2441, + 2442, + 2443 ] }, { "teal": 2677, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2440 + 2444 ] }, { "teal": 2678, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2441 + 2445 ] }, { "teal": 2679, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:769", "pc": [ - 2442, - 2443, - 2444, - 2445 + 2446, + 2447 ] }, { "teal": 2680, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2446 + 2448 ] }, { "teal": 2681, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2447 - ] - }, - { - "teal": 2682, - "source": "examples/reti/validatorRegistry.algo.ts:769", - "pc": [ - 2448, 2449 ] }, { - "teal": 2683, + "teal": 2682, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2450 ] }, { - "teal": 2684, + "teal": 2683, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2451 ] }, { - "teal": 2685, + "teal": 2684, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2452 ] }, - { - "teal": 2686, - "source": "examples/reti/validatorRegistry.algo.ts:767", - "pc": [ - 2453 - ] - }, { "teal": 2687, "source": "examples/reti/validatorRegistry.algo.ts:767", + "errorMessage": "wideRatio failed", "pc": [ - 2454 + 2453 ] }, { - "teal": 2690, + "teal": 2688, "source": "examples/reti/validatorRegistry.algo.ts:767", - "errorMessage": "wideRatio failed", "pc": [ + 2454, 2455 ] }, { - "teal": 2691, - "source": "examples/reti/validatorRegistry.algo.ts:767", + "teal": 2692, + "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2456, 2457 ] }, { - "teal": 2695, + "teal": 2693, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2458, @@ -12517,134 +12517,134 @@ ] }, { - "teal": 2696, + "teal": 2694, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2460, - 2461 + 2460 ] }, { - "teal": 2697, + "teal": 2695, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2462 + 2461 ] }, { - "teal": 2698, + "teal": 2696, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2463 + 2462 ] }, { - "teal": 2699, + "teal": 2697, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2463, 2464 ] }, { - "teal": 2700, + "teal": 2698, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2465, - 2466 + 2465 ] }, { - "teal": 2701, + "teal": 2699, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2467 + 2466 ] }, { - "teal": 2702, + "teal": 2700, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2467, 2468 ] }, { - "teal": 2703, + "teal": 2701, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2469, - 2470 + 2469 ] }, { - "teal": 2704, + "teal": 2702, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2471 + 2470 ] }, { - "teal": 2705, + "teal": 2703, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2471, 2472 ] }, { - "teal": 2706, + "teal": 2704, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2473, - 2474 + 2473 ] }, { - "teal": 2707, - "source": "examples/reti/validatorRegistry.algo.ts:771", + "teal": 2709, + "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2474, 2475 ] }, { - "teal": 2712, + "teal": 2710, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2476, - 2477 + 2476 ] }, { - "teal": 2713, + "teal": 2711, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2478 + 2477 ] }, { - "teal": 2714, + "teal": 2712, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2478, 2479 ] }, { - "teal": 2715, + "teal": 2713, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2480, - 2481 + 2481, + 2482 ] }, { - "teal": 2716, - "source": "examples/reti/validatorRegistry.algo.ts:762", + "teal": 2718, + "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2482, 2483, 2484 ] }, { - "teal": 2721, + "teal": 2719, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2485, @@ -12652,54 +12652,54 @@ ] }, { - "teal": 2722, + "teal": 2720, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2487, - 2488 + 2487 ] }, { - "teal": 2723, + "teal": 2721, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ + 2488, 2489 ] }, { - "teal": 2724, + "teal": 2722, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2490, - 2491 + 2490 ] }, { - "teal": 2725, + "teal": 2723, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2492 + 2491 ] }, { - "teal": 2726, + "teal": 2724, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ + 2492, 2493 ] }, { - "teal": 2727, + "teal": 2725, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2494, - 2495 + 2494 ] }, { - "teal": 2728, - "source": "examples/reti/validatorRegistry.algo.ts:773", + "teal": 2729, + "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ + 2495, 2496 ] }, @@ -12712,180 +12712,180 @@ ] }, { - "teal": 2735, + "teal": 2733, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2499, - 2500 + 2499 ] }, { - "teal": 2736, - "source": "examples/reti/validatorRegistry.algo.ts:732", + "teal": 2738, + "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ - 2501 + 2500, + 2501, + 2502 ] }, { - "teal": 2741, + "teal": 2739, "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ - 2502, - 2503, - 2504 + 2503 ] }, { "teal": 2742, - "source": "examples/reti/validatorRegistry.algo.ts:792", + "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ - 2505 + 2504, + 2505, + 2506 ] }, { - "teal": 2745, + "teal": 2743, "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ - 2506, - 2507, - 2508 + 2507 ] }, { "teal": 2746, - "source": "examples/reti/validatorRegistry.algo.ts:791", + "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ - 2509 + 2508, + 2509, + 2510 ] }, { - "teal": 2749, + "teal": 2747, "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ - 2510, - 2511, - 2512 + 2511 ] }, { "teal": 2750, - "source": "examples/reti/validatorRegistry.algo.ts:790", + "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ - 2513 + 2512, + 2513, + 2514 ] }, { - "teal": 2753, + "teal": 2751, "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ - 2514, - 2515, - 2516 + 2515 ] }, { "teal": 2754, - "source": "examples/reti/validatorRegistry.algo.ts:789", + "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2517 + 2516, + 2517, + 2518 ] }, { - "teal": 2757, + "teal": 2755, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2518, - 2519, - 2520 + 2519 ] }, { - "teal": 2758, + "teal": 2756, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2521 + 2520 ] }, { - "teal": 2759, + "teal": 2757, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2522 + 2521 ] }, { - "teal": 2760, + "teal": 2758, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2523 + 2522 ] }, { "teal": 2761, "source": "examples/reti/validatorRegistry.algo.ts:788", + "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)", "pc": [ - 2524 + 2523 ] }, { "teal": 2764, - "source": "examples/reti/validatorRegistry.algo.ts:788", - "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)", + "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2525 + 2524, + 2525, + 2526 ] }, { - "teal": 2767, + "teal": 2765, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2526, - 2527, - 2528 + 2527 ] }, { - "teal": 2768, + "teal": 2766, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2529 + 2528 ] }, { - "teal": 2769, + "teal": 2780, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2530 + 2529, + 2530, + 2531 ] }, { - "teal": 2783, - "source": "examples/reti/validatorRegistry.algo.ts:787", + "teal": 2784, + "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ - 2531, 2532, 2533 ] }, { - "teal": 2787, + "teal": 2785, "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ 2534, - 2535 + 2535, + 2536 ] }, { - "teal": 2788, - "source": "examples/reti/validatorRegistry.algo.ts:794", + "teal": 2789, + "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2536, 2537, 2538 ] }, { - "teal": 2792, + "teal": 2790, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2539, @@ -12893,984 +12893,984 @@ ] }, { - "teal": 2793, + "teal": 2791, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2541, - 2542 + 2542, + 2543 ] }, { - "teal": 2794, + "teal": 2792, + "source": "examples/reti/validatorRegistry.algo.ts:797", + "pc": [ + 2544 + ] + }, + { + "teal": 2793, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2543, - 2544, 2545 ] }, { - "teal": 2795, + "teal": 2794, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2546 ] }, + { + "teal": 2795, + "source": "examples/reti/validatorRegistry.algo.ts:797", + "pc": [ + 2547, + 2548 + ] + }, { "teal": 2796, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2547 + 2549 ] }, { "teal": 2797, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2548 + 2550 ] }, { "teal": 2798, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2549, - 2550 + 2551, + 2552 ] }, { "teal": 2799, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2551 + 2553 ] }, { "teal": 2800, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2552 + 2554, + 2555 ] }, { "teal": 2801, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2553, - 2554 + 2556, + 2557 ] }, { "teal": 2802, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2555 + 2558, + 2559, + 2560 ] }, { "teal": 2803, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2556, - 2557 + 2561 ] }, { "teal": 2804, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2558, - 2559 + 2562 ] }, { "teal": 2805, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2560, - 2561, - 2562 + 2563 ] }, { "teal": 2806, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2563 + 2564, + 2565 ] }, { "teal": 2807, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2564 + 2566 ] }, { "teal": 2808, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2565 + 2567 ] }, { "teal": 2809, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2566, - 2567 + 2568, + 2569 ] }, { "teal": 2810, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2568 + 2570 ] }, { "teal": 2811, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2569 + 2571 ] }, { "teal": 2812, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2570, - 2571 + 2572 ] }, { "teal": 2813, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2572 + 2573, + 2574 ] }, { "teal": 2814, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2573 + 2575, + 2576, + 2577 ] }, { "teal": 2815, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2574 + 2578 ] }, { "teal": 2816, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2575, - 2576 + 2579 ] }, { "teal": 2817, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2577, - 2578, - 2579 + 2580 ] }, { "teal": 2818, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2580 + 2581, + 2582 ] }, { "teal": 2819, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2581 + 2583 ] }, { "teal": 2820, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2582 + 2584 ] }, { "teal": 2821, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2583, - 2584 + 2585, + 2586 ] }, { "teal": 2822, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2585 + 2587 ] }, { "teal": 2823, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2586 + 2588 ] }, { "teal": 2824, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2587, - 2588 + 2589 ] }, { "teal": 2825, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2589 + 2590, + 2591 ] }, { "teal": 2826, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2590 + 2592, + 2593, + 2594 ] }, { "teal": 2827, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2591 + 2595 ] }, { "teal": 2828, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2592, - 2593 + 2596 ] }, { "teal": 2829, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2594, - 2595, - 2596 + 2597 ] }, { "teal": 2830, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2597 + 2598, + 2599 ] }, { "teal": 2831, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2598 + 2600 ] }, { - "teal": 2832, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2835, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2599 + 2601, + 2602 ] }, { - "teal": 2833, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2836, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2600, - 2601 + 2603 ] }, { - "teal": 2834, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2837, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2602 + 2604 ] }, { "teal": 2838, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2603, - 2604 + 2605 ] }, { "teal": 2839, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2605 + 2606, + 2607 ] }, { "teal": 2840, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2606 + 2608, + 2609, + 2610 ] }, { "teal": 2841, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2607 + 2611 ] }, { "teal": 2842, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2608, - 2609 + 2612 ] }, { "teal": 2843, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2610, - 2611, - 2612 + 2613 ] }, { "teal": 2844, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2613 + 2614, + 2615 ] }, { "teal": 2845, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2614 + 2616 ] }, { "teal": 2846, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2615 + 2617 ] }, { "teal": 2847, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2616, - 2617 + 2618, + 2619 ] }, { "teal": 2848, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2618 + 2620 ] }, { "teal": 2849, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2619 + 2621 ] }, { "teal": 2850, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2620, - 2621 + 2622 ] }, { "teal": 2851, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2622 + 2623, + 2624 ] }, { "teal": 2852, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2623 + 2625, + 2626, + 2627 ] }, { "teal": 2853, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2624 + 2628 ] }, { "teal": 2854, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2625, - 2626 + 2629 ] }, { "teal": 2855, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2627, - 2628, - 2629 + 2630 ] }, { "teal": 2856, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2630 + 2631, + 2632 ] }, { "teal": 2857, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2631 + 2633 ] }, { - "teal": 2858, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2861, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2632 + 2634, + 2635 ] }, { - "teal": 2859, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2862, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2633, - 2634 + 2636 ] }, { - "teal": 2860, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2863, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2635 + 2637 ] }, { "teal": 2864, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2636, - 2637 + 2638 ] }, { "teal": 2865, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2638 + 2639, + 2640 ] }, { "teal": 2866, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2639 + 2641, + 2642, + 2643 ] }, { "teal": 2867, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2640 + 2644 ] }, { "teal": 2868, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2641, - 2642 + 2645 ] }, { "teal": 2869, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2643, - 2644, - 2645 + 2646 ] }, { "teal": 2870, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2646 + 2647, + 2648 ] }, { "teal": 2871, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2647 + 2649 ] }, { "teal": 2872, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2648 + 2650 ] }, { "teal": 2873, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2649, - 2650 + 2651, + 2652 ] }, { "teal": 2874, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2651 + 2653 ] }, { "teal": 2875, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2652 + 2654 ] }, { "teal": 2876, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2653, - 2654 + 2655 ] }, { "teal": 2877, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2655 + 2656, + 2657 ] }, { "teal": 2878, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2656 + 2658, + 2659, + 2660 ] }, { "teal": 2879, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2657 + 2661 ] }, { "teal": 2880, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2658, - 2659 + 2662 ] }, { "teal": 2881, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2660, - 2661, - 2662 + 2663 ] }, { "teal": 2882, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2663 + 2664, + 2665 ] }, { "teal": 2883, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2664 + 2666 ] }, { - "teal": 2884, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2887, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2665 + 2667, + 2668 ] }, { - "teal": 2885, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2888, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2666, - 2667 + 2669 ] }, { - "teal": 2886, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2889, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2668 + 2670, + 2671 ] }, { "teal": 2890, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2669, - 2670 + 2672 ] }, { "teal": 2891, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2671 + 2673, + 2674 ] }, { "teal": 2892, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2672, - 2673 + 2675 ] }, { "teal": 2893, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2674 + 2676 ] }, { - "teal": 2894, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2897, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2675, - 2676 + 2677, + 2678 ] }, { - "teal": 2895, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2898, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2677 + 2679, + 2680, + 2681 ] }, { - "teal": 2896, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2899, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2678 + 2682 ] }, { "teal": 2900, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2679, - 2680 + 2683, + 2684, + 2685 ] }, { "teal": 2901, - "source": "examples/reti/validatorRegistry.algo.ts:804", - "pc": [ - 2681, - 2682, - 2683 - ] - }, - { - "teal": 2902, - "source": "examples/reti/validatorRegistry.algo.ts:804", + "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2684 + 2686 ] }, { - "teal": 2903, - "source": "examples/reti/validatorRegistry.algo.ts:804", + "teal": 2906, + "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2685, - 2686, - 2687 + 2687, + 2688, + 2689 ] }, { - "teal": 2904, - "source": "examples/reti/validatorRegistry.algo.ts:787", + "teal": 2907, + "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2688 + 2690 ] }, { - "teal": 2909, + "teal": 2908, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2689, - 2690, 2691 ] }, { - "teal": 2910, + "teal": 2909, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2692 ] }, { - "teal": 2911, + "teal": 2910, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2693 ] }, { - "teal": 2912, + "teal": 2913, "source": "examples/reti/validatorRegistry.algo.ts:834", + "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool", "pc": [ 2694 ] }, { - "teal": 2913, + "teal": 2914, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2695 ] }, { - "teal": 2916, + "teal": 2915, "source": "examples/reti/validatorRegistry.algo.ts:834", - "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool", "pc": [ 2696 ] }, - { - "teal": 2917, - "source": "examples/reti/validatorRegistry.algo.ts:834", - "pc": [ - 2697 - ] - }, { "teal": 2918, - "source": "examples/reti/validatorRegistry.algo.ts:834", + "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ - 2698 + 2697, + 2698, + 2699 ] }, { - "teal": 2921, + "teal": 2919, "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ - 2699, - 2700, - 2701 + 2700 ] }, { "teal": 2922, - "source": "examples/reti/validatorRegistry.algo.ts:833", + "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ - 2702 + 2701, + 2702, + 2703 ] }, { - "teal": 2925, + "teal": 2923, "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ - 2703, - 2704, - 2705 + 2704 ] }, { "teal": 2926, - "source": "examples/reti/validatorRegistry.algo.ts:832", + "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2706 + 2705, + 2706, + 2707 ] }, { - "teal": 2929, + "teal": 2927, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2707, - 2708, - 2709 + 2708 ] }, { - "teal": 2930, + "teal": 2928, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2710 + 2709 ] }, { - "teal": 2931, + "teal": 2929, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ + 2710, 2711 ] }, { - "teal": 2932, + "teal": 2930, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2712, - 2713 + 2712 ] }, { "teal": 2933, "source": "examples/reti/validatorRegistry.algo.ts:831", + "errorMessage": "argument 3 (staker) for stakeRemoved must be a address", "pc": [ - 2714 + 2713 ] }, { "teal": 2936, - "source": "examples/reti/validatorRegistry.algo.ts:831", - "errorMessage": "argument 3 (staker) for stakeRemoved must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2715 + 2714, + 2715, + 2716 ] }, { - "teal": 2939, + "teal": 2937, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2716, - 2717, - 2718 + 2717 ] }, { - "teal": 2940, + "teal": 2938, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2719 + 2718 ] }, { - "teal": 2941, + "teal": 2939, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2720 + 2719 ] }, { - "teal": 2942, + "teal": 2940, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2721 + 2720 ] }, { "teal": 2943, "source": "examples/reti/validatorRegistry.algo.ts:830", + "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)", "pc": [ - 2722 + 2721 ] }, { "teal": 2946, - "source": "examples/reti/validatorRegistry.algo.ts:830", - "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)", + "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2723 + 2722, + 2723, + 2724 ] }, { - "teal": 2949, + "teal": 2947, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2724, - 2725, - 2726 + 2725 ] }, { - "teal": 2950, + "teal": 2948, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2727 + 2726 ] }, { - "teal": 2951, + "teal": 2963, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2728 + 2727, + 2728, + 2729 ] }, { "teal": 2966, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2729, - 2730, - 2731 + 2730 ] }, { - "teal": 2969, + "teal": 2967, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ + 2731, 2732 ] }, { - "teal": 2970, - "source": "examples/reti/validatorRegistry.algo.ts:829", + "teal": 2972, + "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2733, 2734 ] }, { - "teal": 2975, + "teal": 2973, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2735, @@ -13878,38 +13878,38 @@ ] }, { - "teal": 2976, + "teal": 2974, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ - 2737, - 2738 + 2737 ] }, { - "teal": 2977, + "teal": 2975, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ - 2739 + 2738, + 2739, + 2740 ] }, { - "teal": 2978, - "source": "examples/reti/validatorRegistry.algo.ts:836", + "teal": 2980, + "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2740, - 2741, - 2742 + 2741 ] }, { - "teal": 2983, + "teal": 2981, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2742, 2743 ] }, { - "teal": 2984, + "teal": 2982, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2744, @@ -13917,22 +13917,22 @@ ] }, { - "teal": 2985, + "teal": 2983, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2746, - 2747 + 2746 ] }, { - "teal": 2986, + "teal": 2984, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2747, 2748 ] }, { - "teal": 2987, + "teal": 2985, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2749, @@ -13940,22 +13940,22 @@ ] }, { - "teal": 2988, + "teal": 2986, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2751, - 2752 + 2751 ] }, { - "teal": 2989, + "teal": 2987, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2752, 2753 ] }, { - "teal": 2990, + "teal": 2988, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2754, @@ -13963,7 +13963,7 @@ ] }, { - "teal": 2991, + "teal": 2989, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2756, @@ -13971,7 +13971,7 @@ ] }, { - "teal": 2992, + "teal": 2990, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2758, @@ -13979,114 +13979,114 @@ ] }, { - "teal": 2993, + "teal": 2991, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2760, - 2761 + 2760 ] }, { - "teal": 2994, - "source": "examples/reti/validatorRegistry.algo.ts:837", + "teal": 2996, + "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ + 2761, 2762 ] }, { - "teal": 2999, + "teal": 2997, "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ 2763, - 2764 + 2764, + 2765 ] }, { - "teal": 3000, - "source": "examples/reti/validatorRegistry.algo.ts:839", + "teal": 3001, + "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2765, 2766, 2767 ] }, { - "teal": 3004, + "teal": 3002, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2768, - 2769 + 2768 ] }, { - "teal": 3005, + "teal": 3003, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2770 + 2769 ] }, { - "teal": 3006, + "teal": 3004, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2771 + 2770 ] }, { - "teal": 3007, + "teal": 3005, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2772 + 2771, + 2772, + 2773 ] }, { - "teal": 3008, + "teal": 3006, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2773, 2774, 2775 ] }, { - "teal": 3009, + "teal": 3007, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2776, - 2777 + 2776 ] }, { - "teal": 3010, + "teal": 3008, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2778 + 2777 ] }, { - "teal": 3011, + "teal": 3009, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2779 + 2778 ] }, { - "teal": 3012, + "teal": 3013, "source": "examples/reti/validatorRegistry.algo.ts:843", + "errorMessage": "should only be called if algo or reward was removed", "pc": [ - 2780 + 2779 ] }, { - "teal": 3016, - "source": "examples/reti/validatorRegistry.algo.ts:843", - "errorMessage": "should only be called if algo or reward was removed", + "teal": 3017, + "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ + 2780, 2781 ] }, { - "teal": 3020, + "teal": 3018, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2782, @@ -14094,1025 +14094,1025 @@ ] }, { - "teal": 3021, + "teal": 3019, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2784, - 2785 + 2785, + 2786 ] }, { - "teal": 3022, + "teal": 3020, + "source": "examples/reti/validatorRegistry.algo.ts:846", + "pc": [ + 2787 + ] + }, + { + "teal": 3021, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2786, - 2787, 2788 ] }, { - "teal": 3023, + "teal": 3022, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2789 ] }, + { + "teal": 3023, + "source": "examples/reti/validatorRegistry.algo.ts:846", + "pc": [ + 2790, + 2791 + ] + }, { "teal": 3024, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2790 + 2792 ] }, { "teal": 3025, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2791 + 2793 ] }, { "teal": 3026, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2792, - 2793 + 2794, + 2795 ] }, { "teal": 3027, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2794 + 2796 ] }, { "teal": 3028, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2795 + 2797, + 2798 ] }, { "teal": 3029, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2796, - 2797 + 2799, + 2800 ] }, { "teal": 3030, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2798 + 2801, + 2802, + 2803 ] }, { "teal": 3031, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2799, - 2800 + 2804 ] }, { "teal": 3032, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2801, - 2802 + 2805 ] }, { "teal": 3033, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2803, - 2804, - 2805 + 2806 ] }, { "teal": 3034, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2806 + 2807, + 2808 ] }, { "teal": 3035, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2807 + 2809 ] }, { "teal": 3036, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2808 + 2810 ] }, { "teal": 3037, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2809, - 2810 + 2811, + 2812 ] }, { "teal": 3038, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2811 + 2813 ] }, { "teal": 3039, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2812 + 2814 ] }, { "teal": 3040, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2813, - 2814 + 2815 ] }, { "teal": 3041, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2815 + 2816, + 2817 ] }, { "teal": 3042, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2816 + 2818, + 2819, + 2820 ] }, { "teal": 3043, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2817 + 2821 ] }, { "teal": 3044, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2818, - 2819 + 2822 ] }, { "teal": 3045, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2820, - 2821, - 2822 + 2823 ] }, { "teal": 3046, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2823 + 2824, + 2825 ] }, { "teal": 3047, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2824 + 2826 ] }, { "teal": 3048, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2825 + 2827 ] }, { "teal": 3049, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2826, - 2827 + 2828, + 2829 ] }, { "teal": 3050, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2828 + 2830 ] }, { "teal": 3051, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2829 + 2831 ] }, { "teal": 3052, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2830, - 2831 + 2832 ] }, { "teal": 3053, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2832 + 2833, + 2834 ] }, { "teal": 3054, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2833 + 2835, + 2836, + 2837 ] }, { "teal": 3055, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2834 + 2838 ] }, { "teal": 3056, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2835, - 2836 + 2839 ] }, { "teal": 3057, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2837, - 2838, - 2839 + 2840 ] }, { "teal": 3058, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2840 + 2841, + 2842 ] }, { "teal": 3059, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2841 + 2843 ] }, { - "teal": 3060, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3063, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2842 + 2844, + 2845 ] }, { - "teal": 3061, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3064, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2843, - 2844 + 2846 ] }, { - "teal": 3062, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3065, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2845 + 2847 ] }, { "teal": 3066, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2846, - 2847 + 2848 ] }, { "teal": 3067, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2848 + 2849, + 2850 ] }, { "teal": 3068, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2849 + 2851, + 2852, + 2853 ] }, { "teal": 3069, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2850 + 2854 ] }, { "teal": 3070, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2851, - 2852 + 2855 ] }, { "teal": 3071, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2853, - 2854, - 2855 + 2856 ] }, { "teal": 3072, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2856 + 2857, + 2858 ] }, { "teal": 3073, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2857 + 2859 ] }, { "teal": 3074, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2858 + 2860 ] }, { "teal": 3075, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2859, - 2860 + 2861, + 2862 ] }, { "teal": 3076, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2861 + 2863 ] }, { "teal": 3077, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2862 + 2864 ] }, { "teal": 3078, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2863, - 2864 + 2865 ] }, { "teal": 3079, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2865 + 2866, + 2867 ] }, { "teal": 3080, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2866 + 2868, + 2869, + 2870 ] }, { "teal": 3081, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2867 + 2871 ] }, { "teal": 3082, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2868, - 2869 + 2872 ] }, { "teal": 3083, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2870, - 2871, - 2872 + 2873 ] }, { "teal": 3084, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2873 + 2874, + 2875 ] }, { "teal": 3085, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2874 + 2876 ] }, { - "teal": 3086, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3089, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2875 + 2877, + 2878 ] }, { - "teal": 3087, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3090, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2876, - 2877 + 2879 ] }, { - "teal": 3088, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3091, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2878 + 2880, + 2881 ] }, { "teal": 3092, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2879, - 2880 + 2882 ] }, { "teal": 3093, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2881 + 2883, + 2884 ] }, { "teal": 3094, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2882, - 2883 + 2885 ] }, { "teal": 3095, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2884 + 2886 ] }, { - "teal": 3096, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3100, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2885, - 2886 + 2887, + 2888 ] }, { - "teal": 3097, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3101, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2887 + 2889 ] }, { - "teal": 3098, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3102, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2888 + 2890 ] }, { "teal": 3103, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2889, - 2890 + 2891, + 2892, + 2893 ] }, { - "teal": 3104, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3108, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2891 + 2894, + 2895 ] }, { - "teal": 3105, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3109, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2892 + 2896 ] }, { - "teal": 3106, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3110, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2893, - 2894, - 2895 + 2897 ] }, { "teal": 3111, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2896, - 2897 + 2898, + 2899 ] }, { "teal": 3112, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2898 + 2900, + 2901, + 2902 ] }, { "teal": 3113, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2899 + 2903 ] }, { "teal": 3114, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2900, - 2901 + 2904 ] }, { "teal": 3115, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2902, - 2903, - 2904 + 2905 ] }, { "teal": 3116, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2905 + 2906, + 2907 ] }, { "teal": 3117, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2906 + 2908 ] }, { "teal": 3118, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2907 + 2909 ] }, { "teal": 3119, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2908, - 2909 + 2910, + 2911 ] }, { - "teal": 3120, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3123, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2910 + 2912, + 2913 ] }, { - "teal": 3121, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3124, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2911 + 2914 ] }, { - "teal": 3122, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3125, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2912, - 2913 + 2915 ] }, { - "teal": 3126, + "teal": 3128, "source": "examples/reti/validatorRegistry.algo.ts:852", + "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!", "pc": [ - 2914, - 2915 + 2916 ] }, { - "teal": 3127, - "source": "examples/reti/validatorRegistry.algo.ts:852", + "teal": 3135, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2916 + 2917, + 2918 ] }, { - "teal": 3128, - "source": "examples/reti/validatorRegistry.algo.ts:852", + "teal": 3136, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2917 + 2919 ] }, { - "teal": 3131, - "source": "examples/reti/validatorRegistry.algo.ts:852", - "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!", + "teal": 3137, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2918 + 2920 ] }, { "teal": 3138, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2919, - 2920 + 2921, + 2922 ] }, { "teal": 3139, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2921 + 2923, + 2924, + 2925 ] }, { "teal": 3140, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2922 + 2926 ] }, { "teal": 3141, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2923, - 2924 + 2927 ] }, { "teal": 3142, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2925, - 2926, - 2927 + 2928 ] }, { "teal": 3143, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2928 + 2929, + 2930 ] }, { "teal": 3144, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2929 + 2931 ] }, { "teal": 3145, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2930 + 2932 ] }, { "teal": 3146, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2931, - 2932 + 2933, + 2934 ] }, { "teal": 3147, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2933 + 2935 ] }, { - "teal": 3148, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3150, + "source": "examples/reti/validatorRegistry.algo.ts:853", + "errorMessage": "reward being removed must be covered by hold back amount", "pc": [ - 2934 + 2936 ] }, { - "teal": 3149, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3154, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2935, - 2936 + 2937, + 2938 ] }, { - "teal": 3150, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3155, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2937 + 2939 ] }, { - "teal": 3153, - "source": "examples/reti/validatorRegistry.algo.ts:853", - "errorMessage": "reward being removed must be covered by hold back amount", + "teal": 3156, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2938 + 2940 ] }, { "teal": 3157, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2939, - 2940 + 2941 ] }, { "teal": 3158, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2941 + 2942, + 2943 ] }, { "teal": 3159, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2942 + 2944, + 2945, + 2946 ] }, { "teal": 3160, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2943 + 2947 ] }, { "teal": 3161, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2944, - 2945 + 2948 ] }, { "teal": 3162, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2946, - 2947, - 2948 + 2949 ] }, { "teal": 3163, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2949 + 2950, + 2951 ] }, { "teal": 3164, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2950 + 2952 ] }, { "teal": 3165, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2951 + 2953 ] }, { "teal": 3166, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2952, - 2953 + 2954, + 2955 ] }, { "teal": 3167, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2954 + 2956 ] }, { "teal": 3168, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2955 + 2957 ] }, { "teal": 3169, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2956, - 2957 + 2958 ] }, { "teal": 3170, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2958 + 2959, + 2960 ] }, { "teal": 3171, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2959 + 2961, + 2962, + 2963 ] }, { "teal": 3172, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2960 + 2964 ] }, { "teal": 3173, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2961, - 2962 - ] - }, - { - "teal": 3174, - "source": "examples/reti/validatorRegistry.algo.ts:859", - "pc": [ - 2963, - 2964, 2965 ] }, { - "teal": 3175, + "teal": 3174, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2966 ] }, { - "teal": 3176, - "source": "examples/reti/validatorRegistry.algo.ts:859", - "pc": [ - 2967 - ] - }, - { - "teal": 3177, + "teal": 3175, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ + 2967, 2968 ] }, { - "teal": 3178, + "teal": 3176, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2969, - 2970 + 2969 ] }, { - "teal": 3179, - "source": "examples/reti/validatorRegistry.algo.ts:859", + "teal": 3181, + "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ + 2970, 2971 ] }, { - "teal": 3184, + "teal": 3182, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2972, - 2973 + 2973, + 2974 ] }, { - "teal": 3185, + "teal": 3183, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2974, - 2975, - 2976 + 2975 ] }, { - "teal": 3186, + "teal": 3184, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2977 + 2976 ] }, { - "teal": 3187, + "teal": 3185, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2978 + 2977 ] }, { - "teal": 3188, + "teal": 3186, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2979 + 2978, + 2979, + 2980 ] }, { - "teal": 3189, - "source": "examples/reti/validatorRegistry.algo.ts:864", + "teal": 3194, + "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 2980, - 2981, - 2982 + 2981 ] }, { - "teal": 3197, + "teal": 3195, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ + 2982, 2983 ] }, { - "teal": 3198, + "teal": 3196, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2984, @@ -15120,7 +15120,7 @@ ] }, { - "teal": 3199, + "teal": 3197, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2986, @@ -15128,7 +15128,7 @@ ] }, { - "teal": 3200, + "teal": 3198, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2988, @@ -15136,105 +15136,105 @@ ] }, { - "teal": 3201, - "source": "examples/reti/validatorRegistry.algo.ts:865", + "teal": 3202, + "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2990, 2991 ] }, { - "teal": 3205, + "teal": 3203, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2992, - 2993 + 2992 ] }, { - "teal": 3206, + "teal": 3204, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2994 + 2993 ] }, { - "teal": 3207, + "teal": 3205, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 2994, 2995 ] }, { - "teal": 3208, + "teal": 3206, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2996, - 2997 + 2997, + 2998 ] }, { - "teal": 3209, + "teal": 3207, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2998, - 2999, - 3000 + 2999 ] }, { - "teal": 3210, + "teal": 3208, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3001 + 3000 ] }, { - "teal": 3211, + "teal": 3209, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3002 + 3001 ] }, { - "teal": 3212, + "teal": 3210, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 3002, 3003 ] }, { - "teal": 3213, + "teal": 3211, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3004, - 3005 + 3004 ] }, { - "teal": 3214, + "teal": 3212, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3006 + 3005 ] }, { - "teal": 3215, + "teal": 3213, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 3006, 3007 ] }, { - "teal": 3216, - "source": "examples/reti/validatorRegistry.algo.ts:866", + "teal": 3217, + "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3008, 3009 ] }, { - "teal": 3220, + "teal": 3218, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3010, @@ -15242,7 +15242,7 @@ ] }, { - "teal": 3221, + "teal": 3219, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3012, @@ -15250,22 +15250,22 @@ ] }, { - "teal": 3222, + "teal": 3220, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ - 3014, - 3015 + 3014 ] }, { - "teal": 3223, + "teal": 3221, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ + 3015, 3016 ] }, { - "teal": 3224, + "teal": 3222, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3017, @@ -15273,32 +15273,32 @@ ] }, { - "teal": 3225, + "teal": 3223, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ - 3019, - 3020 + 3019 ] }, { - "teal": 3226, + "teal": 3224, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ + 3020, 3021 ] }, { "teal": 3227, - "source": "examples/reti/validatorRegistry.algo.ts:867", + "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 3022, - 3023 + 3022 ] }, { - "teal": 3230, + "teal": 3228, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ + 3023, 3024 ] }, @@ -15306,45 +15306,45 @@ "teal": 3231, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 3025, - 3026 + 3025 ] }, { "teal": 3234, - "source": "examples/reti/validatorRegistry.algo.ts:865", + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 3027 + 3026, + 3027, + 3028 ] }, { - "teal": 3237, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3242, + "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ - 3028, 3029, 3030 ] }, { - "teal": 3245, + "teal": 3243, "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ 3031, - 3032 + 3032, + 3033 ] }, { - "teal": 3246, - "source": "examples/reti/validatorRegistry.algo.ts:892", + "teal": 3248, + "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3033, 3034, 3035 ] }, { - "teal": 3251, + "teal": 3249, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3036, @@ -15352,460 +15352,460 @@ ] }, { - "teal": 3252, + "teal": 3250, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3038, - 3039 + 3039, + 3040 ] }, { - "teal": 3253, + "teal": 3251, + "source": "examples/reti/validatorRegistry.algo.ts:894", + "pc": [ + 3041 + ] + }, + { + "teal": 3252, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3040, - 3041, 3042 ] }, { - "teal": 3254, + "teal": 3253, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3043 ] }, + { + "teal": 3254, + "source": "examples/reti/validatorRegistry.algo.ts:894", + "pc": [ + 3044, + 3045 + ] + }, { "teal": 3255, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3044 + 3046 ] }, { "teal": 3256, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3045 + 3047 ] }, { "teal": 3257, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3046, - 3047 + 3048 ] }, { "teal": 3258, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3048 + 3049 ] }, { "teal": 3259, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3049 + 3050, + 3051 ] }, { "teal": 3260, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3050 + 3052, + 3053 ] }, { "teal": 3261, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3051 + 3054, + 3055, + 3056 ] }, { "teal": 3262, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3052, - 3053 + 3057 ] }, { "teal": 3263, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3054, - 3055 + 3058 ] }, { "teal": 3264, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3056, - 3057, - 3058 + 3059 ] }, { "teal": 3265, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3059 + 3060, + 3061 ] }, { "teal": 3266, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3060 + 3062 ] }, { "teal": 3267, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3061 + 3063 ] }, { "teal": 3268, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3062, - 3063 + 3064 ] }, { "teal": 3269, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3064 + 3065 ] }, { "teal": 3270, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3065 + 3066, + 3067 ] }, { "teal": 3271, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3066 + 3068 ] }, { "teal": 3272, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3067 + 3069, + 3070 ] }, { "teal": 3273, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3068, - 3069 + 3071, + 3072, + 3073 ] }, { "teal": 3274, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3070 + 3074 ] }, { "teal": 3275, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3071, - 3072 + 3075 ] }, { "teal": 3276, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3073, - 3074, - 3075 + 3076 ] }, { "teal": 3277, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3076 + 3077, + 3078 ] }, { "teal": 3278, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3077 + 3079 ] }, { "teal": 3279, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3078 + 3080 ] }, { "teal": 3280, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3079, - 3080 + 3081 ] }, { "teal": 3281, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3081 + 3082 ] }, { "teal": 3282, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3082 + 3083 ] }, { "teal": 3283, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3083 + 3084, + 3085, + 3086 ] }, { "teal": 3284, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3084 + 3087 ] }, { "teal": 3285, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3085 + 3088, + 3089 ] }, { "teal": 3286, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3086, - 3087, - 3088 + 3090, + 3091, + 3092 ] }, { "teal": 3287, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3089 + 3093 ] }, { "teal": 3288, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3090, - 3091 - ] - }, - { - "teal": 3289, - "source": "examples/reti/validatorRegistry.algo.ts:894", - "pc": [ - 3092, - 3093, 3094 ] }, { - "teal": 3290, + "teal": 3289, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3095 ] }, { - "teal": 3291, - "source": "examples/reti/validatorRegistry.algo.ts:894", - "pc": [ - 3096 - ] - }, - { - "teal": 3292, + "teal": 3290, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ + 3096, 3097 ] }, { - "teal": 3293, + "teal": 3291, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3098, - 3099 + 3098 ] }, { - "teal": 3294, - "source": "examples/reti/validatorRegistry.algo.ts:894", + "teal": 3299, + "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ + 3099, 3100 ] }, { - "teal": 3302, + "teal": 3300, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3101, - 3102 + 3102, + 3103 ] }, { - "teal": 3303, + "teal": 3301, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ - 3103, - 3104, - 3105 + 3104 ] }, { - "teal": 3304, + "teal": 3302, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ - 3106 + 3105 ] }, { - "teal": 3305, - "source": "examples/reti/validatorRegistry.algo.ts:897", + "teal": 3303, + "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ + 3106, 3107 ] }, { - "teal": 3306, + "teal": 3304, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3108, - 3109 + 3109, + 3110 ] }, { - "teal": 3307, + "teal": 3305, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3110, - 3111, - 3112 + 3111 ] }, { - "teal": 3308, + "teal": 3306, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3113 + 3112 ] }, { - "teal": 3309, + "teal": 3307, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3114 + 3113 ] }, { - "teal": 3310, - "source": "examples/reti/validatorRegistry.algo.ts:898", + "teal": 3308, + "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ + 3114, 3115 ] }, { - "teal": 3311, + "teal": 3309, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3116, - 3117 + 3117, + 3118 ] }, { - "teal": 3312, + "teal": 3310, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3118, - 3119, - 3120 + 3119 ] }, { - "teal": 3313, + "teal": 3311, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3121 + 3120 ] }, { - "teal": 3314, + "teal": 3312, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3122 + 3121 ] }, { - "teal": 3315, - "source": "examples/reti/validatorRegistry.algo.ts:899", + "teal": 3313, + "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ + 3122, 3123 ] }, { - "teal": 3316, + "teal": 3314, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ 3124, - 3125 + 3125, + 3126 ] }, { - "teal": 3317, + "teal": 3315, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ - 3126, 3127, 3128 ] }, { - "teal": 3318, - "source": "examples/reti/validatorRegistry.algo.ts:896", + "teal": 3319, + "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3129, 3130 ] }, { - "teal": 3322, + "teal": 3320, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3131, @@ -15813,7 +15813,7 @@ ] }, { - "teal": 3323, + "teal": 3321, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3133, @@ -15821,37 +15821,37 @@ ] }, { - "teal": 3324, + "teal": 3322, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ - 3135, - 3136 + 3135 ] }, { - "teal": 3325, + "teal": 3323, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ - 3137 + 3136 ] }, { - "teal": 3326, + "teal": 3324, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ + 3137, 3138 ] }, { - "teal": 3327, - "source": "examples/reti/validatorRegistry.algo.ts:901", + "teal": 3328, + "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3139, 3140 ] }, { - "teal": 3331, + "teal": 3329, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3141, @@ -15859,7 +15859,7 @@ ] }, { - "teal": 3332, + "teal": 3330, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3143, @@ -15867,633 +15867,633 @@ ] }, { - "teal": 3333, + "teal": 3331, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ - 3145, - 3146 + 3145 ] }, { - "teal": 3334, + "teal": 3332, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ - 3147 + 3146 ] }, { - "teal": 3335, + "teal": 3333, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ + 3147, 3148 ] }, { - "teal": 3336, - "source": "examples/reti/validatorRegistry.algo.ts:902", + "teal": 3338, + "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3149, 3150 ] }, { - "teal": 3341, + "teal": 3339, "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3151, - 3152 + 3152, + 3153 ] }, { - "teal": 3342, - "source": "examples/reti/validatorRegistry.algo.ts:904", + "teal": 3344, + "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3153, 3154, 3155 ] }, { - "teal": 3347, + "teal": 3345, + "source": "examples/reti/validatorRegistry.algo.ts:905", + "pc": [ + 3156 + ] + }, + { + "teal": 3346, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3156, 3157 ] }, { - "teal": 3348, + "teal": 3347, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3158 ] }, + { + "teal": 3348, + "source": "examples/reti/validatorRegistry.algo.ts:905", + "pc": [ + 3159, + 3160 + ] + }, { "teal": 3349, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3159 + 3161, + 3162, + 3163 ] }, { "teal": 3350, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3160 + 3164 ] }, { "teal": 3351, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3161, - 3162 + 3165 ] }, { "teal": 3352, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3163, - 3164, - 3165 + 3166 ] }, { "teal": 3353, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3166 + 3167, + 3168 ] }, { "teal": 3354, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3167 + 3169 ] }, { "teal": 3355, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3168 + 3170 ] }, { "teal": 3356, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3169, - 3170 + 3171 ] }, { "teal": 3357, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3171 + 3172 ] }, { "teal": 3358, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3172 + 3173 ] }, { "teal": 3359, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3173 + 3174 ] }, { "teal": 3360, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3174 + 3175, + 3176 ] }, { "teal": 3361, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3175 + 3177, + 3178, + 3179 ] }, { "teal": 3362, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3176 + 3180 ] }, { "teal": 3363, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3177, - 3178 - ] - }, - { - "teal": 3364, - "source": "examples/reti/validatorRegistry.algo.ts:905", - "pc": [ - 3179, - 3180, 3181 ] }, { - "teal": 3365, + "teal": 3364, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3182 ] }, { - "teal": 3366, - "source": "examples/reti/validatorRegistry.algo.ts:905", - "pc": [ - 3183 - ] - }, - { - "teal": 3367, + "teal": 3365, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ + 3183, 3184 ] }, { - "teal": 3368, + "teal": 3366, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3185, - 3186 + 3185 ] }, { - "teal": 3369, - "source": "examples/reti/validatorRegistry.algo.ts:905", + "teal": 3372, + "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ + 3186, 3187 ] }, { - "teal": 3375, + "teal": 3373, "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ 3188, - 3189 + 3189, + 3190 ] }, { - "teal": 3376, - "source": "examples/reti/validatorRegistry.algo.ts:908", + "teal": 3378, + "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3190, 3191, 3192 ] }, { - "teal": 3381, + "teal": 3379, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3193, - 3194 + 3193 ] }, { - "teal": 3382, + "teal": 3380, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3195 + 3194 ] }, { - "teal": 3383, + "teal": 3381, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3196 + 3195 ] }, { - "teal": 3384, + "teal": 3382, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ + 3196, 3197 ] }, { - "teal": 3385, + "teal": 3383, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3198, - 3199 + 3198 ] }, { - "teal": 3386, + "teal": 3384, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3200 + 3199 ] }, { - "teal": 3387, - "source": "examples/reti/validatorRegistry.algo.ts:909", + "teal": 3389, + "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 3201 + 3200 ] }, { - "teal": 3392, - "source": "examples/reti/validatorRegistry.algo.ts:829", + "teal": 3394, + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3202 + 3201 ] }, { "teal": 3397, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ - 3203 + 3202, + 3203, + 3204 ] }, { - "teal": 3400, + "teal": 3398, "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ - 3204, - 3205, - 3206 + 3205 ] }, { "teal": 3401, - "source": "examples/reti/validatorRegistry.algo.ts:928", + "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3207 + 3206, + 3207, + 3208 ] }, { - "teal": 3404, + "teal": 3402, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3208, - 3209, - 3210 + 3209 ] }, { - "teal": 3405, + "teal": 3403, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3211 + 3210 ] }, { - "teal": 3406, + "teal": 3404, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ + 3211, 3212 ] }, { - "teal": 3407, + "teal": 3405, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3213, - 3214 + 3213 ] }, { "teal": 3408, "source": "examples/reti/validatorRegistry.algo.ts:927", + "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address", "pc": [ - 3215 + 3214 ] }, { "teal": 3411, - "source": "examples/reti/validatorRegistry.algo.ts:927", - "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ - 3216 + 3215, + 3216, + 3217 ] }, { - "teal": 3414, + "teal": 3412, "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ - 3217, - 3218, - 3219 + 3218 ] }, { "teal": 3415, - "source": "examples/reti/validatorRegistry.algo.ts:926", + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3220 + 3219, + 3220, + 3221 ] }, { - "teal": 3418, + "teal": 3416, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3221, - 3222, - 3223 + 3222 ] }, { - "teal": 3419, + "teal": 3417, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3224 + 3223 ] }, { - "teal": 3420, + "teal": 3418, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3225 + 3224 ] }, { - "teal": 3421, + "teal": 3419, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3226 + 3225 ] }, { - "teal": 3422, + "teal": 3433, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3227 + 3226, + 3227, + 3228 ] }, { "teal": 3436, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3228, - 3229, - 3230 + 3229 ] }, { - "teal": 3439, + "teal": 3437, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ + 3230, 3231 ] }, { - "teal": 3440, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "teal": 3441, + "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ - 3232, - 3233 + 3232 ] }, { - "teal": 3444, + "teal": 3442, "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ + 3233, 3234 ] }, { - "teal": 3445, - "source": "examples/reti/validatorRegistry.algo.ts:930", + "teal": 3446, + "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ - 3235, - 3236 + 3235 ] }, { - "teal": 3449, + "teal": 3447, "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ + 3236, 3237 ] }, { - "teal": 3450, - "source": "examples/reti/validatorRegistry.algo.ts:931", + "teal": 3451, + "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3238, 3239 ] }, { - "teal": 3454, + "teal": 3452, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3240, - 3241 + 3241, + 3242 ] }, { - "teal": 3455, + "teal": 3453, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ - 3242, 3243, 3244 ] }, { - "teal": 3456, - "source": "examples/reti/validatorRegistry.algo.ts:939", + "teal": 3458, + "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3245, - 3246 + 3245 ] }, { - "teal": 3461, + "teal": 3459, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ + 3246, 3247 ] }, { - "teal": 3462, + "teal": 3460, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3248, - 3249 + 3248 ] }, { - "teal": 3463, + "teal": 3461, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3250 + 3249 ] }, { - "teal": 3464, + "teal": 3462, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3251 + 3250 ] }, { - "teal": 3465, + "teal": 3463, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3252 + 3251 ] }, { - "teal": 3466, + "teal": 3464, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3253 + 3252, + 3253, + 3254 ] }, { - "teal": 3467, - "source": "examples/reti/validatorRegistry.algo.ts:942", + "teal": 3469, + "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3254, - 3255, - 3256 + 3255 ] }, { - "teal": 3472, + "teal": 3470, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ + 3256, 3257 ] }, { - "teal": 3473, + "teal": 3471, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3258, - 3259 + 3258 ] }, { - "teal": 3474, + "teal": 3472, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3260 + 3259 ] }, { "teal": 3475, "source": "examples/reti/validatorRegistry.algo.ts:943", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 3261 + 3260 ] }, { - "teal": 3478, + "teal": 3476, "source": "examples/reti/validatorRegistry.algo.ts:943", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 3261, 3262 ] }, { - "teal": 3479, - "source": "examples/reti/validatorRegistry.algo.ts:943", + "teal": 3480, + "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3263, 3264 ] }, { - "teal": 3483, + "teal": 3481, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3265, - 3266 + 3265 ] }, { - "teal": 3484, + "teal": 3482, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3267 + 3266 ] }, { - "teal": 3485, + "teal": 3483, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3268 + 3267 ] }, { - "teal": 3486, - "source": "examples/reti/validatorRegistry.algo.ts:944", + "teal": 3487, + "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3269 + 3268 ] }, { - "teal": 3490, + "teal": 3488, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ + 3269, 3270 ] }, { - "teal": 3491, + "teal": 3493, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3271, @@ -16501,7 +16501,7 @@ ] }, { - "teal": 3496, + "teal": 3494, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3273, @@ -16509,31 +16509,31 @@ ] }, { - "teal": 3497, + "teal": 3495, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3275, - 3276 + 3275 ] }, { - "teal": 3498, + "teal": 3496, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3277 + 3276, + 3277, + 3278 ] }, { - "teal": 3499, - "source": "examples/reti/validatorRegistry.algo.ts:945", + "teal": 3501, + "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3278, 3279, 3280 ] }, { - "teal": 3504, + "teal": 3502, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3281, @@ -16541,38 +16541,38 @@ ] }, { - "teal": 3505, + "teal": 3503, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3283, - 3284 + 3283 ] }, { - "teal": 3506, + "teal": 3504, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3285 + 3284, + 3285, + 3286 ] }, { - "teal": 3507, - "source": "examples/reti/validatorRegistry.algo.ts:946", + "teal": 3509, + "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3286, - 3287, - 3288 + 3287 ] }, { - "teal": 3512, + "teal": 3510, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3288, 3289 ] }, { - "teal": 3513, + "teal": 3511, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3290, @@ -16580,22 +16580,22 @@ ] }, { - "teal": 3514, + "teal": 3512, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3292, - 3293 + 3292 ] }, { - "teal": 3515, + "teal": 3513, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3293, 3294 ] }, { - "teal": 3516, + "teal": 3514, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3295, @@ -16603,22 +16603,22 @@ ] }, { - "teal": 3517, + "teal": 3515, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3297, - 3298 + 3297 ] }, { - "teal": 3518, + "teal": 3516, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3298, 3299 ] }, { - "teal": 3519, + "teal": 3517, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3300, @@ -16626,7 +16626,7 @@ ] }, { - "teal": 3520, + "teal": 3518, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3302, @@ -16634,7 +16634,7 @@ ] }, { - "teal": 3521, + "teal": 3519, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3304, @@ -16642,22 +16642,22 @@ ] }, { - "teal": 3522, + "teal": 3520, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3306, - 3307 + 3306 ] }, { - "teal": 3523, - "source": "examples/reti/validatorRegistry.algo.ts:947", + "teal": 3526, + "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ + 3307, 3308 ] }, { - "teal": 3529, + "teal": 3527, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3309, @@ -16665,111 +16665,111 @@ ] }, { - "teal": 3530, + "teal": 3528, + "source": "examples/reti/validatorRegistry.algo.ts:949", + "pc": [ + 3311 + ] + }, + { + "teal": 3529, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ - 3311, 3312 ] }, { - "teal": 3531, + "teal": 3530, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3313 ] }, { - "teal": 3532, + "teal": 3531, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3314 ] }, { - "teal": 3533, + "teal": 3532, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3315 ] }, { - "teal": 3534, + "teal": 3533, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3316 ] }, { - "teal": 3535, + "teal": 3534, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3317 ] }, { - "teal": 3536, + "teal": 3535, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3318 ] }, { - "teal": 3537, + "teal": 3536, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3319 ] }, { - "teal": 3538, - "source": "examples/reti/validatorRegistry.algo.ts:949", - "pc": [ - 3320 - ] - }, - { - "teal": 3539, + "teal": 3537, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ - 3321 + 3320, + 3321, + 3322 ] }, { "teal": 3540, - "source": "examples/reti/validatorRegistry.algo.ts:949", + "source": "examples/reti/validatorRegistry.algo.ts:950", "pc": [ - 3322, 3323, - 3324 + 3324, + 3325 ] }, { - "teal": 3543, - "source": "examples/reti/validatorRegistry.algo.ts:950", + "teal": 3545, + "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ - 3325, - 3326, - 3327 + 3326 ] }, { - "teal": 3548, + "teal": 3546, "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ + 3327, 3328 ] }, { - "teal": 3549, - "source": "examples/reti/validatorRegistry.algo.ts:952", + "teal": 3551, + "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3329, 3330 ] }, { - "teal": 3554, + "teal": 3552, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3331, @@ -16777,103 +16777,103 @@ ] }, { - "teal": 3555, + "teal": 3553, + "source": "examples/reti/validatorRegistry.algo.ts:953", + "pc": [ + 3333 + ] + }, + { + "teal": 3554, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3333, 3334 ] }, { - "teal": 3556, + "teal": 3555, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3335 ] }, { - "teal": 3557, + "teal": 3556, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3336 ] }, { - "teal": 3558, + "teal": 3557, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3337 ] }, { - "teal": 3559, + "teal": 3558, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3338 ] }, { - "teal": 3560, + "teal": 3559, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3339 ] }, { - "teal": 3561, - "source": "examples/reti/validatorRegistry.algo.ts:953", - "pc": [ - 3340 - ] - }, - { - "teal": 3562, + "teal": 3560, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ + 3340, 3341 ] }, { - "teal": 3563, + "teal": 3561, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3342, - 3343 + 3342 ] }, { - "teal": 3564, + "teal": 3562, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3344 + 3343, + 3344, + 3345 ] }, { - "teal": 3565, - "source": "examples/reti/validatorRegistry.algo.ts:953", + "teal": 3567, + "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ - 3345, - 3346, - 3347 + 3346 ] }, { - "teal": 3570, + "teal": 3568, "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ + 3347, 3348 ] }, { - "teal": 3571, - "source": "examples/reti/validatorRegistry.algo.ts:955", + "teal": 3574, + "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3349, 3350 ] }, { - "teal": 3577, + "teal": 3575, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3351, @@ -16881,7 +16881,7 @@ ] }, { - "teal": 3578, + "teal": 3576, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3353, @@ -16889,363 +16889,363 @@ ] }, { - "teal": 3579, + "teal": 3577, + "source": "examples/reti/validatorRegistry.algo.ts:957", + "pc": [ + 3355 + ] + }, + { + "teal": 3578, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3355, 3356 ] }, { - "teal": 3580, + "teal": 3579, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3357 ] }, { - "teal": 3581, + "teal": 3580, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3358 ] }, { - "teal": 3582, + "teal": 3581, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3359 ] }, { - "teal": 3583, + "teal": 3582, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3360 ] }, { - "teal": 3584, + "teal": 3583, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3361 ] }, { - "teal": 3585, + "teal": 3584, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3362 ] }, { - "teal": 3586, + "teal": 3585, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3363 ] }, + { + "teal": 3586, + "source": "examples/reti/validatorRegistry.algo.ts:957", + "pc": [ + 3364, + 3365 + ] + }, { "teal": 3587, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3364 + 3366 ] }, { "teal": 3588, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3365 + 3367 ] }, { "teal": 3589, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3366, - 3367 + 3368, + 3369 ] }, { "teal": 3590, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3368 + 3370 ] }, { "teal": 3591, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3369 + 3371 ] }, { "teal": 3592, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3370, - 3371 + 3372 ] }, { "teal": 3593, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3372 + 3373, + 3374 ] }, { "teal": 3594, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3373 + 3375 ] }, { "teal": 3595, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3374 + 3376 ] }, { "teal": 3596, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3375, - 3376 + 3377, + 3378 ] }, { "teal": 3597, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3377 + 3379 ] }, { "teal": 3598, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3378 + 3380 ] }, { "teal": 3599, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3379, - 3380 + 3381, + 3382 ] }, { "teal": 3600, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3381 + 3383 ] }, { "teal": 3601, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "source": "examples/reti/validatorRegistry.algo.ts:958", "pc": [ - 3382 + 3384, + 3385 ] }, { "teal": 3602, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3383, - 3384 + 3386 ] }, { "teal": 3603, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "source": "examples/reti/validatorRegistry.algo.ts:956", "pc": [ - 3385 + 3387, + 3388, + 3389 ] }, { - "teal": 3604, - "source": "examples/reti/validatorRegistry.algo.ts:958", + "teal": 3608, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3386, - 3387 + 3390, + 3391 ] }, { - "teal": 3605, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "teal": 3609, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3388 + 3392, + 3393 ] }, { - "teal": 3606, - "source": "examples/reti/validatorRegistry.algo.ts:956", + "teal": 3610, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3389, - 3390, - 3391 + 3394 ] }, { "teal": 3611, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3392, - 3393 + 3395 ] }, { "teal": 3612, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3394, - 3395 + 3396 ] }, { "teal": 3613, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3396 + 3397 ] }, { "teal": 3614, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3397 + 3398, + 3399 ] }, { "teal": 3615, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3398 + 3400 ] }, { "teal": 3616, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3399 + 3401, + 3402 ] }, { "teal": 3617, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3400, - 3401 + 3403 ] }, { "teal": 3618, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3402 + 3404 ] }, { "teal": 3619, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3403, - 3404 + 3405, + 3406 ] }, { "teal": 3620, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3405 + 3407 ] }, { "teal": 3621, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3406 - ] - }, - { - "teal": 3622, - "source": "examples/reti/validatorRegistry.algo.ts:960", - "pc": [ - 3407, 3408 ] }, { - "teal": 3623, - "source": "examples/reti/validatorRegistry.algo.ts:960", - "pc": [ - 3409 - ] - }, - { - "teal": 3624, + "teal": 3622, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3410 + 3409, + 3410, + 3411 ] }, { - "teal": 3625, - "source": "examples/reti/validatorRegistry.algo.ts:960", + "teal": 3631, + "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3411, 3412, 3413 ] }, { - "teal": 3634, + "teal": 3632, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3414, - 3415 + 3414 ] }, { - "teal": 3635, + "teal": 3633, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3416 + 3415 ] }, { - "teal": 3636, + "teal": 3634, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ + 3416, 3417 ] }, { - "teal": 3637, + "teal": 3635, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3418, - 3419 + 3419, + 3420 ] }, { - "teal": 3638, - "source": "examples/reti/validatorRegistry.algo.ts:945", + "teal": 3645, + "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3420, 3421, 3422 ] }, { - "teal": 3648, + "teal": 3646, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3423, @@ -17253,88 +17253,88 @@ ] }, { - "teal": 3649, + "teal": 3647, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3425, - 3426 + 3425 ] }, { - "teal": 3650, + "teal": 3648, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3427 + 3426 ] }, { - "teal": 3651, + "teal": 3649, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ + 3427, 3428 ] }, { - "teal": 3652, + "teal": 3650, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3429, - 3430 + 3429 ] }, { - "teal": 3653, + "teal": 3651, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3431 + 3430 ] }, { - "teal": 3654, + "teal": 3652, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ + 3431, 3432 ] }, { - "teal": 3655, + "teal": 3653, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3433, - 3434 + 3433 ] }, { - "teal": 3656, + "teal": 3654, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3435 + 3434 ] }, { - "teal": 3657, + "teal": 3655, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3436 + 3435 ] }, { "teal": 3658, - "source": "examples/reti/validatorRegistry.algo.ts:968", + "source": "examples/reti/validatorRegistry.algo.ts:967", + "errorMessage": "must stake at least the minimum for this pool", "pc": [ - 3437 + 3436 ] }, { - "teal": 3661, - "source": "examples/reti/validatorRegistry.algo.ts:967", - "errorMessage": "must stake at least the minimum for this pool", + "teal": 3662, + "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3437, 3438 ] }, { - "teal": 3665, + "teal": 3663, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3439, @@ -17342,67 +17342,67 @@ ] }, { - "teal": 3666, + "teal": 3664, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3441, - 3442 + 3441 ] }, { - "teal": 3667, + "teal": 3665, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3442, 3443 ] }, { - "teal": 3668, + "teal": 3666, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3444, - 3445 + 3444 ] }, { - "teal": 3669, + "teal": 3667, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3446 + 3445 ] }, { - "teal": 3670, + "teal": 3668, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3446, 3447 ] }, { - "teal": 3671, + "teal": 3669, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3448, - 3449 + 3448 ] }, { - "teal": 3672, + "teal": 3670, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3449, 3450 ] }, { - "teal": 3673, - "source": "examples/reti/validatorRegistry.algo.ts:973", + "teal": 3674, + "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3451, 3452 ] }, { - "teal": 3677, + "teal": 3675, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3453, @@ -17410,81 +17410,81 @@ ] }, { - "teal": 3678, + "teal": 3676, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3455, - 3456 + 3455 ] }, { - "teal": 3679, + "teal": 3677, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3456, 3457 ] }, { - "teal": 3680, + "teal": 3678, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3458, - 3459 + 3458 ] }, { - "teal": 3681, + "teal": 3679, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3460 + 3459 ] }, { - "teal": 3682, + "teal": 3680, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3460, 3461 ] }, { - "teal": 3683, + "teal": 3681, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3462, - 3463 + 3462 ] }, { - "teal": 3684, + "teal": 3682, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3464 + 3463 ] }, { - "teal": 3685, + "teal": 3683, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3464, 3465 ] }, { - "teal": 3686, - "source": "examples/reti/validatorRegistry.algo.ts:974", + "teal": 3687, + "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3466, - 3467 + 3466 ] }, { - "teal": 3690, + "teal": 3688, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ + 3467, 3468 ] }, { - "teal": 3691, + "teal": 3693, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3469, @@ -17492,7 +17492,7 @@ ] }, { - "teal": 3696, + "teal": 3694, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3471, @@ -17500,31 +17500,31 @@ ] }, { - "teal": 3697, + "teal": 3695, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3473, - 3474 + 3473 ] }, { - "teal": 3698, + "teal": 3696, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3475 + 3474, + 3475, + 3476 ] }, { - "teal": 3699, - "source": "examples/reti/validatorRegistry.algo.ts:975", + "teal": 3701, + "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3476, 3477, 3478 ] }, { - "teal": 3704, + "teal": 3702, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3479, @@ -17532,442 +17532,442 @@ ] }, { - "teal": 3705, + "teal": 3703, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3481, 3482 ] }, + { + "teal": 3704, + "source": "examples/reti/validatorRegistry.algo.ts:976", + "pc": [ + 3483 + ] + }, + { + "teal": 3705, + "source": "examples/reti/validatorRegistry.algo.ts:976", + "pc": [ + 3484, + 3485 + ] + }, { "teal": 3706, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3483, - 3484 + 3486 ] }, { "teal": 3707, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3485 + 3487 ] }, { "teal": 3708, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3486, - 3487 + 3488 ] }, { "teal": 3709, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3488 + 3489 ] }, { "teal": 3710, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3489 + 3490, + 3491 ] }, { "teal": 3711, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3490 + 3492 ] }, { "teal": 3712, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3491 + 3493, + 3494 ] }, { "teal": 3713, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3492, - 3493 + 3495 ] }, { "teal": 3714, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3494 + 3496, + 3497, + 3498 ] }, { - "teal": 3715, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3723, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3495, - 3496 + 3499, + 3500 ] }, { - "teal": 3716, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3724, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3497 + 3501 ] }, { - "teal": 3717, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3725, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3498, - 3499, - 3500 + 3502, + 3503 ] }, { "teal": 3726, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3501, - 3502 + 3504 ] }, { "teal": 3727, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3503 + 3505 ] }, { "teal": 3728, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3504, - 3505 + 3506 ] }, { "teal": 3729, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3506 + 3507 ] }, { "teal": 3730, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3507 + 3508, + 3509 ] }, { "teal": 3731, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3508 + 3510, + 3511 ] }, { "teal": 3732, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3509 + 3512, + 3513 ] }, { "teal": 3733, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3510, - 3511 + 3514 ] }, { "teal": 3734, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3512, - 3513 + 3515 ] }, { "teal": 3735, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3514, - 3515 + 3516 ] }, { "teal": 3736, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3516 + 3517 ] }, { "teal": 3737, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3517 + 3518 ] }, { "teal": 3738, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3518 + 3519 ] }, { "teal": 3739, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3519 + 3520 ] }, { "teal": 3740, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3520 + 3521 ] }, { "teal": 3741, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3521 + 3522, + 3523 ] }, { "teal": 3742, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3522 + 3524 ] }, { "teal": 3743, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3523 + 3525, + 3526 ] }, { "teal": 3744, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3524, - 3525 + 3527 ] }, { "teal": 3745, - "source": "examples/reti/validatorRegistry.algo.ts:979", - "pc": [ - 3526 - ] - }, - { - "teal": 3746, - "source": "examples/reti/validatorRegistry.algo.ts:979", + "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ - 3527, 3528 ] }, { - "teal": 3747, - "source": "examples/reti/validatorRegistry.algo.ts:979", - "pc": [ - 3529 - ] - }, - { - "teal": 3748, + "teal": 3746, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ + 3529, 3530 ] }, { - "teal": 3749, + "teal": 3747, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ - 3531, - 3532 + 3531 ] }, { - "teal": 3750, - "source": "examples/reti/validatorRegistry.algo.ts:980", + "teal": 3748, + "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ - 3533 + 3532 ] }, { - "teal": 3751, + "teal": 3749, "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ - 3534 + 3533, + 3534, + 3535 ] }, { - "teal": 3752, - "source": "examples/reti/validatorRegistry.algo.ts:977", + "teal": 3756, + "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3535, 3536, 3537 ] }, { - "teal": 3759, + "teal": 3757, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3538, - 3539 + 3538 ] }, { - "teal": 3760, + "teal": 3758, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3540 + 3539 ] }, { - "teal": 3761, + "teal": 3759, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ + 3540, 3541 ] }, { - "teal": 3762, + "teal": 3760, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3542, - 3543 + 3543, + 3544 ] }, { - "teal": 3763, - "source": "examples/reti/validatorRegistry.algo.ts:975", + "teal": 3765, + "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3544, 3545, 3546 ] }, { - "teal": 3768, + "teal": 3766, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3547, - 3548 + 3547 ] }, { - "teal": 3769, + "teal": 3767, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3548, 3549 ] }, { - "teal": 3770, + "teal": 3768, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3550, - 3551 + 3550 ] }, { - "teal": 3771, + "teal": 3769, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3551, 3552 ] }, { - "teal": 3772, + "teal": 3770, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3553, - 3554 + 3553 ] }, { - "teal": 3773, + "teal": 3771, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3554, 3555 ] }, { - "teal": 3774, + "teal": 3772, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3556, - 3557 + 3556 ] }, { - "teal": 3775, + "teal": 3773, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3557, 3558 ] }, { - "teal": 3776, + "teal": 3774, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3559, - 3560 + 3559 ] }, { - "teal": 3777, + "teal": 3775, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3561 + 3560 ] }, { - "teal": 3778, + "teal": 3776, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3561, 3562 ] }, { - "teal": 3779, + "teal": 3777, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3563, - 3564 + 3563 ] }, { - "teal": 3780, + "teal": 3778, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3565 + 3564 ] }, { - "teal": 3781, - "source": "examples/reti/validatorRegistry.algo.ts:985", + "teal": 3782, + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ + 3565, 3566 ] }, @@ -17980,207 +17980,207 @@ ] }, { - "teal": 3788, + "teal": 3786, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3569, - 3570 + 3569 ] }, { - "teal": 3789, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "teal": 3791, + "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3571 + 3570, + 3571, + 3572 ] }, { - "teal": 3794, + "teal": 3792, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3572, - 3573, - 3574 + 3573 ] }, { "teal": 3795, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3575 + 3574, + 3575, + 3576 ] }, { - "teal": 3798, + "teal": 3796, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3576, - 3577, - 3578 + 3577 ] }, { "teal": 3799, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3579 + 3578, + 3579, + 3580 ] }, { - "teal": 3802, + "teal": 3800, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3580, - 3581, - 3582 + 3581 ] }, { "teal": 3803, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3583 + 3582, + 3583, + 3584 ] }, { - "teal": 3806, + "teal": 3804, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3584, - 3585, - 3586 + 3585 ] }, { - "teal": 3807, + "teal": 3805, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3587 + 3586 ] }, { - "teal": 3808, + "teal": 3819, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3588 + 3587, + 3588, + 3589 ] }, { "teal": 3822, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3589, - 3590, - 3591 + 3590 ] }, { - "teal": 3825, + "teal": 3823, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ + 3591, 3592 ] }, { - "teal": 3826, - "source": "examples/reti/validatorRegistry.algo.ts:999", + "teal": 3831, + "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3593, 3594 ] }, { - "teal": 3834, + "teal": 3832, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3595, - 3596 + 3595 ] }, { - "teal": 3835, + "teal": 3833, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3596, 3597 ] }, { - "teal": 3836, + "teal": 3834, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3598, - 3599 + 3598 ] }, { - "teal": 3837, + "teal": 3835, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3599, 3600 ] }, { - "teal": 3838, + "teal": 3836, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3601, - 3602 + 3601 ] }, { - "teal": 3839, + "teal": 3837, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3603 + 3602 ] }, { - "teal": 3840, + "teal": 3838, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3603, 3604 ] }, { - "teal": 3841, + "teal": 3839, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3605, - 3606 + 3605 ] }, { - "teal": 3842, + "teal": 3840, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3607 + 3606 ] }, { - "teal": 3843, + "teal": 3841, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3608 + 3607 ] }, { - "teal": 3844, + "teal": 3842, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3609 + 3608, + 3609, + 3610 ] }, { - "teal": 3845, - "source": "examples/reti/validatorRegistry.algo.ts:1002", + "teal": 3843, + "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3610, 3611, 3612 ] }, { - "teal": 3846, + "teal": 3844, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3613, @@ -18188,7 +18188,7 @@ ] }, { - "teal": 3847, + "teal": 3845, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3615, @@ -18196,81 +18196,81 @@ ] }, { - "teal": 3848, + "teal": 3846, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3617, - 3618 + 3617 ] }, { - "teal": 3849, + "teal": 3847, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ + 3618, 3619 ] }, { - "teal": 3850, + "teal": 3848, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3620, - 3621 + 3620 ] }, { - "teal": 3851, + "teal": 3849, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3622 + 3621 ] }, { - "teal": 3852, + "teal": 3850, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ + 3622, 3623 ] }, { - "teal": 3853, + "teal": 3851, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3624, - 3625 + 3624 ] }, { - "teal": 3854, + "teal": 3852, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3626 + 3625 ] }, { - "teal": 3855, - "source": "examples/reti/validatorRegistry.algo.ts:1003", + "teal": 3853, + "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3627 + 3626 ] }, { - "teal": 3856, - "source": "examples/reti/validatorRegistry.algo.ts:1002", + "teal": 3857, + "source": "examples/reti/validatorRegistry.algo.ts:1001", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3628 + 3627 ] }, { - "teal": 3860, - "source": "examples/reti/validatorRegistry.algo.ts:1001", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3861, + "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3628, 3629 ] }, { - "teal": 3864, + "teal": 3862, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3630, @@ -18278,149 +18278,149 @@ ] }, { - "teal": 3865, + "teal": 3863, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3632, - 3633 + 3632 ] }, { - "teal": 3866, + "teal": 3864, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3633, 3634 ] }, { - "teal": 3867, + "teal": 3865, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3635, - 3636 + 3635 ] }, { - "teal": 3868, + "teal": 3866, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3637 + 3636 ] }, { - "teal": 3869, + "teal": 3867, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3637, 3638 ] }, { - "teal": 3870, + "teal": 3868, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3639, - 3640 + 3639 ] }, { - "teal": 3871, + "teal": 3869, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3640, 3641 ] }, { - "teal": 3872, - "source": "examples/reti/validatorRegistry.algo.ts:1007", + "teal": 3873, + "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3642, 3643 ] }, { - "teal": 3876, + "teal": 3874, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3644, - 3645 + 3644 ] }, { - "teal": 3877, + "teal": 3875, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3646 + 3645 ] }, { - "teal": 3878, + "teal": 3876, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3647 + 3646 ] }, { - "teal": 3879, + "teal": 3877, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3648 + 3647, + 3648, + 3649 ] }, { - "teal": 3880, + "teal": 3878, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3649, 3650, 3651 ] }, { - "teal": 3881, + "teal": 3879, + "source": "examples/reti/validatorRegistry.algo.ts:1008", + "pc": [ + 3652 + ] + }, + { + "teal": 3880, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3652, 3653 ] }, { - "teal": 3882, + "teal": 3881, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3654 ] }, { - "teal": 3883, + "teal": 3885, "source": "examples/reti/validatorRegistry.algo.ts:1008", + "errorMessage": "node number out of allowable range", "pc": [ 3655 ] }, { - "teal": 3884, - "source": "examples/reti/validatorRegistry.algo.ts:1008", + "teal": 3889, + "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3656 ] }, { - "teal": 3888, - "source": "examples/reti/validatorRegistry.algo.ts:1008", - "errorMessage": "node number out of allowable range", - "pc": [ - 3657 - ] - }, - { - "teal": 3892, + "teal": 3890, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ + 3657, 3658 ] }, { - "teal": 3893, + "teal": 3895, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3659, @@ -18428,45 +18428,45 @@ ] }, { - "teal": 3898, + "teal": 3896, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3661, - 3662 + 3661 ] }, { - "teal": 3899, + "teal": 3897, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3663 + 3662 ] }, { - "teal": 3900, + "teal": 3898, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3664 + 3663, + 3664, + 3665 ] }, { - "teal": 3901, - "source": "examples/reti/validatorRegistry.algo.ts:1010", + "teal": 3902, + "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3665, - 3666, - 3667 + 3666 ] }, { - "teal": 3905, + "teal": 3903, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3667, 3668 ] }, { - "teal": 3906, + "teal": 3908, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3669, @@ -18474,7 +18474,7 @@ ] }, { - "teal": 3911, + "teal": 3909, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3671, @@ -18482,347 +18482,347 @@ ] }, { - "teal": 3912, + "teal": 3910, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3673, - 3674 + 3673 ] }, { - "teal": 3913, + "teal": 3911, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3675 + 3674, + 3675, + 3676 ] }, { - "teal": 3914, - "source": "examples/reti/validatorRegistry.algo.ts:1011", + "teal": 3916, + "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3676, 3677, 3678 ] }, + { + "teal": 3917, + "source": "examples/reti/validatorRegistry.algo.ts:1012", + "pc": [ + 3679 + ] + }, + { + "teal": 3918, + "source": "examples/reti/validatorRegistry.algo.ts:1012", + "pc": [ + 3680, + 3681 + ] + }, { "teal": 3919, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3679, - 3680 + 3682 ] }, { "teal": 3920, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3681 + 3683 ] }, { "teal": 3921, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3682, - 3683 + 3684 ] }, { "teal": 3922, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3684 + 3685 ] }, { "teal": 3923, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3685 + 3686 ] }, { "teal": 3924, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3686 + 3687, + 3688 ] }, { "teal": 3925, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3687 + 3689 ] }, { "teal": 3926, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3688 + 3690 ] }, { "teal": 3927, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3689, - 3690 + 3691 ] }, { "teal": 3928, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3691 + 3692 ] }, { "teal": 3929, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3692 + 3693 ] }, { "teal": 3930, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3693 + 3694 ] }, { "teal": 3931, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3694 + 3695, + 3696 ] }, { "teal": 3932, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3695 + 3697 ] }, { "teal": 3933, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3696 + 3698, + 3699, + 3700 ] }, { - "teal": 3934, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3938, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3697, - 3698 + 3701, + 3702 ] }, { - "teal": 3935, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3939, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3699 + 3703 ] }, { - "teal": 3936, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3940, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3700, - 3701, - 3702 + 3704 ] }, { "teal": 3941, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3703, - 3704 + 3705, + 3706 ] }, { "teal": 3942, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3705 + 3707 ] }, { - "teal": 3943, + "teal": 3945, "source": "examples/reti/validatorRegistry.algo.ts:1013", + "errorMessage": "can't move to same node", "pc": [ - 3706 + 3708 ] }, { - "teal": 3944, - "source": "examples/reti/validatorRegistry.algo.ts:1013", + "teal": 3949, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3707, - 3708 + 3709, + 3710 ] }, { - "teal": 3945, - "source": "examples/reti/validatorRegistry.algo.ts:1013", + "teal": 3950, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3709 + 3711, + 3712 ] }, { - "teal": 3948, - "source": "examples/reti/validatorRegistry.algo.ts:1013", - "errorMessage": "can't move to same node", + "teal": 3951, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3710 + 3713 ] }, { "teal": 3952, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3711, - 3712 + 3714 ] }, { "teal": 3953, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3713, - 3714 + 3715 ] }, { "teal": 3954, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3715 + 3716 ] }, { "teal": 3955, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3716 + 3717 ] }, { "teal": 3956, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3717 + 3718, + 3719 ] }, { "teal": 3957, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3718 + 3720 ] }, { "teal": 3958, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3719 + 3721 ] }, { "teal": 3959, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3720, - 3721 + 3722 ] }, { "teal": 3960, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3722 + 3723, + 3724 ] }, { "teal": 3961, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3723 + 3725 ] }, { "teal": 3962, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3724 + 3726, + 3727 ] }, { "teal": 3963, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3725, - 3726 + 3728 ] }, { "teal": 3964, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3727 + 3729 ] }, { "teal": 3965, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3728, - 3729 + 3730, + 3731 ] }, { "teal": 3966, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3730 - ] - }, - { - "teal": 3967, - "source": "examples/reti/validatorRegistry.algo.ts:1015", - "pc": [ - 3731 + 3732 ] }, { - "teal": 3968, - "source": "examples/reti/validatorRegistry.algo.ts:1015", + "teal": 3972, + "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3732, 3733 ] }, { - "teal": 3969, - "source": "examples/reti/validatorRegistry.algo.ts:1015", - "pc": [ - 3734 - ] - }, - { - "teal": 3975, + "teal": 3973, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ + 3734, 3735 ] }, { - "teal": 3976, + "teal": 3974, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3736, @@ -18830,35 +18830,35 @@ ] }, { - "teal": 3977, + "teal": 3975, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3738, - 3739 + 3739, + 3740, + 3741, + 3742, + 3743 ] }, { - "teal": 3978, + "teal": 3976, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3740, - 3741, - 3742, - 3743, 3744, 3745 ] }, { - "teal": 3979, - "source": "examples/reti/validatorRegistry.algo.ts:1018", + "teal": 3980, + "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3746, 3747 ] }, { - "teal": 3983, + "teal": 3981, "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3748, @@ -18867,16 +18867,16 @@ }, { "teal": 3984, - "source": "examples/reti/validatorRegistry.algo.ts:1019", + "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3750, - 3751 + 3750 ] }, { - "teal": 3987, + "teal": 3985, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ + 3751, 3752 ] }, @@ -18884,19 +18884,19 @@ "teal": 3988, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3753, - 3754 + 3753 ] }, { - "teal": 3991, - "source": "examples/reti/validatorRegistry.algo.ts:1018", + "teal": 3992, + "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ + 3754, 3755 ] }, { - "teal": 3995, + "teal": 3993, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3756, @@ -18904,7 +18904,7 @@ ] }, { - "teal": 3996, + "teal": 3994, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3758, @@ -18912,595 +18912,595 @@ ] }, { - "teal": 3997, + "teal": 3995, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3760, - 3761 + 3761, + 3762 ] }, { - "teal": 3998, - "source": "examples/reti/validatorRegistry.algo.ts:1023", + "teal": 3999, + "source": "examples/reti/validatorRegistry.algo.ts:1024", "pc": [ - 3762, - 3763, - 3764 + 3763 ] }, { - "teal": 4002, - "source": "examples/reti/validatorRegistry.algo.ts:1024", + "teal": 4006, + "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3764, 3765 ] }, { - "teal": 4009, + "teal": 4007, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3766, - 3767 + 3766 ] }, { - "teal": 4010, + "teal": 4008, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3768 + 3767 ] }, { - "teal": 4011, + "teal": 4009, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3768, 3769 ] }, { - "teal": 4012, + "teal": 4010, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3770, - 3771 + 3771, + 3772 ] }, { - "teal": 4013, - "source": "examples/reti/validatorRegistry.algo.ts:1011", + "teal": 4017, + "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3772, 3773, 3774 ] }, { - "teal": 4020, + "teal": 4018, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3775, - 3776 + 3775 ] }, { - "teal": 4021, + "teal": 4019, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3777 + 3776 ] }, { - "teal": 4022, + "teal": 4020, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ + 3777, 3778 ] }, { - "teal": 4023, + "teal": 4021, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3779, - 3780 + 3780, + 3781 ] }, { - "teal": 4024, - "source": "examples/reti/validatorRegistry.algo.ts:1010", + "teal": 4025, + "source": "examples/reti/validatorRegistry.algo.ts:1028", + "errorMessage": "couldn't find pool app id in nodes to move", "pc": [ - 3781, - 3782, - 3783 + 3782 ] }, { - "teal": 4028, - "source": "examples/reti/validatorRegistry.algo.ts:1028", - "errorMessage": "couldn't find pool app id in nodes to move", + "teal": 4026, + "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3784 + 3783 ] }, { - "teal": 4029, - "source": "examples/reti/validatorRegistry.algo.ts:999", + "teal": 4031, + "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3785 + 3784 ] }, { "teal": 4034, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3786 + 3785, + 3786, + 3787 ] }, { - "teal": 4037, + "teal": 4035, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3787, - 3788, - 3789 + 3788 ] }, { - "teal": 4038, + "teal": 4036, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3790 + 3789 ] }, { - "teal": 4039, + "teal": 4037, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ + 3790, 3791 ] }, { - "teal": 4040, + "teal": 4038, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3792, - 3793 + 3792 ] }, { "teal": 4041, "source": "examples/reti/validatorRegistry.algo.ts:1042", + "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address", "pc": [ - 3794 + 3793 ] }, { "teal": 4044, "source": "examples/reti/validatorRegistry.algo.ts:1042", - "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address", "pc": [ - 3795 + 3794, + 3795, + 3796 ] }, { - "teal": 4047, + "teal": 4045, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3796, - 3797, - 3798 + 3797 ] }, { "teal": 4048, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3799 + 3798, + 3799, + 3800 ] }, { - "teal": 4051, + "teal": 4049, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3800, - 3801, - 3802 + 3801 ] }, { - "teal": 4052, + "teal": 4050, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3803 + 3802 ] }, { - "teal": 4053, + "teal": 4051, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3804 + 3803 ] }, { - "teal": 4054, + "teal": 4052, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3805 + 3804 ] }, { - "teal": 4055, + "teal": 4053, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3806 + 3805 ] }, { - "teal": 4056, + "teal": 4067, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3807 + 3806, + 3807, + 3808 ] }, { "teal": 4070, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3808, - 3809, - 3810 + 3809 ] }, { - "teal": 4073, + "teal": 4071, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ + 3810, 3811 ] }, { - "teal": 4074, - "source": "examples/reti/validatorRegistry.algo.ts:1042", + "teal": 4078, + "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3812, 3813 ] }, { - "teal": 4081, + "teal": 4079, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3814, - 3815 + 3814 ] }, { - "teal": 4082, + "teal": 4080, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3815, 3816 ] }, { - "teal": 4083, + "teal": 4081, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3817, - 3818 + 3817 ] }, { - "teal": 4084, + "teal": 4082, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3818, 3819 ] }, { - "teal": 4085, + "teal": 4083, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3820, - 3821 + 3820 ] }, { - "teal": 4086, + "teal": 4084, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3822 + 3821 ] }, { - "teal": 4087, + "teal": 4085, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3822, 3823 ] }, { - "teal": 4088, + "teal": 4086, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3824, - 3825 + 3824 ] }, { - "teal": 4089, + "teal": 4087, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3826 + 3825 ] }, { "teal": 4090, - "source": "examples/reti/validatorRegistry.algo.ts:1044", + "source": "examples/reti/validatorRegistry.algo.ts:1043", + "errorMessage": "can only be called by validator owner", "pc": [ - 3827 + 3826 ] }, { - "teal": 4093, - "source": "examples/reti/validatorRegistry.algo.ts:1043", - "errorMessage": "can only be called by validator owner", + "teal": 4094, + "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3827, 3828 ] }, { - "teal": 4097, + "teal": 4095, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3829, - 3830 + 3829 ] }, { - "teal": 4098, + "teal": 4096, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3831 + 3830 ] }, { - "teal": 4099, + "teal": 4097, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3831, 3832 ] }, { - "teal": 4100, + "teal": 4098, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3833, - 3834 + 3833 ] }, { - "teal": 4101, + "teal": 4099, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3835 + 3834 ] }, { - "teal": 4102, + "teal": 4100, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3835, 3836 ] }, { - "teal": 4103, + "teal": 4101, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3837, - 3838 + 3837 ] }, { - "teal": 4104, + "teal": 4102, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3839 + 3838 ] }, { - "teal": 4105, + "teal": 4103, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3839, 3840 ] }, { - "teal": 4106, - "source": "examples/reti/validatorRegistry.algo.ts:1047", + "teal": 4107, + "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3841, 3842 ] }, { - "teal": 4110, + "teal": 4108, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3843, - 3844 + 3843 ] }, { - "teal": 4111, + "teal": 4109, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3845 + 3844 ] }, { - "teal": 4112, + "teal": 4110, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3845, 3846 ] }, { - "teal": 4113, + "teal": 4111, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3847, - 3848 + 3847 ] }, { - "teal": 4114, + "teal": 4112, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3849 + 3848 ] }, { - "teal": 4115, + "teal": 4113, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3849, 3850 ] }, { - "teal": 4116, + "teal": 4114, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3851, - 3852 + 3851 ] }, { - "teal": 4117, + "teal": 4115, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3853 + 3852 ] }, { - "teal": 4118, + "teal": 4116, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3853, 3854 ] }, { - "teal": 4119, - "source": "examples/reti/validatorRegistry.algo.ts:1048", + "teal": 4120, + "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ 3855, 3856 ] }, { - "teal": 4123, + "teal": 4121, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ - 3857, - 3858 + 3857 ] }, { - "teal": 4124, + "teal": 4122, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ - 3859 + 3858 ] }, { "teal": 4125, "source": "examples/reti/validatorRegistry.algo.ts:1049", + "errorMessage": "this validator doesn't have a reward token defined", "pc": [ - 3860 + 3859 ] }, { - "teal": 4128, - "source": "examples/reti/validatorRegistry.algo.ts:1049", - "errorMessage": "this validator doesn't have a reward token defined", + "teal": 4129, + "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3860, 3861 ] }, { - "teal": 4132, + "teal": 4130, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3862, - 3863 + 3862 ] }, { - "teal": 4133, + "teal": 4131, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3864 + 3863 ] }, { - "teal": 4134, + "teal": 4132, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3864, 3865 ] }, { - "teal": 4135, + "teal": 4133, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3866, - 3867 + 3866 ] }, { - "teal": 4136, + "teal": 4134, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3868 + 3867 ] }, { - "teal": 4137, + "teal": 4135, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3868, 3869 ] }, { - "teal": 4138, + "teal": 4136, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3870, - 3871 + 3870 ] }, { - "teal": 4139, + "teal": 4137, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3872 + 3871 ] }, { - "teal": 4140, + "teal": 4138, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3872, 3873 ] }, { - "teal": 4141, - "source": "examples/reti/validatorRegistry.algo.ts:1050", + "teal": 4142, + "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3874, 3875 ] }, { - "teal": 4145, + "teal": 4143, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3876, @@ -19508,22 +19508,22 @@ ] }, { - "teal": 4146, + "teal": 4144, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3878, - 3879 + 3878 ] }, { - "teal": 4147, + "teal": 4145, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3879, 3880 ] }, { - "teal": 4148, + "teal": 4146, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3881, @@ -19531,52 +19531,52 @@ ] }, { - "teal": 4149, + "teal": 4147, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3883, - 3884 + 3883 ] }, { - "teal": 4150, + "teal": 4148, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3884, 3885 ] }, { - "teal": 4151, + "teal": 4149, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3886, - 3887 + 3886 ] }, { - "teal": 4152, + "teal": 4150, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3887, 3888 ] }, { - "teal": 4153, - "source": "examples/reti/validatorRegistry.algo.ts:1052", + "teal": 4157, + "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3889, - 3890 + 3889 ] }, { - "teal": 4160, + "teal": 4158, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ + 3890, 3891 ] }, { - "teal": 4161, + "teal": 4159, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3892, @@ -19584,7 +19584,7 @@ ] }, { - "teal": 4162, + "teal": 4160, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3894, @@ -19592,7 +19592,7 @@ ] }, { - "teal": 4163, + "teal": 4161, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3896, @@ -19600,15 +19600,15 @@ ] }, { - "teal": 4164, - "source": "examples/reti/validatorRegistry.algo.ts:1055", + "teal": 4165, + "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3898, 3899 ] }, { - "teal": 4168, + "teal": 4166, "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3900, @@ -19616,15 +19616,15 @@ ] }, { - "teal": 4169, - "source": "examples/reti/validatorRegistry.algo.ts:1056", + "teal": 4170, + "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3902, 3903 ] }, { - "teal": 4173, + "teal": 4171, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3904, @@ -19632,7 +19632,7 @@ ] }, { - "teal": 4174, + "teal": 4172, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3906, @@ -19640,22 +19640,22 @@ ] }, { - "teal": 4175, + "teal": 4173, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ - 3908, - 3909 + 3908 ] }, { - "teal": 4176, + "teal": 4174, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ + 3909, 3910 ] }, { - "teal": 4177, + "teal": 4175, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3911, @@ -19663,32 +19663,32 @@ ] }, { - "teal": 4178, + "teal": 4176, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ - 3913, - 3914 + 3913 ] }, { - "teal": 4179, + "teal": 4177, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ + 3914, 3915 ] }, { "teal": 4180, - "source": "examples/reti/validatorRegistry.algo.ts:1057", + "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3916, - 3917 + 3916 ] }, { - "teal": 4183, + "teal": 4181, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ + 3917, 3918 ] }, @@ -19696,19 +19696,19 @@ "teal": 4184, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3919, - 3920 + 3919 ] }, { - "teal": 4187, - "source": "examples/reti/validatorRegistry.algo.ts:1055", + "teal": 4191, + "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3920, 3921 ] }, { - "teal": 4194, + "teal": 4192, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3922, @@ -19716,22 +19716,22 @@ ] }, { - "teal": 4195, + "teal": 4193, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3924, - 3925 + 3924 ] }, { - "teal": 4196, + "teal": 4194, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3925, 3926 ] }, { - "teal": 4197, + "teal": 4195, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3927, @@ -19739,46 +19739,46 @@ ] }, { - "teal": 4198, + "teal": 4196, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3929, - 3930 + 3929 ] }, { - "teal": 4199, + "teal": 4197, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3930, 3931 ] }, { - "teal": 4200, + "teal": 4198, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3932, - 3933 + 3932 ] }, { "teal": 4201, - "source": "examples/reti/validatorRegistry.algo.ts:1060", + "source": "examples/reti/validatorRegistry.algo.ts:1059", + "errorMessage": "balance of remaining reward tokens should match the held back amount", "pc": [ - 3934 + 3933 ] }, { - "teal": 4204, - "source": "examples/reti/validatorRegistry.algo.ts:1059", - "errorMessage": "balance of remaining reward tokens should match the held back amount", + "teal": 4205, + "source": "examples/reti/validatorRegistry.algo.ts:1063", "pc": [ + 3934, 3935 ] }, { "teal": 4208, - "source": "examples/reti/validatorRegistry.algo.ts:1063", + "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3936, 3937 @@ -19793,529 +19793,529 @@ ] }, { - "teal": 4214, + "teal": 4212, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3940, - 3941 + 3940 ] }, { - "teal": 4215, - "source": "examples/reti/validatorRegistry.algo.ts:1042", + "teal": 4223, + "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ - 3942 + 3941, + 3942, + 3943 ] }, { - "teal": 4226, - "source": "examples/reti/validatorRegistry.algo.ts:1160", + "teal": 4227, + "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ - 3943, - 3944, - 3945 + 3944 ] }, { - "teal": 4230, + "teal": 4228, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ + 3945, 3946 ] }, { - "teal": 4231, + "teal": 4229, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3947, - 3948 + 3948, + 3949 ] }, { - "teal": 4232, + "teal": 4230, + "source": "examples/reti/validatorRegistry.algo.ts:1161", + "pc": [ + 3950 + ] + }, + { + "teal": 4231, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ - 3949, - 3950, 3951 ] }, { - "teal": 4233, + "teal": 4232, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3952 ] }, { - "teal": 4234, + "teal": 4233, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3953 ] }, { - "teal": 4235, + "teal": 4234, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3954 ] }, { - "teal": 4236, + "teal": 4235, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3955 ] }, { - "teal": 4237, + "teal": 4238, "source": "examples/reti/validatorRegistry.algo.ts:1161", + "errorMessage": "the specified validator id isn't valid", "pc": [ 3956 ] }, { - "teal": 4238, - "source": "examples/reti/validatorRegistry.algo.ts:1161", + "teal": 4242, + "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3957 + 3957, + 3958 ] }, { - "teal": 4241, - "source": "examples/reti/validatorRegistry.algo.ts:1161", - "errorMessage": "the specified validator id isn't valid", + "teal": 4243, + "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3958 + 3959, + 3960, + 3961 ] }, { - "teal": 4245, + "teal": 4244, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3959, - 3960 + 3962 ] }, { - "teal": 4246, - "source": "examples/reti/validatorRegistry.algo.ts:1162", + "teal": 4245, + "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ - 3961, - 3962, 3963 ] }, { - "teal": 4247, + "teal": 4246, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3964 ] }, { - "teal": 4248, - "source": "examples/reti/validatorRegistry.algo.ts:32", + "teal": 4249, + "source": "examples/reti/validatorRegistry.algo.ts:1162", + "errorMessage": "pool id not in valid range", "pc": [ 3965 ] }, { - "teal": 4249, - "source": "examples/reti/validatorRegistry.algo.ts:1162", + "teal": 4256, + "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3966 + 3966, + 3967 ] }, { - "teal": 4252, - "source": "examples/reti/validatorRegistry.algo.ts:1162", - "errorMessage": "pool id not in valid range", + "teal": 4257, + "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3967 + 3968, + 3969, + 3970 + ] + }, + { + "teal": 4258, + "source": "examples/reti/validatorRegistry.algo.ts:1164", + "pc": [ + 3971 ] }, { "teal": 4259, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3968, - 3969 + 3972 ] }, { "teal": 4260, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3970, - 3971, - 3972 + 3973 ] }, { "teal": 4261, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3973 + 3974 ] }, { "teal": 4262, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3974 + 3975, + 3976, + 3977 ] }, { "teal": 4263, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3975 + 3978, + 3979 ] }, { "teal": 4264, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3976 + 3980, + 3981, + 3982 ] }, { "teal": 4265, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3977, - 3978, - 3979 + 3983 ] }, { "teal": 4266, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3980, - 3981 + 3984, + 3985 ] }, { "teal": 4267, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3982, - 3983, - 3984 + 3986, + 3987 ] }, { "teal": 4268, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3985 + 3988 ] }, { "teal": 4269, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3986, - 3987 + 3989, + 3990 ] }, { "teal": 4270, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3988, - 3989 + 3991, + 3992, + 3993 ] }, { "teal": 4271, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3990 + 3994 ] }, { "teal": 4272, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3991, - 3992 + 3995 ] }, { "teal": 4273, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3993, - 3994, - 3995 + 3996 ] }, { "teal": 4274, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3996 + 3997, + 3998 ] }, { "teal": 4275, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3997 + 3999 ] }, { "teal": 4276, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3998 + 4000 ] }, { "teal": 4277, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3999, - 4000 + 4001 ] }, { "teal": 4278, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 4001 + 4002 ] }, { - "teal": 4279, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4282, + "source": "examples/reti/validatorRegistry.algo.ts:1163", + "errorMessage": "pool id outside of range of pools created for this validator", "pc": [ - 4002 + 4003 ] }, { - "teal": 4280, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4289, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4003 + 4004, + 4005 ] }, { - "teal": 4281, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4290, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4004 + 4006, + 4007, + 4008 ] }, { - "teal": 4285, - "source": "examples/reti/validatorRegistry.algo.ts:1163", - "errorMessage": "pool id outside of range of pools created for this validator", + "teal": 4291, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4005 + 4009 ] }, { "teal": 4292, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4006, - 4007 + 4010, + 4011 ] }, { "teal": 4293, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4008, - 4009, - 4010 + 4012, + 4013 ] }, { "teal": 4294, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4011 + 4014, + 4015, + 4016 ] }, { "teal": 4295, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4012, - 4013 + 4017 ] }, { "teal": 4296, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4014, - 4015 + 4018 ] }, { "teal": 4297, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4016, - 4017, - 4018 + 4019 ] }, { "teal": 4298, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4019 + 4020, + 4021 ] }, { "teal": 4299, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4020 + 4022 ] }, { "teal": 4300, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4021 + 4023 ] }, { "teal": 4301, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4022, - 4023 + 4024 ] }, { "teal": 4302, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4024 + 4025 ] }, { "teal": 4303, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4025 + 4026 ] }, { "teal": 4304, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4026 + 4027 ] }, { "teal": 4305, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4027 + 4028, + 4029 ] }, { "teal": 4306, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4028 + 4030, + 4031, + 4032 ] }, { "teal": 4307, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4029 + 4033 ] }, { "teal": 4308, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4030, - 4031 + 4034 ] }, { "teal": 4309, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4032, - 4033, - 4034 + 4035 ] }, { "teal": 4310, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4035 + 4036, + 4037 ] }, { "teal": 4311, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4036 + 4038 ] }, { "teal": 4312, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4037 - ] - }, - { - "teal": 4313, - "source": "examples/reti/validatorRegistry.algo.ts:1170", - "pc": [ - 4038, 4039 ] }, { - "teal": 4314, + "teal": 4313, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4040 ] }, - { - "teal": 4315, - "source": "examples/reti/validatorRegistry.algo.ts:1170", - "pc": [ - 4041 - ] - }, { "teal": 4316, - "source": "examples/reti/validatorRegistry.algo.ts:1170", + "source": "examples/reti/validatorRegistry.algo.ts:1169", + "errorMessage": "The passed in app id doesn't match the passed in ids", "pc": [ - 4042 + 4041 ] }, { - "teal": 4319, - "source": "examples/reti/validatorRegistry.algo.ts:1169", - "errorMessage": "The passed in app id doesn't match the passed in ids", + "teal": 4320, + "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ + 4042, 4043 ] }, { - "teal": 4323, + "teal": 4321, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4044, @@ -20323,110 +20323,104 @@ ] }, { - "teal": 4324, + "teal": 4322, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4046, - 4047 + 4047, + 4048 ] }, { - "teal": 4325, + "teal": 4323, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4048, - 4049, - 4050 + 4049 ] }, { - "teal": 4326, + "teal": 4324, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ + 4050, 4051 ] }, { - "teal": 4327, + "teal": 4325, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4052, - 4053 + 4052 ] }, { - "teal": 4328, + "teal": 4326, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4054 + 4053 ] }, { - "teal": 4329, + "teal": 4327, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4055 + 4054 ] }, { - "teal": 4330, - "source": "examples/reti/validatorRegistry.algo.ts:1174", + "teal": 4331, + "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4055, 4056 ] }, { - "teal": 4334, + "teal": 4332, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4057, - 4058 + 4058, + 4059 ] }, { - "teal": 4335, + "teal": 4333, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4059, - 4060, - 4061 + 4060 ] }, { - "teal": 4336, + "teal": 4334, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4061, 4062 ] }, { - "teal": 4337, + "teal": 4335, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4063, - 4064 - ] - }, - { - "teal": 4338, - "source": "examples/reti/validatorRegistry.algo.ts:1176", - "pc": [ - 4065, - 4066, - 4067 + 4064, + 4065 ] }, { - "teal": 4339, + "teal": 4336, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4068 + 4066 ] }, { - "teal": 4340, + "teal": 4337, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4067, + 4068, 4069, 4070, 4071, @@ -20437,476 +20431,482 @@ 4076, 4077, 4078, - 4079, - 4080, - 4081 + 4079 ] }, { - "teal": 4341, + "teal": 4338, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4082 + 4080 ] }, { - "teal": 4344, + "teal": 4341, "source": "examples/reti/validatorRegistry.algo.ts:1176", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('validatorId')", "pc": [ - 4083 + 4081 ] }, { - "teal": 4345, + "teal": 4342, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4084 + 4082 ] }, { - "teal": 4346, + "teal": 4343, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4085 + 4083 ] }, { - "teal": 4350, + "teal": 4347, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4086, - 4087 + 4084, + 4085 ] }, { - "teal": 4351, + "teal": 4348, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4088, - 4089, - 4090 + 4086, + 4087, + 4088 ] }, { - "teal": 4352, + "teal": 4349, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4091 + 4089 ] }, { - "teal": 4353, + "teal": 4350, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4092, - 4093 + 4090, + 4091 ] }, { - "teal": 4354, + "teal": 4351, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4094, - 4095, - 4096 + 4092, + 4093, + 4094 ] }, { - "teal": 4355, + "teal": 4352, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4097 + 4095 ] }, { - "teal": 4356, + "teal": 4353, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ + 4096, + 4097, 4098, 4099, 4100, 4101, 4102, - 4103, - 4104, - 4105 + 4103 ] }, { - "teal": 4357, + "teal": 4354, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4106 + 4104 ] }, { - "teal": 4360, + "teal": 4357, "source": "examples/reti/validatorRegistry.algo.ts:1177", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('poolId')", "pc": [ - 4107 + 4105 ] }, { - "teal": 4361, + "teal": 4358, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4108 + 4106 ] }, { - "teal": 4362, + "teal": 4359, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4109 + 4107 ] }, { - "teal": 4363, + "teal": 4360, "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ - 4110 + 4108 ] }, { - "teal": 4372, + "teal": 4369, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4111, - 4112, - 4113 + 4109, + 4110, + 4111 ] }, { - "teal": 4375, + "teal": 4372, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4114 + 4112 ] }, { - "teal": 4376, + "teal": 4373, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4115 + 4113 ] }, { - "teal": 4380, + "teal": 4377, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4114 + ] + }, + { + "teal": 4378, + "source": "examples/reti/validatorRegistry.algo.ts:1187", + "pc": [ + 4115, 4116 ] }, { - "teal": 4381, + "teal": 4379, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4117, - 4118 + 4117 ] }, { - "teal": 4382, + "teal": 4380, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4119 + 4118 ] }, { - "teal": 4383, + "teal": 4381, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4119, 4120 ] }, { - "teal": 4384, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4386, + "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4121, 4122 ] }, { - "teal": 4389, + "teal": 4387, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4123, - 4124 + 4123 ] }, { - "teal": 4390, - "source": "examples/reti/validatorRegistry.algo.ts:1188", + "teal": 4388, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4125 + 4124 ] }, { - "teal": 4391, + "teal": 4389, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4125, 4126 ] }, { - "teal": 4392, + "teal": 4390, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4127, - 4128 + 4127 ] }, { - "teal": 4393, + "teal": 4391, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4129 + 4128 ] }, { - "teal": 4394, + "teal": 4392, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4129, 4130 ] }, { - "teal": 4395, + "teal": 4393, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4131, - 4132 + 4131 ] }, { - "teal": 4396, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4394, + "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4133 + 4132 ] }, { - "teal": 4397, + "teal": 4395, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4134 + 4133 ] }, { - "teal": 4398, + "teal": 4396, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4135 + 4134 ] }, { - "teal": 4399, + "teal": 4397, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4136 + 4135, + 4136, + 4137 ] }, { - "teal": 4400, - "source": "examples/reti/validatorRegistry.algo.ts:1188", + "teal": 4402, + "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4137, 4138, 4139 ] }, { - "teal": 4405, + "teal": 4403, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4140, - 4141 + 4140 ] }, { - "teal": 4406, - "source": "examples/reti/validatorRegistry.algo.ts:1191", + "teal": 4404, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4142 + 4141 ] }, { - "teal": 4407, + "teal": 4405, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4142, 4143 ] }, { - "teal": 4408, + "teal": 4406, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4144, - 4145 + 4144 ] }, { - "teal": 4409, + "teal": 4407, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4146 + 4145 ] }, { - "teal": 4410, + "teal": 4408, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4146, 4147 ] }, { - "teal": 4411, + "teal": 4409, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4148, - 4149 + 4148 ] }, { - "teal": 4412, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4410, + "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4150 + 4149 ] }, { - "teal": 4413, + "teal": 4411, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ + 4150, 4151 ] }, { - "teal": 4414, + "teal": 4412, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4152, - 4153 + 4152 ] }, { "teal": 4415, "source": "examples/reti/validatorRegistry.algo.ts:1191", + "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')", "pc": [ - 4154 + 4153 ] }, { - "teal": 4418, + "teal": 4416, "source": "examples/reti/validatorRegistry.algo.ts:1191", - "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')", "pc": [ + 4154, 4155 ] }, { - "teal": 4419, - "source": "examples/reti/validatorRegistry.algo.ts:1191", + "teal": 4421, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4156, - 4157 + 4156 ] }, { - "teal": 4424, + "teal": 4422, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4157, 4158 ] }, { - "teal": 4425, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4423, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4159, - 4160 + 4159 ] }, { - "teal": 4426, + "teal": 4424, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4160, 4161 ] }, { - "teal": 4427, + "teal": 4425, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4162, - 4163 + 4162 ] }, { - "teal": 4428, + "teal": 4426, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4164 + 4163 ] }, { - "teal": 4429, + "teal": 4427, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4164, 4165 ] }, { - "teal": 4430, + "teal": 4428, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4166, - 4167 + 4166 ] }, { - "teal": 4431, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4429, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4167, 4168 ] }, { - "teal": 4432, + "teal": 4430, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4169, - 4170 + 4169 ] }, { - "teal": 4433, + "teal": 4431, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4171 + 4170 ] }, { - "teal": 4434, + "teal": 4432, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4172 + 4171, + 4172, + 4173 ] }, { - "teal": 4435, + "teal": 4433, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4173, 4174, 4175 ] }, { - "teal": 4436, + "teal": 4434, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4176, @@ -20914,90 +20914,90 @@ ] }, { - "teal": 4437, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4435, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4178, - 4179 + 4178 ] }, { - "teal": 4438, + "teal": 4436, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4179, 4180 ] }, { - "teal": 4439, + "teal": 4437, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4181, - 4182 + 4181 ] }, { - "teal": 4440, + "teal": 4438, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4183 + 4182 ] }, { - "teal": 4441, + "teal": 4439, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4183, 4184 ] }, { - "teal": 4442, + "teal": 4440, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4185, - 4186 + 4185 ] }, { - "teal": 4443, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4441, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4186, 4187 ] }, { - "teal": 4444, + "teal": 4442, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4188, - 4189 + 4188 ] }, { - "teal": 4445, + "teal": 4443, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4190 + 4189 ] }, { "teal": 4446, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4191 + 4190, + 4191, + 4192 ] }, { - "teal": 4449, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4451, + "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4192, 4193, 4194 ] }, { - "teal": 4454, + "teal": 4452, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4195, @@ -21005,766 +21005,766 @@ ] }, { - "teal": 4455, + "teal": 4453, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4197, - 4198 + 4197 ] }, { - "teal": 4456, + "teal": 4454, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ + 4198, 4199 ] }, { - "teal": 4457, + "teal": 4455, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4200, - 4201 + 4200 ] }, { - "teal": 4458, + "teal": 4456, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4202 + 4201 ] }, { - "teal": 4459, + "teal": 4457, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ + 4202, 4203 ] }, { - "teal": 4460, + "teal": 4458, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4204, - 4205 + 4204 ] }, { - "teal": 4461, - "source": "examples/reti/validatorRegistry.algo.ts:1195", + "teal": 4463, + "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4206 + 4205 ] }, { - "teal": 4466, - "source": "examples/reti/validatorRegistry.algo.ts:1186", + "teal": 4467, + "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ - 4207 + 4206, + 4207, + 4208 ] }, { - "teal": 4470, - "source": "examples/reti/validatorRegistry.algo.ts:1200", + "teal": 4474, + "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4208, 4209, 4210 ] }, { - "teal": 4477, + "teal": 4475, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4211, - 4212 + 4212, + 4213 ] }, { - "teal": 4478, + "teal": 4476, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4213, - 4214, - 4215 + 4214 ] }, { - "teal": 4479, + "teal": 4477, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4216 + 4215 ] }, { - "teal": 4480, + "teal": 4478, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4217 + 4216 ] }, { - "teal": 4481, + "teal": 4479, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4218 + 4217 ] }, { - "teal": 4482, + "teal": 4480, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4219 + 4218, + 4219, + 4220 ] }, { - "teal": 4483, + "teal": 4481, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4220, 4221, 4222 ] }, { - "teal": 4484, + "teal": 4482, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4223, - 4224 + 4224, + 4225 ] }, { - "teal": 4485, + "teal": 4483, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4225, - 4226, - 4227 + 4226 ] }, { - "teal": 4486, + "teal": 4484, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ + 4227, 4228 ] }, { - "teal": 4487, + "teal": 4485, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4229, - 4230 + 4229 ] }, { - "teal": 4488, + "teal": 4486, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4231 + 4230 ] }, { - "teal": 4489, - "source": "examples/reti/validatorRegistry.algo.ts:1203", + "teal": 4490, + "source": "examples/reti/validatorRegistry.algo.ts:1202", + "errorMessage": "gating type not valid", "pc": [ - 4232 + 4231 ] }, { - "teal": 4493, - "source": "examples/reti/validatorRegistry.algo.ts:1202", - "errorMessage": "gating type not valid", + "teal": 4497, + "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ + 4232, 4233 ] }, { - "teal": 4500, + "teal": 4498, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4234, - 4235 + 4235, + 4236 ] }, { - "teal": 4501, + "teal": 4499, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4236, - 4237, - 4238 + 4237 ] }, { - "teal": 4502, + "teal": 4500, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4239 + 4238 ] }, { - "teal": 4503, + "teal": 4501, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4240 + 4239 ] }, { - "teal": 4504, + "teal": 4502, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4241 + 4240 ] }, { - "teal": 4505, + "teal": 4503, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4242 + 4241, + 4242, + 4243 ] }, { - "teal": 4506, + "teal": 4504, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4243, 4244, 4245 ] }, { - "teal": 4507, + "teal": 4505, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4246, - 4247 + 4247, + 4248 ] }, { - "teal": 4508, + "teal": 4506, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4248, - 4249, - 4250 + 4249 ] }, { - "teal": 4509, + "teal": 4507, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ + 4250, 4251 ] }, { - "teal": 4510, + "teal": 4508, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4252, - 4253 + 4252 ] }, { - "teal": 4511, + "teal": 4509, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4254 + 4253 ] }, { - "teal": 4512, - "source": "examples/reti/validatorRegistry.algo.ts:1207", + "teal": 4513, + "source": "examples/reti/validatorRegistry.algo.ts:1206", + "errorMessage": "epoch length not in allowable range", "pc": [ - 4255 + 4254 ] }, { - "teal": 4516, - "source": "examples/reti/validatorRegistry.algo.ts:1206", - "errorMessage": "epoch length not in allowable range", + "teal": 4520, + "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ + 4255, 4256 ] }, { - "teal": 4523, + "teal": 4521, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4257, - 4258 + 4258, + 4259 ] }, { - "teal": 4524, + "teal": 4522, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4259, - 4260, - 4261 + 4260 ] }, { - "teal": 4525, + "teal": 4523, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4262 + 4261 ] }, { - "teal": 4526, + "teal": 4524, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4263 + 4262 ] }, { - "teal": 4527, + "teal": 4525, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4264 + 4263 ] }, { - "teal": 4528, + "teal": 4526, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4265 + 4264, + 4265, + 4266 ] }, { - "teal": 4529, + "teal": 4527, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4266, 4267, 4268 ] }, { - "teal": 4530, + "teal": 4528, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4269, - 4270 + 4270, + 4271 ] }, { - "teal": 4531, + "teal": 4529, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4271, - 4272, - 4273 + 4272 ] }, { - "teal": 4532, + "teal": 4530, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ + 4273, 4274 ] }, { - "teal": 4533, - "source": "examples/reti/validatorRegistry.algo.ts:1211", - "pc": [ - 4275, - 4276 - ] - }, - { - "teal": 4534, + "teal": 4531, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4277 + 4275 ] }, { - "teal": 4535, + "teal": 4532, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4278 + 4276 ] }, { - "teal": 4539, + "teal": 4536, "source": "examples/reti/validatorRegistry.algo.ts:1210", "errorMessage": "commission percentage not valid", "pc": [ + 4277 + ] + }, + { + "teal": 4541, + "source": "examples/reti/validatorRegistry.algo.ts:1214", + "pc": [ + 4278, 4279 ] }, { - "teal": 4544, + "teal": 4542, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4280, - 4281 + 4281, + 4282 ] }, { - "teal": 4545, + "teal": 4543, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4282, - 4283, - 4284 + 4283 ] }, { - "teal": 4546, + "teal": 4544, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4285 + 4284 ] }, { - "teal": 4547, + "teal": 4545, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4286 + 4285 ] }, { - "teal": 4548, + "teal": 4546, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4287 + 4286, + 4287, + 4288 ] }, { - "teal": 4549, - "source": "examples/reti/validatorRegistry.algo.ts:1214", + "teal": 4554, + "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4288, 4289, 4290 ] }, { - "teal": 4557, + "teal": 4555, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4291, - 4292 + 4292, + 4293 ] }, { - "teal": 4558, + "teal": 4556, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4293, 4294, 4295 ] }, { - "teal": 4559, + "teal": 4557, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4296, - 4297 + 4296 ] }, { "teal": 4560, - "source": "examples/reti/validatorRegistry.algo.ts:1216", + "source": "examples/reti/validatorRegistry.algo.ts:1215", + "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0", "pc": [ - 4298 + 4297 ] }, { - "teal": 4563, - "source": "examples/reti/validatorRegistry.algo.ts:1215", - "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0", + "teal": 4565, + "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ + 4298, 4299 ] }, { - "teal": 4568, + "teal": 4566, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4300, - 4301 + 4301, + 4302 ] }, { - "teal": 4569, + "teal": 4567, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ - 4302, - 4303, - 4304 + 4303 ] }, { - "teal": 4570, + "teal": 4568, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ + 4304, 4305 ] }, { - "teal": 4571, + "teal": 4569, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ - 4306, - 4307 + 4306 ] }, { "teal": 4572, "source": "examples/reti/validatorRegistry.algo.ts:1220", + "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ - 4308 + 4307 ] }, { - "teal": 4575, - "source": "examples/reti/validatorRegistry.algo.ts:1220", - "errorMessage": "staking pool must have minimum entry of 1 algo", + "teal": 4579, + "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ + 4308, 4309 ] }, { - "teal": 4582, + "teal": 4580, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4310, - 4311 + 4311, + 4312 ] }, { - "teal": 4583, + "teal": 4581, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4312, - 4313, - 4314 + 4313 ] }, { - "teal": 4584, + "teal": 4582, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4315 + 4314 ] }, { - "teal": 4585, + "teal": 4583, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4316 + 4315 ] }, { - "teal": 4586, + "teal": 4584, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4317 + 4316 ] }, { - "teal": 4587, + "teal": 4585, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4318 + 4317, + 4318, + 4319 ] }, { - "teal": 4588, + "teal": 4586, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4319, 4320, 4321 ] }, { - "teal": 4589, + "teal": 4587, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4322, - 4323 + 4323, + 4324 ] }, { - "teal": 4590, + "teal": 4588, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4324, - 4325, - 4326 + 4325 ] }, { - "teal": 4591, + "teal": 4589, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ + 4326, 4327 ] }, { - "teal": 4592, + "teal": 4590, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4328, - 4329 + 4328 ] }, { - "teal": 4593, + "teal": 4591, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4330 + 4329 ] }, { - "teal": 4594, - "source": "examples/reti/validatorRegistry.algo.ts:1223", + "teal": 4595, + "source": "examples/reti/validatorRegistry.algo.ts:1222", + "errorMessage": "number of pools per node exceeds allowed number", "pc": [ - 4331 + 4330 ] }, { - "teal": 4598, - "source": "examples/reti/validatorRegistry.algo.ts:1222", - "errorMessage": "number of pools per node exceeds allowed number", + "teal": 4600, + "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ + 4331, 4332 ] }, { - "teal": 4603, + "teal": 4601, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4333, - 4334 + 4334, + 4335 ] }, { - "teal": 4604, + "teal": 4602, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4335, - 4336, - 4337 + 4336 ] }, { - "teal": 4605, + "teal": 4603, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4338 + 4337 ] }, { - "teal": 4606, + "teal": 4604, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4339 + 4338 ] }, { - "teal": 4607, + "teal": 4605, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4340 + 4339, + 4340, + 4341 ] }, { - "teal": 4608, - "source": "examples/reti/validatorRegistry.algo.ts:1226", + "teal": 4610, + "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4341, 4342, 4343 ] }, { - "teal": 4613, + "teal": 4611, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4344, - 4345 + 4345, + 4346 ] }, { - "teal": 4614, + "teal": 4612, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4346, - 4347, - 4348 + 4347 ] }, { - "teal": 4615, + "teal": 4613, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ + 4348, 4349 ] }, { - "teal": 4616, + "teal": 4614, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4350, - 4351 + 4350 ] }, { "teal": 4617, "source": "examples/reti/validatorRegistry.algo.ts:1227", + "errorMessage": "sunsettingOn must be later than now if set", "pc": [ - 4352 + 4351 ] }, { "teal": 4620, - "source": "examples/reti/validatorRegistry.algo.ts:1227", - "errorMessage": "sunsettingOn must be later than now if set", + "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ - 4353 + 4352 ] }, { - "teal": 4623, - "source": "examples/reti/validatorRegistry.algo.ts:1200", + "teal": 4634, + "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4354 + 4353, + 4354, + 4355 ] }, { "teal": 4637, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4355, - 4356, - 4357 + 4356 ] }, { - "teal": 4640, + "teal": 4638, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ + 4357, 4358 ] }, { - "teal": 4641, - "source": "examples/reti/validatorRegistry.algo.ts:1242", + "teal": 4642, + "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4359, 4360 ] }, { - "teal": 4645, + "teal": 4643, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4361, @@ -21772,177 +21772,177 @@ ] }, { - "teal": 4646, + "teal": 4644, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4363, - 4364 + 4364, + 4365 ] }, { - "teal": 4647, + "teal": 4645, + "source": "examples/reti/validatorRegistry.algo.ts:1249", + "pc": [ + 4366 + ] + }, + { + "teal": 4646, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4365, - 4366, 4367 ] }, { - "teal": 4648, + "teal": 4647, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4368 ] }, + { + "teal": 4648, + "source": "examples/reti/validatorRegistry.algo.ts:1249", + "pc": [ + 4369, + 4370 + ] + }, { "teal": 4649, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4369 + 4371 ] }, { "teal": 4650, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4370 + 4372 ] }, { "teal": 4651, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4371, - 4372 + 4373 ] }, { "teal": 4652, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4373 + 4374 ] }, { "teal": 4653, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4374 + 4375 ] }, { "teal": 4654, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4375 + 4376 ] }, { "teal": 4655, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4376 + 4377, + 4378 ] }, { "teal": 4656, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4377 + 4379, + 4380, + 4381 ] }, { "teal": 4657, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4378 + 4382 ] }, { "teal": 4658, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4379, - 4380 + 4383 ] }, { "teal": 4659, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4381, - 4382, - 4383 + 4384 ] }, { "teal": 4660, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4384 + 4385, + 4386 ] }, { "teal": 4661, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4385 + 4387 ] }, { "teal": 4662, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4386 - ] - }, - { - "teal": 4663, - "source": "examples/reti/validatorRegistry.algo.ts:1249", - "pc": [ - 4387, 4388 ] }, { - "teal": 4664, - "source": "examples/reti/validatorRegistry.algo.ts:1249", - "pc": [ - 4389 - ] - }, - { - "teal": 4665, + "teal": 4663, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ + 4389, 4390 ] }, { - "teal": 4666, - "source": "examples/reti/validatorRegistry.algo.ts:1249", + "teal": 4676, + "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4391, - 4392 + 4391 ] }, { - "teal": 4679, + "teal": 4677, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4393 + 4392 ] }, { - "teal": 4680, + "teal": 4678, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4393, 4394 ] }, { - "teal": 4681, + "teal": 4682, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4395, @@ -21950,7 +21950,7 @@ ] }, { - "teal": 4685, + "teal": 4683, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4397, @@ -21958,7 +21958,7 @@ ] }, { - "teal": 4686, + "teal": 4684, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4399, @@ -21966,22 +21966,22 @@ ] }, { - "teal": 4687, + "teal": 4685, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4401, - 4402 + 4401 ] }, { - "teal": 4688, + "teal": 4686, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4402, 4403 ] }, { - "teal": 4689, + "teal": 4690, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4404, @@ -21989,7 +21989,7 @@ ] }, { - "teal": 4693, + "teal": 4691, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4406, @@ -21997,17 +21997,17 @@ ] }, { - "teal": 4694, + "teal": 4692, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4408, - 4409 + 4408 ] }, { - "teal": 4695, + "teal": 4693, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4409, 4410 ] }, @@ -22015,34 +22015,34 @@ "teal": 4696, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4411, - 4412 + 4411 ] }, { - "teal": 4699, + "teal": 4697, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4412, 4413 ] }, { - "teal": 4700, - "source": "examples/reti/validatorRegistry.algo.ts:1258", + "teal": 4698, + "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4414, - 4415 + 4414 ] }, { - "teal": 4701, + "teal": 4699, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4415, 4416 ] }, { - "teal": 4702, + "teal": 4700, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4417, @@ -22050,35 +22050,35 @@ ] }, { - "teal": 4703, + "teal": 4701, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4419, - 4420 + 4420, + 4421, + 4422, + 4423, + 4424 ] }, { - "teal": 4704, + "teal": 4702, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4421, - 4422, - 4423, - 4424, 4425, 4426 ] }, { - "teal": 4705, - "source": "examples/reti/validatorRegistry.algo.ts:1253", + "teal": 4706, + "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4427, 4428 ] }, { - "teal": 4709, + "teal": 4707, "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4429, @@ -22086,15 +22086,15 @@ ] }, { - "teal": 4710, - "source": "examples/reti/validatorRegistry.algo.ts:1254", + "teal": 4717, + "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4431, 4432 ] }, { - "teal": 4720, + "teal": 4718, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4433, @@ -22102,7 +22102,7 @@ ] }, { - "teal": 4721, + "teal": 4719, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4435, @@ -22111,16 +22111,16 @@ }, { "teal": 4722, - "source": "examples/reti/validatorRegistry.algo.ts:1260", + "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4437, - 4438 + 4437 ] }, { - "teal": 4725, + "teal": 4723, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4438, 4439 ] }, @@ -22128,105 +22128,105 @@ "teal": 4726, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4440, - 4441 + 4440 ] }, { - "teal": 4729, + "teal": 4727, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4441, 4442 ] }, { - "teal": 4730, + "teal": 4728, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4443, - 4444 + 4443 ] }, { - "teal": 4731, + "teal": 4729, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4445 + 4444 ] }, { - "teal": 4732, + "teal": 4730, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4445, 4446 ] }, { - "teal": 4733, + "teal": 4731, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4447, - 4448 + 4448, + 4449 ] }, { - "teal": 4734, + "teal": 4732, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4449, - 4450, - 4451 + 4450 ] }, { - "teal": 4735, - "source": "examples/reti/validatorRegistry.algo.ts:1253", + "teal": 4737, + "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ + 4451, 4452 ] }, { - "teal": 4740, + "teal": 4738, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4453, - 4454 + 4454, + 4455 ] }, { - "teal": 4741, + "teal": 4739, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ - 4455, - 4456, - 4457 + 4456 ] }, { - "teal": 4742, + "teal": 4740, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ - 4458 + 4457, + 4458, + 4459 ] }, { - "teal": 4743, - "source": "examples/reti/validatorRegistry.algo.ts:1263", + "teal": 4745, + "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4459, - 4460, - 4461 + 4460 ] }, { - "teal": 4748, + "teal": 4746, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4461, 4462 ] }, { - "teal": 4749, + "teal": 4747, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4463, @@ -22234,22 +22234,22 @@ ] }, { - "teal": 4750, + "teal": 4748, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4465, - 4466 + 4465 ] }, { - "teal": 4751, + "teal": 4749, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4466, 4467 ] }, { - "teal": 4752, + "teal": 4750, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4468, @@ -22257,22 +22257,22 @@ ] }, { - "teal": 4753, + "teal": 4751, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4470, - 4471 + 4470 ] }, { - "teal": 4754, + "teal": 4752, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4471, 4472 ] }, { - "teal": 4755, + "teal": 4753, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4473, @@ -22280,7 +22280,7 @@ ] }, { - "teal": 4756, + "teal": 4754, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4475, @@ -22288,7 +22288,7 @@ ] }, { - "teal": 4757, + "teal": 4755, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4477, @@ -22296,22 +22296,22 @@ ] }, { - "teal": 4758, + "teal": 4756, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4479, - 4480 + 4479 ] }, { - "teal": 4759, - "source": "examples/reti/validatorRegistry.algo.ts:1264", + "teal": 4761, + "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ + 4480, 4481 ] }, { - "teal": 4764, + "teal": 4762, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4482, @@ -22319,38 +22319,38 @@ ] }, { - "teal": 4765, + "teal": 4763, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ - 4484, - 4485 + 4484 ] }, { "teal": 4766, "source": "examples/reti/validatorRegistry.algo.ts:1268", + "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')", "pc": [ - 4486 + 4485 ] }, { - "teal": 4769, + "teal": 4767, "source": "examples/reti/validatorRegistry.algo.ts:1268", - "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')", "pc": [ + 4486, 4487 ] }, { - "teal": 4770, - "source": "examples/reti/validatorRegistry.algo.ts:1268", + "teal": 4771, + "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4488, 4489 ] }, { - "teal": 4774, + "teal": 4772, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4490, @@ -22358,38 +22358,38 @@ ] }, { - "teal": 4775, + "teal": 4773, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ - 4492, - 4493 + 4492 ] }, { "teal": 4776, "source": "examples/reti/validatorRegistry.algo.ts:1269", + "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')", "pc": [ - 4494 + 4493 ] }, { - "teal": 4779, + "teal": 4777, "source": "examples/reti/validatorRegistry.algo.ts:1269", - "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')", "pc": [ + 4494, 4495 ] }, { - "teal": 4780, - "source": "examples/reti/validatorRegistry.algo.ts:1269", + "teal": 4781, + "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4496, 4497 ] }, { - "teal": 4784, + "teal": 4782, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4498, @@ -22397,787 +22397,787 @@ ] }, { - "teal": 4785, + "teal": 4783, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4500, - 4501 + 4501, + 4502 ] }, { - "teal": 4786, + "teal": 4784, + "source": "examples/reti/validatorRegistry.algo.ts:1270", + "pc": [ + 4503 + ] + }, + { + "teal": 4785, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4502, - 4503, 4504 ] }, { - "teal": 4787, + "teal": 4786, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4505 ] }, + { + "teal": 4787, + "source": "examples/reti/validatorRegistry.algo.ts:1270", + "pc": [ + 4506, + 4507 + ] + }, { "teal": 4788, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4506 + 4508 ] }, { "teal": 4789, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4507 + 4509 ] }, { "teal": 4790, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4508, - 4509 + 4510 ] }, { "teal": 4791, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4510 + 4511 ] }, { "teal": 4792, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4511 + 4512, + 4513 ] }, { "teal": 4793, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4512 + 4514 ] }, { "teal": 4794, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4513 + 4515, + 4516, + 4517 ] }, { "teal": 4795, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4514, - 4515 + 4518 ] }, { "teal": 4796, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4516 + 4519, + 4520 ] }, { "teal": 4797, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4517, - 4518, - 4519 + 4521, + 4522, + 4523 ] }, { "teal": 4798, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4520 + 4524 ] }, { "teal": 4799, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4521, - 4522 + 4525 ] }, { "teal": 4800, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4523, - 4524, - 4525 + 4526 ] }, { "teal": 4801, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4526 + 4527, + 4528 ] }, { "teal": 4802, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4527 + 4529 ] }, { - "teal": 4803, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4806, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4528 + 4530, + 4531 ] }, { - "teal": 4804, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4807, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4529, - 4530 + 4532, + 4533 ] }, { - "teal": 4805, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4808, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4531 + 4534, + 4535, + 4536 ] }, { "teal": 4809, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4532, - 4533 + 4537 ] }, { "teal": 4810, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4534, - 4535 + 4538 ] }, { "teal": 4811, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4536, - 4537, - 4538 + 4539 ] }, { "teal": 4812, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4539 + 4540, + 4541 ] }, { "teal": 4813, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4540 + 4542 ] }, { "teal": 4814, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4541 + 4543 ] }, { "teal": 4815, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4542, - 4543 + 4544, + 4545 ] }, { "teal": 4816, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4544 + 4546 ] }, { "teal": 4817, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4545 + 4547, + 4548 ] }, { "teal": 4818, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4546, - 4547 + 4549 ] }, { "teal": 4819, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4548 + 4550 ] }, { "teal": 4820, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4549, - 4550 + 4551, + 4552 ] }, { "teal": 4821, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4551 + 4553, + 4554, + 4555 ] }, { "teal": 4822, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4552 + 4556 ] }, { "teal": 4823, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4553, - 4554 + 4557 ] }, { "teal": 4824, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4555, - 4556, - 4557 + 4558 ] }, { "teal": 4825, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4558 + 4559, + 4560 ] }, { "teal": 4826, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4559 + 4561 ] }, { - "teal": 4827, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4831, + "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ - 4560 + 4562, + 4563 ] }, { - "teal": 4828, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4832, + "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ - 4561, - 4562 + 4564, + 4565, + 4566 ] }, { - "teal": 4829, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4837, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4563 + 4567, + 4568 ] }, { - "teal": 4834, - "source": "examples/reti/validatorRegistry.algo.ts:1274", + "teal": 4838, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4564, - 4565 + 4569 ] }, { - "teal": 4835, - "source": "examples/reti/validatorRegistry.algo.ts:1274", + "teal": 4839, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4566, - 4567, - 4568 + 4570 ] }, { "teal": 4840, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4569, - 4570 + 4571 ] }, { "teal": 4841, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4571 + 4572, + 4573 ] }, { "teal": 4842, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4572 + 4574, + 4575, + 4576 ] }, { "teal": 4843, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4573 + 4577 ] }, { "teal": 4844, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4574, - 4575 + 4578 ] }, { "teal": 4845, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4576, - 4577, - 4578 + 4579 ] }, { "teal": 4846, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4579 + 4580, + 4581 ] }, { "teal": 4847, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4580 + 4582 ] }, { "teal": 4848, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4581 + 4583 ] }, { "teal": 4849, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4582, - 4583 + 4584 ] }, { "teal": 4850, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4584 + 4585 ] }, { "teal": 4851, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4585 + 4586 ] }, { "teal": 4852, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4586 + 4587 ] }, { "teal": 4853, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4587 + 4588, + 4589 ] }, { "teal": 4854, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4588 + 4590, + 4591, + 4592 ] }, { "teal": 4855, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4589 + 4593 ] }, { "teal": 4856, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4590, - 4591 + 4594 ] }, { "teal": 4857, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4592, - 4593, - 4594 + 4595 ] }, { "teal": 4858, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4595 + 4596, + 4597 ] }, { "teal": 4859, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4596 + 4598 ] }, { - "teal": 4860, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4865, + "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ - 4597 + 4599, + 4600 ] }, { - "teal": 4861, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4866, + "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ - 4598, - 4599 + 4601, + 4602, + 4603 ] }, { - "teal": 4862, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4871, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4600 + 4604, + 4605 ] }, { - "teal": 4868, - "source": "examples/reti/validatorRegistry.algo.ts:1277", + "teal": 4872, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4601, - 4602 + 4606 ] }, { - "teal": 4869, - "source": "examples/reti/validatorRegistry.algo.ts:1277", + "teal": 4873, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4603, - 4604, - 4605 + 4607 ] }, { "teal": 4874, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4606, - 4607 + 4608 ] }, { "teal": 4875, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4608 + 4609, + 4610 ] }, { "teal": 4876, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4609 + 4611 ] }, { "teal": 4877, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4610 + 4612 ] }, { - "teal": 4878, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4882, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4611, - 4612 + 4613, + 4614 ] }, { - "teal": 4879, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4883, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4613 + 4615 ] }, { - "teal": 4880, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4884, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4614 + 4616 ] }, { "teal": 4885, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4615, - 4616 + 4617 ] }, { "teal": 4886, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4617 + 4618, + 4619 ] }, { "teal": 4887, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4618 + 4620, + 4621, + 4622 ] }, { "teal": 4888, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4619 + 4623 ] }, { "teal": 4889, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4620, - 4621 + 4624 ] }, { "teal": 4890, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4622, - 4623, - 4624 + 4625 ] }, { "teal": 4891, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4625 + 4626, + 4627 ] }, { "teal": 4892, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4626 + 4628 ] }, { "teal": 4893, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4627 + 4629 ] }, { "teal": 4894, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4628, - 4629 + 4630, + 4631 ] }, { "teal": 4895, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4630 + 4632, + 4633 ] }, { "teal": 4896, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4631 + 4634, + 4635 ] }, { "teal": 4897, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4632, - 4633 + 4636 ] }, { "teal": 4898, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4634, - 4635 + 4637 ] }, { "teal": 4899, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4636, - 4637 + 4638 ] }, { "teal": 4900, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4638 + 4639 ] }, { "teal": 4901, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4639 + 4640, + 4641 ] }, { "teal": 4902, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4640 + 4642, + 4643, + 4644 ] }, { "teal": 4903, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4641 + 4645 ] }, { "teal": 4904, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4642, - 4643 - ] - }, - { - "teal": 4905, - "source": "examples/reti/validatorRegistry.algo.ts:1280", - "pc": [ - 4644, - 4645, 4646 ] }, { - "teal": 4906, + "teal": 4905, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4647 ] }, { - "teal": 4907, - "source": "examples/reti/validatorRegistry.algo.ts:1280", - "pc": [ - 4648 - ] - }, - { - "teal": 4908, + "teal": 4906, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ + 4648, 4649 ] }, { - "teal": 4909, + "teal": 4907, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4650, - 4651 + 4650 ] }, { - "teal": 4910, - "source": "examples/reti/validatorRegistry.algo.ts:1280", + "teal": 4911, + "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4651, 4652 ] }, { - "teal": 4914, + "teal": 4912, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4653, - 4654 + 4653 ] }, { - "teal": 4915, + "teal": 4913, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4654, 4655 ] }, { - "teal": 4916, + "teal": 4914, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4656, @@ -23185,7 +23185,7 @@ ] }, { - "teal": 4917, + "teal": 4915, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4658, @@ -23193,199 +23193,199 @@ ] }, { - "teal": 4918, + "teal": 4916, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4660, - 4661 + 4660 ] }, { - "teal": 4919, + "teal": 4917, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4662 + 4661 ] }, { - "teal": 4920, + "teal": 4918, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4662, 4663 ] }, { - "teal": 4921, + "teal": 4919, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4664, - 4665 + 4664 ] }, { - "teal": 4922, + "teal": 4920, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4666 + 4665 ] }, { - "teal": 4923, - "source": "examples/reti/validatorRegistry.algo.ts:1281", + "teal": 4921, + "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4667 + 4666 ] }, { - "teal": 4924, - "source": "examples/reti/validatorRegistry.algo.ts:1242", + "teal": 4925, + "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4668 + 4667, + 4668, + 4669 ] }, { "teal": 4928, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4669, - 4670, - 4671 + 4670 ] }, { - "teal": 4931, + "teal": 4929, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ + 4671, 4672 ] }, { - "teal": 4932, - "source": "examples/reti/validatorRegistry.algo.ts:1284", + "teal": 4933, + "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4673, - 4674 + 4673 ] }, { - "teal": 4936, + "teal": 4934, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ + 4674, 4675 ] }, { - "teal": 4937, + "teal": 4935, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4676, - 4677 + 4676 ] }, { - "teal": 4938, + "teal": 4936, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4678 + 4677 ] }, { - "teal": 4939, + "teal": 4937, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4679 + 4678 ] }, { - "teal": 4940, + "teal": 4938, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4680 + 4679 ] }, { - "teal": 4941, + "teal": 4939, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4681 + 4680 ] }, { - "teal": 4942, - "source": "examples/reti/validatorRegistry.algo.ts:1285", + "teal": 4943, + "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4682 + 4681 ] }, { - "teal": 4946, + "teal": 4944, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ + 4682, 4683 ] }, { - "teal": 4947, + "teal": 4945, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4684, - 4685 + 4684 ] }, { - "teal": 4948, + "teal": 4946, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4686 + 4685 ] }, { "teal": 4949, "source": "examples/reti/validatorRegistry.algo.ts:1287", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 4687 + 4686 ] }, { - "teal": 4952, + "teal": 4950, "source": "examples/reti/validatorRegistry.algo.ts:1287", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 4687, 4688 ] }, { - "teal": 4953, - "source": "examples/reti/validatorRegistry.algo.ts:1287", + "teal": 4954, + "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ - 4689, - 4690 + 4689 ] }, { - "teal": 4957, + "teal": 4955, "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ + 4690, 4691 ] }, { - "teal": 4958, - "source": "examples/reti/validatorRegistry.algo.ts:1288", + "teal": 4959, + "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4692, - 4693 + 4692 ] }, { - "teal": 4962, + "teal": 4960, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ + 4693, 4694 ] }, { - "teal": 4963, + "teal": 4965, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4695, @@ -23393,7 +23393,7 @@ ] }, { - "teal": 4968, + "teal": 4966, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4697, @@ -23401,31 +23401,31 @@ ] }, { - "teal": 4969, + "teal": 4967, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4699, - 4700 + 4699 ] }, { - "teal": 4970, + "teal": 4968, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4701 + 4700, + 4701, + 4702 ] }, { - "teal": 4971, - "source": "examples/reti/validatorRegistry.algo.ts:1289", + "teal": 4973, + "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4702, 4703, 4704 ] }, { - "teal": 4976, + "teal": 4974, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4705, @@ -23433,112 +23433,112 @@ ] }, { - "teal": 4977, + "teal": 4975, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4707, - 4708 + 4707 ] }, { - "teal": 4978, + "teal": 4976, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4709 + 4708 ] }, { - "teal": 4979, + "teal": 4977, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4710 + 4709 ] }, { - "teal": 4980, + "teal": 4978, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4711 + 4710 ] }, { - "teal": 4981, + "teal": 4979, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ + 4711, 4712 ] }, { - "teal": 4982, + "teal": 4980, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4713, - 4714 + 4713 ] }, { - "teal": 4983, + "teal": 4981, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4715 + 4714, + 4715, + 4716 ] }, { - "teal": 4984, - "source": "examples/reti/validatorRegistry.algo.ts:1290", + "teal": 4986, + "source": "examples/reti/validatorRegistry.algo.ts:1292", "pc": [ - 4716, - 4717, - 4718 + 4717 ] }, { - "teal": 4989, - "source": "examples/reti/validatorRegistry.algo.ts:1292", + "teal": 4992, + "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ + 4718, 4719 ] }, { - "teal": 4995, + "teal": 4993, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4720, - 4721 + 4720 ] }, { - "teal": 4996, + "teal": 4994, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4722 + 4721 ] }, { - "teal": 4997, + "teal": 4995, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4723 + 4722 ] }, { - "teal": 4998, + "teal": 4996, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4724 + 4723, + 4724, + 4725 ] }, { - "teal": 4999, + "teal": 4997, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4725, 4726, 4727 ] }, { - "teal": 5000, + "teal": 4998, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4728, @@ -23546,411 +23546,411 @@ ] }, { - "teal": 5001, + "teal": 4999, + "source": "examples/reti/validatorRegistry.algo.ts:1294", + "pc": [ + 4730 + ] + }, + { + "teal": 5000, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4730, 4731 ] }, { - "teal": 5002, + "teal": 5001, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4732 ] }, { - "teal": 5003, + "teal": 5002, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4733 ] }, { - "teal": 5004, + "teal": 5003, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4734 ] }, { - "teal": 5005, + "teal": 5004, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4735 ] }, { - "teal": 5006, + "teal": 5005, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4736 ] }, { - "teal": 5007, + "teal": 5006, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4737 ] }, { - "teal": 5008, + "teal": 5007, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4738 ] }, { - "teal": 5009, + "teal": 5008, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4739 ] }, - { - "teal": 5010, - "source": "examples/reti/validatorRegistry.algo.ts:1294", - "pc": [ - 4740 - ] - }, { "teal": 5011, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4741 + 4740, + 4741, + 4742 ] }, { - "teal": 5014, - "source": "examples/reti/validatorRegistry.algo.ts:1294", + "teal": 5016, + "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4742, 4743, 4744 ] }, { - "teal": 5019, + "teal": 5017, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4745, - 4746 + 4745 ] }, { - "teal": 5020, + "teal": 5018, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4747 + 4746 ] }, { - "teal": 5021, + "teal": 5019, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ + 4747, 4748 ] }, { - "teal": 5022, - "source": "examples/reti/validatorRegistry.algo.ts:1295", + "teal": 5026, + "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4749, 4750 ] }, { - "teal": 5029, + "teal": 5027, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4751, - 4752 + 4751 ] }, { - "teal": 5030, + "teal": 5028, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4753 + 4752 ] }, { - "teal": 5031, + "teal": 5029, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ + 4753, 4754 ] }, { - "teal": 5032, + "teal": 5030, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4755, - 4756 + 4756, + 4757 ] }, { - "teal": 5033, - "source": "examples/reti/validatorRegistry.algo.ts:1289", + "teal": 5036, + "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4757, 4758, 4759 ] }, { - "teal": 5039, + "teal": 5037, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4760, - 4761 + 4760 ] }, { - "teal": 5040, + "teal": 5038, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4762 + 4761 ] }, { - "teal": 5041, + "teal": 5039, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4763 + 4762, + 4763, + 4764 ] }, { - "teal": 5042, - "source": "examples/reti/validatorRegistry.algo.ts:1298", + "teal": 5043, + "source": "examples/reti/validatorRegistry.algo.ts:1299", + "errorMessage": "No empty slot available in the staker pool set", "pc": [ - 4764, - 4765, - 4766 + 4765 ] }, { - "teal": 5046, - "source": "examples/reti/validatorRegistry.algo.ts:1299", - "errorMessage": "No empty slot available in the staker pool set", + "teal": 5048, + "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4766, 4767 ] }, { - "teal": 5051, + "teal": 5049, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4768, - 4769 + 4768 ] }, { - "teal": 5052, + "teal": 5050, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4770 + 4769 ] }, { - "teal": 5053, + "teal": 5051, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4771 + 4770 ] }, { - "teal": 5054, + "teal": 5052, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4772 + 4771 ] }, { - "teal": 5055, + "teal": 5053, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4772, 4773 ] }, { - "teal": 5056, + "teal": 5054, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4774, - 4775 + 4774 ] }, { - "teal": 5057, + "teal": 5055, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4775, 4776 ] }, { - "teal": 5058, + "teal": 5056, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4777, - 4778 + 4777 ] }, { - "teal": 5059, + "teal": 5057, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4778, 4779 ] }, { - "teal": 5060, + "teal": 5058, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4780, - 4781 + 4780 ] }, { - "teal": 5061, - "source": "examples/reti/validatorRegistry.algo.ts:1301", + "teal": 5059, + "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4782 + 4781 ] }, { - "teal": 5062, - "source": "examples/reti/validatorRegistry.algo.ts:1284", + "teal": 5070, + "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4783 + 4782, + 4783, + 4784 ] }, { "teal": 5073, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4784, - 4785, - 4786 + 4785 ] }, { - "teal": 5076, + "teal": 5074, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ + 4786, 4787 ] }, { - "teal": 5077, - "source": "examples/reti/validatorRegistry.algo.ts:1312", + "teal": 5078, + "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ - 4788, - 4789 + 4788 ] }, { - "teal": 5081, + "teal": 5079, "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ + 4789, 4790 ] }, { - "teal": 5082, - "source": "examples/reti/validatorRegistry.algo.ts:1314", + "teal": 5083, + "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ - 4791, - 4792 + 4791 ] }, { - "teal": 5086, + "teal": 5084, "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ + 4792, 4793 ] }, { - "teal": 5087, - "source": "examples/reti/validatorRegistry.algo.ts:1315", + "teal": 5088, + "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ - 4794, - 4795 + 4794 ] }, { - "teal": 5091, + "teal": 5089, "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ + 4795, 4796 ] }, { - "teal": 5092, - "source": "examples/reti/validatorRegistry.algo.ts:1316", + "teal": 5093, + "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4797, - 4798 + 4797 ] }, { - "teal": 5096, + "teal": 5094, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ + 4798, 4799 ] }, { - "teal": 5097, + "teal": 5095, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4800, - 4801 + 4800 ] }, { - "teal": 5098, + "teal": 5096, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4802 + 4801 ] }, { "teal": 5099, "source": "examples/reti/validatorRegistry.algo.ts:1318", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 4803 + 4802 ] }, { - "teal": 5102, + "teal": 5100, "source": "examples/reti/validatorRegistry.algo.ts:1318", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 4803, 4804 ] }, { - "teal": 5103, - "source": "examples/reti/validatorRegistry.algo.ts:1318", + "teal": 5104, + "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4805, - 4806 + 4805 ] }, { - "teal": 5107, + "teal": 5105, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ + 4806, 4807 ] }, { - "teal": 5108, + "teal": 5110, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4808, @@ -23958,7 +23958,7 @@ ] }, { - "teal": 5113, + "teal": 5111, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4810, @@ -23966,31 +23966,31 @@ ] }, { - "teal": 5114, + "teal": 5112, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4812, - 4813 + 4812 ] }, { - "teal": 5115, + "teal": 5113, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4814 + 4813, + 4814, + 4815 ] }, { - "teal": 5116, - "source": "examples/reti/validatorRegistry.algo.ts:1319", + "teal": 5118, + "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4815, 4816, 4817 ] }, { - "teal": 5121, + "teal": 5119, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4818, @@ -23998,126 +23998,126 @@ ] }, { - "teal": 5122, + "teal": 5120, + "source": "examples/reti/validatorRegistry.algo.ts:1320", + "pc": [ + 4820 + ] + }, + { + "teal": 5121, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4820, 4821 ] }, { - "teal": 5123, + "teal": 5122, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4822 ] }, { - "teal": 5124, + "teal": 5123, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4823 ] }, { - "teal": 5125, + "teal": 5124, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4824 ] }, { - "teal": 5126, + "teal": 5125, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4825 ] }, { - "teal": 5127, + "teal": 5126, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4826 ] }, { - "teal": 5128, + "teal": 5127, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4827 ] }, { - "teal": 5129, + "teal": 5128, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4828 ] }, { - "teal": 5130, - "source": "examples/reti/validatorRegistry.algo.ts:1320", - "pc": [ - 4829 - ] - }, - { - "teal": 5131, + "teal": 5129, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4830 + 4829, + 4830, + 4831 ] }, { "teal": 5132, - "source": "examples/reti/validatorRegistry.algo.ts:1320", + "source": "examples/reti/validatorRegistry.algo.ts:1321", "pc": [ - 4831, 4832, - 4833 + 4833, + 4834 ] }, { - "teal": 5135, - "source": "examples/reti/validatorRegistry.algo.ts:1321", + "teal": 5137, + "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4834, 4835, 4836 ] }, { - "teal": 5140, + "teal": 5138, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4837, - 4838 + 4837 ] }, { - "teal": 5141, + "teal": 5139, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4839 + 4838 ] }, { - "teal": 5142, + "teal": 5140, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ + 4839, 4840 ] }, { - "teal": 5143, - "source": "examples/reti/validatorRegistry.algo.ts:1323", + "teal": 5145, + "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4841, 4842 ] }, { - "teal": 5148, + "teal": 5146, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4843, @@ -24125,104 +24125,104 @@ ] }, { - "teal": 5149, + "teal": 5147, + "source": "examples/reti/validatorRegistry.algo.ts:1324", + "pc": [ + 4845 + ] + }, + { + "teal": 5148, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4845, 4846 ] }, { - "teal": 5150, + "teal": 5149, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4847 ] }, { - "teal": 5151, + "teal": 5150, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4848 ] }, { - "teal": 5152, + "teal": 5151, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4849 ] }, { - "teal": 5153, + "teal": 5152, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4850 ] }, { - "teal": 5154, + "teal": 5153, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4851 ] }, { - "teal": 5155, - "source": "examples/reti/validatorRegistry.algo.ts:1324", - "pc": [ - 4852 - ] - }, - { - "teal": 5156, + "teal": 5154, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ + 4852, 4853 ] }, { - "teal": 5157, + "teal": 5155, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4854, - 4855 + 4855, + 4856 ] }, { - "teal": 5158, + "teal": 5156, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4856, - 4857, - 4858 + 4857 ] }, { - "teal": 5159, + "teal": 5157, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4859 + 4858 ] }, { - "teal": 5160, + "teal": 5158, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4860 + 4859, + 4860, + 4861 ] }, { - "teal": 5161, - "source": "examples/reti/validatorRegistry.algo.ts:1324", + "teal": 5164, + "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4861, 4862, 4863 ] }, { - "teal": 5167, + "teal": 5165, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4864, @@ -24230,106 +24230,100 @@ ] }, { - "teal": 5168, + "teal": 5166, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4866, - 4867 + 4866 ] }, { - "teal": 5169, + "teal": 5167, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4868 + 4867 ] }, { - "teal": 5170, + "teal": 5168, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4869 + 4868 ] }, { - "teal": 5171, + "teal": 5169, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4870 + 4869 ] }, { - "teal": 5172, + "teal": 5170, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ + 4870, 4871 ] }, { - "teal": 5173, + "teal": 5171, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4872, - 4873 + 4872 ] }, { - "teal": 5174, + "teal": 5172, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4874 + 4873, + 4874, + 4875 ] }, { - "teal": 5175, - "source": "examples/reti/validatorRegistry.algo.ts:1325", + "teal": 5177, + "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ - 4875, - 4876, - 4877 + 4876 ] }, { - "teal": 5180, + "teal": 5178, "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ + 4877, 4878 ] }, { - "teal": 5181, - "source": "examples/reti/validatorRegistry.algo.ts:1326", + "teal": 5182, + "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4879, 4880 ] }, { - "teal": 5185, - "source": "examples/reti/validatorRegistry.algo.ts:1328", - "pc": [ - 4881, - 4882 - ] - }, - { - "teal": 5186, + "teal": 5183, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4883 + 4881 ] }, { - "teal": 5187, + "teal": 5184, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4884 + 4882 ] }, { - "teal": 5188, + "teal": 5185, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4883, + 4884, 4885, 4886, 4887, @@ -24353,235 +24347,241 @@ 4905, 4906, 4907, - 4908, - 4909, - 4910 + 4908 + ] + }, + { + "teal": 5186, + "source": "examples/reti/validatorRegistry.algo.ts:1328", + "pc": [ + 4909 ] }, { - "teal": 5189, + "teal": 5187, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4910, 4911 ] }, { - "teal": 5190, + "teal": 5188, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4912, - 4913 + 4912 ] }, { - "teal": 5191, + "teal": 5189, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4913, 4914 ] }, { - "teal": 5192, + "teal": 5190, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4915, - 4916 + 4915 ] }, { - "teal": 5193, - "source": "examples/reti/validatorRegistry.algo.ts:1328", + "teal": 5191, + "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4917 + 4916, + 4917, + 4918 ] }, { - "teal": 5194, - "source": "examples/reti/validatorRegistry.algo.ts:1325", + "teal": 5196, + "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4918, 4919, 4920 ] }, { - "teal": 5199, + "teal": 5197, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4921, - 4922 + 4921 ] }, { - "teal": 5200, + "teal": 5198, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4923 + 4922 ] }, { - "teal": 5201, + "teal": 5199, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ + 4923, 4924 ] }, { - "teal": 5202, - "source": "examples/reti/validatorRegistry.algo.ts:1330", + "teal": 5208, + "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4925, 4926 ] }, { - "teal": 5211, + "teal": 5209, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4927, - 4928 + 4927 ] }, { - "teal": 5212, + "teal": 5210, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4929 + 4928 ] }, { - "teal": 5213, + "teal": 5211, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ + 4929, 4930 ] }, { - "teal": 5214, + "teal": 5212, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4931, - 4932 + 4932, + 4933 ] }, { - "teal": 5215, - "source": "examples/reti/validatorRegistry.algo.ts:1319", + "teal": 5218, + "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4933, 4934, 4935 ] }, { - "teal": 5221, + "teal": 5219, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4936, - 4937 + 4936 ] }, { - "teal": 5222, + "teal": 5220, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4938 + 4937, + 4938, + 4939 ] }, { - "teal": 5223, - "source": "examples/reti/validatorRegistry.algo.ts:1334", + "teal": 5224, + "source": "examples/reti/validatorRegistry.algo.ts:1335", + "errorMessage": "No matching slot found when told to remove a pool from the stakers set", "pc": [ - 4939, - 4940, - 4941 + 4940 ] }, { - "teal": 5227, - "source": "examples/reti/validatorRegistry.algo.ts:1335", - "errorMessage": "No matching slot found when told to remove a pool from the stakers set", + "teal": 5229, + "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4941, 4942 ] }, { - "teal": 5232, + "teal": 5230, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4943, - 4944 + 4943 ] }, { - "teal": 5233, + "teal": 5231, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4944, 4945 ] }, { - "teal": 5234, + "teal": 5232, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4946, - 4947 + 4946 ] }, { - "teal": 5235, + "teal": 5233, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4948 + 4947 ] }, { - "teal": 5236, + "teal": 5234, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4949 + 4948 ] }, { - "teal": 5237, + "teal": 5235, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4950 + 4949 ] }, { - "teal": 5238, + "teal": 5236, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4950, 4951 ] }, { - "teal": 5239, + "teal": 5237, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4952, - 4953 + 4952 ] }, { - "teal": 5240, + "teal": 5238, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4954 + 4953 ] }, { - "teal": 5241, + "teal": 5239, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4955 + 4954 ] }, { "teal": 5242, - "source": "examples/reti/validatorRegistry.algo.ts:1338", + "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ + 4955, 4956 ] }, @@ -24594,46 +24594,46 @@ ] }, { - "teal": 5248, + "teal": 5246, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4959, - 4960 + 4959 ] }, { - "teal": 5249, - "source": "examples/reti/validatorRegistry.algo.ts:1312", + "teal": 5250, + "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 4961 + 4960, + 4961, + 4962 ] }, { "teal": 5253, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 4962, - 4963, - 4964 + 4963 ] }, { - "teal": 5256, + "teal": 5254, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ + 4964, 4965 ] }, { - "teal": 5257, - "source": "examples/reti/validatorRegistry.algo.ts:1341", + "teal": 5258, + "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4966, 4967 ] }, { - "teal": 5261, + "teal": 5259, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4968, @@ -24641,224 +24641,224 @@ ] }, { - "teal": 5262, + "teal": 5260, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4970, - 4971 + 4970 ] }, { - "teal": 5263, + "teal": 5261, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4971, 4972 ] }, { - "teal": 5264, + "teal": 5262, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4973, - 4974 + 4973 ] }, { - "teal": 5265, + "teal": 5263, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4975 + 4974 ] }, { - "teal": 5266, + "teal": 5264, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4975, 4976 ] }, { - "teal": 5267, + "teal": 5265, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4977, - 4978 + 4977 ] }, { - "teal": 5268, + "teal": 5266, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4978, 4979 ] }, { - "teal": 5269, - "source": "examples/reti/validatorRegistry.algo.ts:1342", + "teal": 5270, + "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 4980, - 4981 + 4981, + 4982 ] }, { - "teal": 5273, + "teal": 5271, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4982, - 4983, - 4984 + 4983 ] }, { - "teal": 5274, + "teal": 5272, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4985 + 4984 ] }, { - "teal": 5275, + "teal": 5273, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4985, 4986 ] }, { - "teal": 5276, + "teal": 5274, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4987, - 4988 + 4987 ] }, { - "teal": 5277, + "teal": 5275, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4989 + 4988 ] }, { - "teal": 5278, + "teal": 5276, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4989, 4990 ] }, { - "teal": 5279, + "teal": 5277, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4991, - 4992 + 4991 ] }, { - "teal": 5280, + "teal": 5278, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4993 + 4992 ] }, { - "teal": 5281, + "teal": 5279, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4993, 4994 ] }, { - "teal": 5282, - "source": "examples/reti/validatorRegistry.algo.ts:1343", + "teal": 5283, + "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 4995, 4996 ] }, { - "teal": 5286, + "teal": 5284, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 4997, - 4998 + 4997 ] }, { - "teal": 5287, + "teal": 5285, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 4999 + 4998 ] }, { - "teal": 5288, + "teal": 5286, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5000 + 4999 ] }, { - "teal": 5289, + "teal": 5287, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5001 + 5000, + 5001, + 5002 ] }, { - "teal": 5290, + "teal": 5288, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5002, 5003, 5004 ] }, { - "teal": 5291, + "teal": 5289, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5005, - 5006 + 5005 ] }, { - "teal": 5292, + "teal": 5290, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5007 + 5006 ] }, { - "teal": 5293, + "teal": 5291, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5008 + 5007 ] }, { - "teal": 5294, + "teal": 5295, "source": "examples/reti/validatorRegistry.algo.ts:1345", + "errorMessage": "node number not in valid range", "pc": [ - 5009 + 5008 ] }, { - "teal": 5298, - "source": "examples/reti/validatorRegistry.algo.ts:1345", - "errorMessage": "node number not in valid range", + "teal": 5299, + "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5010 + 5009 ] }, { - "teal": 5302, + "teal": 5300, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5010, 5011 ] }, { - "teal": 5303, + "teal": 5305, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5012, @@ -24866,7 +24866,7 @@ ] }, { - "teal": 5308, + "teal": 5306, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5014, @@ -24874,526 +24874,526 @@ ] }, { - "teal": 5309, + "teal": 5307, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5016, - 5017 + 5016 ] }, { - "teal": 5310, + "teal": 5308, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5018 + 5017, + 5018, + 5019 ] }, { - "teal": 5311, - "source": "examples/reti/validatorRegistry.algo.ts:1347", + "teal": 5313, + "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5019, 5020, 5021 ] }, + { + "teal": 5314, + "source": "examples/reti/validatorRegistry.algo.ts:1348", + "pc": [ + 5022 + ] + }, + { + "teal": 5315, + "source": "examples/reti/validatorRegistry.algo.ts:1348", + "pc": [ + 5023, + 5024 + ] + }, { "teal": 5316, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5022, - 5023 + 5025 ] }, { "teal": 5317, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5024 + 5026 ] }, { "teal": 5318, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5025, - 5026 + 5027 ] }, { "teal": 5319, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5027 + 5028 ] }, { "teal": 5320, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5028 + 5029 ] }, { "teal": 5321, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5029 + 5030 ] }, { "teal": 5322, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5030 + 5031 ] }, { "teal": 5323, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5031 + 5032, + 5033 ] }, { "teal": 5324, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5032 + 5034 ] }, { "teal": 5325, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5033 + 5035 ] }, { "teal": 5326, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5034, - 5035 + 5036 ] }, { "teal": 5327, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5036 + 5037 ] }, { "teal": 5328, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5037 + 5038 ] }, { "teal": 5329, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5038 + 5039 ] }, { "teal": 5330, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5039 + 5040 ] }, { "teal": 5331, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5040 + 5041 ] }, { "teal": 5332, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5041 + 5042, + 5043, + 5044 ] }, { - "teal": 5333, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5337, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5042 + 5045, + 5046 ] }, { - "teal": 5334, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5338, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5043 + 5047, + 5048 ] }, { - "teal": 5335, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5339, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5044, - 5045, - 5046 + 5049 ] }, { "teal": 5340, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5047, - 5048 + 5050 ] }, { "teal": 5341, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5049, - 5050 + 5051 ] }, { "teal": 5342, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5051 + 5052 ] }, { "teal": 5343, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5052 + 5053 ] }, { "teal": 5344, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5053 + 5054 ] }, { "teal": 5345, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5054 + 5055 ] }, { "teal": 5346, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5055 + 5056, + 5057 ] }, { "teal": 5347, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5056 + 5058 ] }, { "teal": 5348, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5057 + 5059 ] }, { "teal": 5349, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5058, - 5059 + 5060 ] }, { "teal": 5350, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5060 + 5061, + 5062 ] }, { "teal": 5351, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5061 + 5063 ] }, { "teal": 5352, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5062 + 5064 ] }, { "teal": 5353, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5063, - 5064 + 5065, + 5066 ] }, { "teal": 5354, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5065 + 5067 ] }, { "teal": 5355, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5066 + 5068 ] }, { "teal": 5356, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5067, - 5068 + 5069, + 5070 ] }, { "teal": 5357, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5069 - ] - }, - { - "teal": 5358, - "source": "examples/reti/validatorRegistry.algo.ts:1350", - "pc": [ - 5070 + 5071 ] }, { - "teal": 5359, - "source": "examples/reti/validatorRegistry.algo.ts:1350", + "teal": 5361, + "source": "examples/reti/validatorRegistry.algo.ts:1351", "pc": [ - 5071, 5072 ] }, { - "teal": 5360, - "source": "examples/reti/validatorRegistry.algo.ts:1350", - "pc": [ - 5073 - ] - }, - { - "teal": 5364, - "source": "examples/reti/validatorRegistry.algo.ts:1351", + "teal": 5368, + "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5073, 5074 ] }, { - "teal": 5371, + "teal": 5369, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5075, - 5076 + 5075 ] }, { - "teal": 5372, + "teal": 5370, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5077 + 5076 ] }, { - "teal": 5373, + "teal": 5371, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5077, 5078 ] }, { - "teal": 5374, + "teal": 5372, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5079, - 5080 + 5080, + 5081 ] }, { - "teal": 5375, - "source": "examples/reti/validatorRegistry.algo.ts:1347", + "teal": 5376, + "source": "examples/reti/validatorRegistry.algo.ts:1354", + "errorMessage": "no available space in specified node for this pool", "pc": [ - 5081, - 5082, - 5083 + 5082 ] }, { - "teal": 5379, - "source": "examples/reti/validatorRegistry.algo.ts:1354", - "errorMessage": "no available space in specified node for this pool", + "teal": 5377, + "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 5084 + 5083 ] }, { - "teal": 5380, - "source": "examples/reti/validatorRegistry.algo.ts:1341", + "teal": 5387, + "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5085 + 5084, + 5085, + 5086 ] }, { "teal": 5390, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5086, - 5087, - 5088 + 5087 ] }, { - "teal": 5393, + "teal": 5391, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ + 5088, 5089 ] }, { - "teal": 5394, - "source": "examples/reti/validatorRegistry.algo.ts:1364", + "teal": 5395, + "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5090, 5091 ] }, { - "teal": 5398, + "teal": 5396, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5092, - 5093 + 5092 ] }, { - "teal": 5399, + "teal": 5397, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5094 + 5093 ] }, { - "teal": 5400, + "teal": 5398, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5094, 5095 ] }, { - "teal": 5401, + "teal": 5399, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5096, - 5097 + 5096 ] }, { - "teal": 5402, + "teal": 5400, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5098 + 5097 ] }, { - "teal": 5403, + "teal": 5401, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5098, 5099 ] }, { - "teal": 5404, + "teal": 5402, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5100, - 5101 + 5100 ] }, { - "teal": 5405, + "teal": 5403, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5102 + 5101 ] }, { - "teal": 5406, + "teal": 5404, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5102, 5103 ] }, { - "teal": 5407, - "source": "examples/reti/validatorRegistry.algo.ts:1365", + "teal": 5409, + "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5104, 5105 ] }, { - "teal": 5412, + "teal": 5410, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5106, - 5107 + 5106 ] }, { - "teal": 5413, + "teal": 5411, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5108 + 5107 ] }, { - "teal": 5414, + "teal": 5412, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5109 + 5108, + 5109, + 5110 ] }, { - "teal": 5415, - "source": "examples/reti/validatorRegistry.algo.ts:1366", + "teal": 5417, + "source": "examples/reti/validatorRegistry.algo.ts:1367", "pc": [ - 5110, - 5111, - 5112 + 5111 ] }, { - "teal": 5420, - "source": "examples/reti/validatorRegistry.algo.ts:1367", + "teal": 5422, + "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ + 5112, 5113 ] }, { - "teal": 5425, + "teal": 5423, "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ 5114, @@ -25401,120 +25401,120 @@ ] }, { - "teal": 5426, - "source": "examples/reti/validatorRegistry.algo.ts:1369", + "teal": 5427, + "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5116, - 5117 + 5116 ] }, { - "teal": 5430, + "teal": 5428, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5117, 5118 ] }, { - "teal": 5431, + "teal": 5429, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5119, - 5120 + 5119 ] }, { - "teal": 5432, + "teal": 5430, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5120, 5121 ] }, { - "teal": 5433, + "teal": 5431, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5122, - 5123 + 5122 ] }, { - "teal": 5434, + "teal": 5432, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5124 + 5123 ] }, { - "teal": 5435, + "teal": 5433, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5124, 5125 ] }, { - "teal": 5436, + "teal": 5434, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5126, - 5127 + 5126 ] }, { - "teal": 5437, + "teal": 5435, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5127, 5128 ] }, { - "teal": 5438, - "source": "examples/reti/validatorRegistry.algo.ts:1370", + "teal": 5442, + "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5129, 5130 ] }, { - "teal": 5445, + "teal": 5443, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5131, - 5132 + 5131 ] }, { - "teal": 5446, + "teal": 5444, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5133 + 5132 ] }, { - "teal": 5447, + "teal": 5445, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5134 + 5133 ] }, { - "teal": 5448, + "teal": 5446, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5135 + 5134, + 5135, + 5136 ] }, { - "teal": 5449, - "source": "examples/reti/validatorRegistry.algo.ts:1374", + "teal": 5447, + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5136, 5137, 5138 ] }, { - "teal": 5450, + "teal": 5448, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5139, @@ -25522,45 +25522,45 @@ ] }, { - "teal": 5451, + "teal": 5449, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5141, - 5142 + 5141 ] }, { - "teal": 5452, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "teal": 5450, + "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5143 + 5142 ] }, { "teal": 5453, - "source": "examples/reti/validatorRegistry.algo.ts:1374", + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5144 + 5143 ] }, { - "teal": 5456, + "teal": 5454, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5145 + 5144, + 5145, + 5146 ] }, { - "teal": 5457, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "teal": 5455, + "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ - 5146, 5147, 5148 ] }, { - "teal": 5458, + "teal": 5456, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ 5149, @@ -25568,187 +25568,187 @@ ] }, { - "teal": 5459, + "teal": 5457, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ - 5151, - 5152 + 5151 ] }, { - "teal": 5460, - "source": "examples/reti/validatorRegistry.algo.ts:1376", + "teal": 5458, + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5153 + 5152 ] }, { "teal": 5461, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "source": "examples/reti/validatorRegistry.algo.ts:1373", "pc": [ - 5154 + 5153, + 5154, + 5155 ] }, { - "teal": 5464, - "source": "examples/reti/validatorRegistry.algo.ts:1373", + "teal": 5466, + "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5155, 5156, 5157 ] }, { - "teal": 5469, + "teal": 5467, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5158, - 5159 + 5158 ] }, { - "teal": 5470, + "teal": 5468, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5160 + 5159 ] }, { - "teal": 5471, + "teal": 5469, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5161 + 5160 ] }, { - "teal": 5472, - "source": "examples/reti/validatorRegistry.algo.ts:1378", + "teal": 5473, + "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5161, 5162 ] }, { - "teal": 5476, + "teal": 5474, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5163, - 5164 + 5163 ] }, { - "teal": 5477, + "teal": 5475, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5165 + 5164 ] }, { - "teal": 5478, + "teal": 5476, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5165, 5166 ] }, { - "teal": 5479, + "teal": 5477, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5167, - 5168 + 5167 ] }, { - "teal": 5480, + "teal": 5478, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5169 + 5168 ] }, { - "teal": 5481, + "teal": 5479, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5169, 5170 ] }, { - "teal": 5482, + "teal": 5480, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5171, - 5172 + 5171 ] }, { - "teal": 5483, + "teal": 5481, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5173 + 5172 ] }, { - "teal": 5484, + "teal": 5482, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5173, 5174 ] }, { - "teal": 5485, - "source": "examples/reti/validatorRegistry.algo.ts:1379", + "teal": 5487, + "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5175, 5176 ] }, { - "teal": 5490, + "teal": 5488, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5177, - 5178 + 5177 ] }, { - "teal": 5491, + "teal": 5489, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5179 + 5178 ] }, { - "teal": 5492, + "teal": 5490, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5180 + 5179, + 5180, + 5181 ] }, { - "teal": 5493, - "source": "examples/reti/validatorRegistry.algo.ts:1380", + "teal": 5495, + "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ - 5181, - 5182, - 5183 + 5182 ] }, { - "teal": 5498, + "teal": 5496, "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ + 5183, 5184 ] }, { - "teal": 5499, - "source": "examples/reti/validatorRegistry.algo.ts:1381", + "teal": 5504, + "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5185, 5186 ] }, { - "teal": 5507, + "teal": 5505, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5187, @@ -25756,7 +25756,7 @@ ] }, { - "teal": 5508, + "teal": 5506, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5189, @@ -25764,76 +25764,76 @@ ] }, { - "teal": 5509, + "teal": 5507, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ - 5191, - 5192 + 5191 ] }, { - "teal": 5510, + "teal": 5508, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ + 5192, 5193 ] }, { - "teal": 5511, + "teal": 5509, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ - 5194, - 5195 + 5194 ] }, { "teal": 5512, - "source": "examples/reti/validatorRegistry.algo.ts:1384", + "source": "examples/reti/validatorRegistry.algo.ts:1383", + "errorMessage": "must have required minimum balance of validator defined token to add stake", "pc": [ - 5196 + 5195 ] }, { - "teal": 5515, - "source": "examples/reti/validatorRegistry.algo.ts:1383", - "errorMessage": "must have required minimum balance of validator defined token to add stake", + "teal": 5518, + "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ + 5196, 5197 ] }, { - "teal": 5521, + "teal": 5519, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5198, - 5199 + 5198 ] }, { - "teal": 5522, + "teal": 5520, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5200 + 5199 ] }, { - "teal": 5523, + "teal": 5521, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5201 + 5200, + 5201, + 5202 ] }, { - "teal": 5524, - "source": "examples/reti/validatorRegistry.algo.ts:1388", + "teal": 5529, + "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5202, 5203, 5204 ] }, { - "teal": 5532, + "teal": 5530, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5205, @@ -25841,54 +25841,54 @@ ] }, { - "teal": 5533, + "teal": 5531, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5207, - 5208 + 5207 ] }, { - "teal": 5534, + "teal": 5532, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ + 5208, 5209 ] }, { - "teal": 5535, + "teal": 5533, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5210, - 5211 + 5211, + 5212 ] }, { - "teal": 5536, + "teal": 5534, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5212, - 5213, - 5214 + 5213 ] }, { "teal": 5537, - "source": "examples/reti/validatorRegistry.algo.ts:1390", + "source": "examples/reti/validatorRegistry.algo.ts:1389", + "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake", "pc": [ - 5215 + 5214 ] }, { - "teal": 5540, - "source": "examples/reti/validatorRegistry.algo.ts:1389", - "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake", + "teal": 5543, + "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ + 5215, 5216 ] }, { - "teal": 5546, + "teal": 5544, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5217, @@ -25896,146 +25896,146 @@ ] }, { - "teal": 5547, + "teal": 5545, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ - 5219, - 5220 + 5219 ] }, { - "teal": 5548, + "teal": 5546, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ - 5221 + 5220, + 5221, + 5222 ] }, { - "teal": 5549, - "source": "examples/reti/validatorRegistry.algo.ts:1394", + "teal": 5551, + "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5222, 5223, 5224 ] }, { - "teal": 5554, + "teal": 5552, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5225, - 5226 + 5225 ] }, { - "teal": 5555, + "teal": 5553, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5227 + 5226 ] }, { - "teal": 5556, + "teal": 5554, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5228 + 5227 ] }, { - "teal": 5557, - "source": "examples/reti/validatorRegistry.algo.ts:1395", + "teal": 5558, + "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ - 5229 + 5228 ] }, { - "teal": 5561, + "teal": 5559, "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ + 5229, 5230 ] }, { - "teal": 5562, - "source": "examples/reti/validatorRegistry.algo.ts:1396", + "teal": 5563, + "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5231, 5232 ] }, { - "teal": 5566, + "teal": 5564, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5233, - 5234 + 5234, + 5235 ] }, { - "teal": 5567, + "teal": 5565, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5235, - 5236, - 5237 + 5236 ] }, { - "teal": 5568, + "teal": 5566, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5237, 5238 ] }, { - "teal": 5569, + "teal": 5567, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5239, - 5240 + 5240, + 5241 ] }, { - "teal": 5570, + "teal": 5568, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5241, - 5242, - 5243 + 5242 ] }, { - "teal": 5571, + "teal": 5569, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5243, 5244 ] }, { - "teal": 5572, + "teal": 5570, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5245, - 5246 + 5245 ] }, { - "teal": 5573, + "teal": 5571, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5246, 5247 ] }, { - "teal": 5574, - "source": "examples/reti/validatorRegistry.algo.ts:1397", + "teal": 5577, + "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5248, 5249 ] }, { - "teal": 5580, + "teal": 5578, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5250, @@ -26043,108 +26043,108 @@ ] }, { - "teal": 5581, + "teal": 5579, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ - 5252, - 5253 + 5252 ] }, { - "teal": 5582, + "teal": 5580, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ - 5254 + 5253, + 5254, + 5255 ] }, { - "teal": 5583, - "source": "examples/reti/validatorRegistry.algo.ts:1398", + "teal": 5585, + "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ - 5255, - 5256, - 5257 + 5256 ] }, { - "teal": 5588, + "teal": 5586, "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ + 5257, 5258 ] }, { - "teal": 5589, - "source": "examples/reti/validatorRegistry.algo.ts:1399", + "teal": 5587, + "source": "examples/reti/validatorRegistry.algo.ts:1400", "pc": [ 5259, - 5260 + 5260, + 5261 ] }, { - "teal": 5590, - "source": "examples/reti/validatorRegistry.algo.ts:1400", + "teal": 5593, + "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5261, 5262, 5263 ] }, { - "teal": 5596, + "teal": 5594, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5264, - 5265 + 5264 ] }, { - "teal": 5597, + "teal": 5595, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5266 + 5265 ] }, { - "teal": 5598, + "teal": 5596, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5267 + 5266 ] }, { - "teal": 5599, + "teal": 5597, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5267, 5268 ] }, { - "teal": 5600, + "teal": 5598, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5269, - 5270 + 5269 ] }, { - "teal": 5601, + "teal": 5599, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5271 + 5270, + 5271, + 5272 ] }, { - "teal": 5602, + "teal": 5600, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5272, 5273, 5274 ] }, { - "teal": 5603, + "teal": 5601, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5275, @@ -26152,7 +26152,7 @@ ] }, { - "teal": 5604, + "teal": 5602, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5277, @@ -26160,47 +26160,47 @@ ] }, { - "teal": 5605, + "teal": 5603, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5279, - 5280 + 5279 ] }, { - "teal": 5606, + "teal": 5604, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5281 + 5280 ] }, { - "teal": 5607, + "teal": 5605, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5282 + 5281 ] }, { - "teal": 5608, + "teal": 5606, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5282, 5283 ] }, { - "teal": 5609, + "teal": 5607, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5284, - 5285 + 5285, + 5286 ] }, { - "teal": 5610, - "source": "examples/reti/validatorRegistry.algo.ts:1397", + "teal": 5612, + "source": "examples/reti/validatorRegistry.algo.ts:1403", "pc": [ - 5286, 5287, 5288 ] @@ -26208,21 +26208,21 @@ { "teal": 5615, "source": "examples/reti/validatorRegistry.algo.ts:1403", + "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake", "pc": [ - 5289, - 5290 + 5289 ] }, { - "teal": 5618, - "source": "examples/reti/validatorRegistry.algo.ts:1403", - "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake", + "teal": 5621, + "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ + 5290, 5291 ] }, { - "teal": 5624, + "teal": 5622, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5292, @@ -26230,31 +26230,31 @@ ] }, { - "teal": 5625, + "teal": 5623, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ - 5294, - 5295 + 5294 ] }, { - "teal": 5626, + "teal": 5624, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ - 5296 + 5295, + 5296, + 5297 ] }, { - "teal": 5627, - "source": "examples/reti/validatorRegistry.algo.ts:1405", + "teal": 5632, + "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5297, 5298, 5299 ] }, { - "teal": 5635, + "teal": 5633, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5300, @@ -26262,63 +26262,63 @@ ] }, { - "teal": 5636, + "teal": 5634, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5302, - 5303 + 5302 ] }, { - "teal": 5637, + "teal": 5635, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ + 5303, 5304 ] }, { - "teal": 5638, + "teal": 5636, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5305, - 5306 + 5306, + 5307 ] }, { - "teal": 5639, + "teal": 5637, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5307, - 5308, - 5309 + 5308 ] }, { - "teal": 5640, + "teal": 5638, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5310 + 5309, + 5310, + 5311 ] }, { "teal": 5641, - "source": "examples/reti/validatorRegistry.algo.ts:1409", + "source": "examples/reti/validatorRegistry.algo.ts:1408", + "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd", "pc": [ - 5311, - 5312, - 5313 + 5312 ] }, { - "teal": 5644, - "source": "examples/reti/validatorRegistry.algo.ts:1408", - "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd", + "teal": 5647, + "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ + 5313, 5314 ] }, { - "teal": 5650, + "teal": 5648, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5315, @@ -26326,31 +26326,31 @@ ] }, { - "teal": 5651, + "teal": 5649, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ - 5317, - 5318 + 5317 ] }, { - "teal": 5652, + "teal": 5650, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ - 5319 + 5318, + 5319, + 5320 ] }, { - "teal": 5653, - "source": "examples/reti/validatorRegistry.algo.ts:1413", + "teal": 5655, + "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ - 5320, 5321, 5322 ] }, { - "teal": 5658, + "teal": 5656, "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ 5323, @@ -26358,40 +26358,40 @@ ] }, { - "teal": 5659, - "source": "examples/reti/validatorRegistry.algo.ts:1415", + "teal": 5660, + "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5325, 5326 ] }, { - "teal": 5663, + "teal": 5661, "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5327, - 5328 + 5328, + 5329 ] }, { "teal": 5664, "source": "examples/reti/validatorRegistry.algo.ts:1416", + "errorMessage": "provided NFD must be valid", "pc": [ - 5329, - 5330, - 5331 + 5330 ] }, { - "teal": 5667, - "source": "examples/reti/validatorRegistry.algo.ts:1416", - "errorMessage": "provided NFD must be valid", + "teal": 5672, + "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ + 5331, 5332 ] }, { - "teal": 5675, + "teal": 5673, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5333, @@ -26399,61 +26399,61 @@ ] }, { - "teal": 5676, + "teal": 5674, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5335, - 5336 + 5335 ] }, { "teal": 5677, "source": "examples/reti/validatorRegistry.algo.ts:1420", + "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')", "pc": [ - 5337 + 5336 ] }, { - "teal": 5680, + "teal": 5678, "source": "examples/reti/validatorRegistry.algo.ts:1420", - "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')", "pc": [ + 5337, 5338 ] }, { - "teal": 5681, + "teal": 5679, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5339, - 5340 + 5339 ] }, { - "teal": 5682, + "teal": 5680, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5341 + 5340 ] }, { - "teal": 5683, + "teal": 5681, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5342 + 5341, + 5342, + 5343 ] }, { - "teal": 5684, - "source": "examples/reti/validatorRegistry.algo.ts:1420", + "teal": 5682, + "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ - 5343, 5344, 5345 ] }, { - "teal": 5685, + "teal": 5683, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5346, @@ -26461,49 +26461,43 @@ ] }, { - "teal": 5686, + "teal": 5684, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5348, - 5349 + 5349, + 5350 ] }, { - "teal": 5687, - "source": "examples/reti/validatorRegistry.algo.ts:1421", - "pc": [ - 5350, - 5351, - 5352 - ] - }, - { - "teal": 5688, + "teal": 5685, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5353 + 5351 ] }, { - "teal": 5692, + "teal": 5689, "source": "examples/reti/validatorRegistry.algo.ts:1419", "errorMessage": "provided nfd for entry isn't owned or linked to the staker", "pc": [ - 5354 + 5352 ] }, { - "teal": 5700, + "teal": 5697, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5355, - 5356 + 5353, + 5354 ] }, { - "teal": 5701, + "teal": 5698, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ + 5355, + 5356, 5357, 5358, 5359, @@ -26516,149 +26510,155 @@ 5366, 5367, 5368, - 5369, - 5370, - 5371 + 5369 ] }, { - "teal": 5702, + "teal": 5699, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5372 + 5370 ] }, { - "teal": 5705, + "teal": 5702, "source": "examples/reti/validatorRegistry.algo.ts:1427", "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.parentAppID')", "pc": [ - 5373 + 5371 ] }, { - "teal": 5706, + "teal": 5703, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5374 + 5372 ] }, { - "teal": 5707, + "teal": 5704, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5375, - 5376 + 5373, + 5374 ] }, { - "teal": 5708, + "teal": 5705, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5377, - 5378, - 5379 + 5375, + 5376, + 5377 ] }, { - "teal": 5709, + "teal": 5706, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5380 + 5378 ] }, { - "teal": 5710, + "teal": 5707, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5381 + 5379 ] }, { - "teal": 5713, + "teal": 5710, "source": "examples/reti/validatorRegistry.algo.ts:1426", "errorMessage": "specified nfd must be a segment of the nfd the validator specified as a requirement", "pc": [ - 5382 + 5380 ] }, { - "teal": 5716, + "teal": 5713, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5383 + 5381 ] }, { - "teal": 5728, + "teal": 5725, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5384, - 5385, - 5386 + 5382, + 5383, + 5384 ] }, { - "teal": 5731, + "teal": 5728, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5387 + 5385 ] }, { - "teal": 5735, + "teal": 5732, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5388, - 5389 + 5386, + 5387 ] }, { - "teal": 5736, + "teal": 5733, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ + 5388, + 5389, 5390, 5391, 5392, 5393, 5394, - 5395, - 5396, - 5397 + 5395 ] }, { - "teal": 5737, + "teal": 5734, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5398 + 5396 ] }, { - "teal": 5740, + "teal": 5737, "source": "examples/reti/validatorRegistry.algo.ts:1445", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.name')", "pc": [ - 5399 + 5397 ] }, { - "teal": 5741, + "teal": 5738, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5400, - 5401 + 5398, + 5399 + ] + }, + { + "teal": 5746, + "source": "examples/reti/validatorRegistry.algo.ts:1447", + "pc": [ + 5400 ] }, { - "teal": 5749, + "teal": 5747, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ + 5401, 5402 ] }, { - "teal": 5750, + "teal": 5748, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5403, @@ -26666,15 +26666,15 @@ ] }, { - "teal": 5751, - "source": "examples/reti/validatorRegistry.algo.ts:1447", + "teal": 5752, + "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5405, 5406 ] }, { - "teal": 5755, + "teal": 5753, "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5407, @@ -26682,15 +26682,15 @@ ] }, { - "teal": 5756, - "source": "examples/reti/validatorRegistry.algo.ts:1448", + "teal": 5757, + "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5409, 5410 ] }, { - "teal": 5760, + "teal": 5758, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5411, @@ -26698,7 +26698,7 @@ ] }, { - "teal": 5761, + "teal": 5759, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5413, @@ -26706,7 +26706,7 @@ ] }, { - "teal": 5762, + "teal": 5760, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5415, @@ -26714,7 +26714,7 @@ ] }, { - "teal": 5763, + "teal": 5761, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5417, @@ -26722,30 +26722,30 @@ ] }, { - "teal": 5764, + "teal": 5762, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ - 5419, - 5420 + 5419 ] }, { - "teal": 5765, + "teal": 5763, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ + 5420, 5421 ] }, { - "teal": 5766, - "source": "examples/reti/validatorRegistry.algo.ts:1449", + "teal": 5767, + "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5422, 5423 ] }, { - "teal": 5770, + "teal": 5768, "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5424, @@ -26754,16 +26754,16 @@ }, { "teal": 5771, - "source": "examples/reti/validatorRegistry.algo.ts:1450", + "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ - 5426, - 5427 + 5426 ] }, { - "teal": 5774, + "teal": 5772, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ + 5427, 5428 ] }, @@ -26771,94 +26771,94 @@ "teal": 5775, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ - 5429, - 5430 + 5429 ] }, { - "teal": 5778, - "source": "examples/reti/validatorRegistry.algo.ts:1447", + "teal": 5779, + "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ + 5430, 5431 ] }, { - "teal": 5782, + "teal": 5780, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5432, - 5433 + 5432 ] }, { - "teal": 5783, + "teal": 5781, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5434 + 5433 ] }, { - "teal": 5784, + "teal": 5782, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5435 + 5434 ] }, { "teal": 5785, - "source": "examples/reti/validatorRegistry.algo.ts:1452", + "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ + 5435, 5436 ] }, { - "teal": 5788, + "teal": 5786, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5437, - 5438 + 5437 ] }, { - "teal": 5789, - "source": "examples/reti/validatorRegistry.algo.ts:1443", + "teal": 5797, + "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5439 + 5438, + 5439, + 5440 ] }, { "teal": 5800, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5440, - 5441, - 5442 + 5441 ] }, { - "teal": 5803, + "teal": 5801, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ + 5442, 5443 ] }, { - "teal": 5804, - "source": "examples/reti/validatorRegistry.algo.ts:1463", + "teal": 5808, + "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5444, - 5445 + 5444 ] }, { - "teal": 5811, + "teal": 5809, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ + 5445, 5446 ] }, { - "teal": 5812, + "teal": 5810, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5447, @@ -26866,15 +26866,15 @@ ] }, { - "teal": 5813, - "source": "examples/reti/validatorRegistry.algo.ts:1464", + "teal": 5814, + "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5449, 5450 ] }, { - "teal": 5817, + "teal": 5815, "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5451, @@ -26882,17 +26882,11 @@ ] }, { - "teal": 5818, - "source": "examples/reti/validatorRegistry.algo.ts:1465", - "pc": [ - 5453, - 5454 - ] - }, - { - "teal": 5822, + "teal": 5819, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ + 5453, + 5454, 5455, 5456, 5457, @@ -26905,23 +26899,23 @@ 5464, 5465, 5466, - 5467, - 5468, - 5469 + 5467 ] }, { - "teal": 5823, + "teal": 5820, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ - 5470, - 5471 + 5468, + 5469 ] }, { - "teal": 5824, + "teal": 5821, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ + 5470, + 5471, 5472, 5473, 5474, @@ -26934,23 +26928,29 @@ 5481, 5482, 5483, - 5484, + 5484 + ] + }, + { + "teal": 5822, + "source": "examples/reti/validatorRegistry.algo.ts:1466", + "pc": [ 5485, 5486 ] }, { "teal": 5825, - "source": "examples/reti/validatorRegistry.algo.ts:1466", + "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5487, - 5488 + 5487 ] }, { - "teal": 5828, + "teal": 5826, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ + 5488, 5489 ] }, @@ -26958,19 +26958,19 @@ "teal": 5829, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5490, - 5491 + 5490 ] }, { - "teal": 5832, - "source": "examples/reti/validatorRegistry.algo.ts:1464", + "teal": 5833, + "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ + 5491, 5492 ] }, { - "teal": 5836, + "teal": 5834, "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ 5493, @@ -26978,22 +26978,22 @@ ] }, { - "teal": 5837, - "source": "examples/reti/validatorRegistry.algo.ts:1468", + "teal": 5838, + "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5495, - 5496 + 5495 ] }, { - "teal": 5841, + "teal": 5839, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ + 5496, 5497 ] }, { - "teal": 5842, + "teal": 5844, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5498, @@ -27001,7 +27001,7 @@ ] }, { - "teal": 5847, + "teal": 5845, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5500, @@ -27009,38 +27009,38 @@ ] }, { - "teal": 5848, + "teal": 5846, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5502, - 5503 + 5502 ] }, { - "teal": 5849, + "teal": 5847, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5504 + 5503 ] }, { - "teal": 5850, + "teal": 5848, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5505 + 5504, + 5505, + 5506 ] }, { - "teal": 5851, - "source": "examples/reti/validatorRegistry.algo.ts:1469", + "teal": 5852, + "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ - 5506, 5507, 5508 ] }, { - "teal": 5855, + "teal": 5853, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5509, @@ -27048,7 +27048,7 @@ ] }, { - "teal": 5856, + "teal": 5854, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5511, @@ -27056,30 +27056,30 @@ ] }, { - "teal": 5857, + "teal": 5855, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ - 5513, - 5514 + 5513 ] }, { - "teal": 5858, + "teal": 5856, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ + 5514, 5515 ] }, { - "teal": 5859, - "source": "examples/reti/validatorRegistry.algo.ts:1470", + "teal": 5861, + "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5516, 5517 ] }, { - "teal": 5864, + "teal": 5862, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5518, @@ -27087,38 +27087,38 @@ ] }, { - "teal": 5865, + "teal": 5863, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5520, - 5521 + 5520 ] }, { - "teal": 5866, + "teal": 5864, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5522 + 5521 ] }, { - "teal": 5867, + "teal": 5865, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5523 + 5522, + 5523, + 5524 ] }, { - "teal": 5868, + "teal": 5866, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5524, 5525, 5526 ] }, { - "teal": 5869, + "teal": 5867, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5527, @@ -27126,54 +27126,54 @@ ] }, { - "teal": 5870, + "teal": 5868, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5529, - 5530 + 5529 ] }, { - "teal": 5871, + "teal": 5869, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5531 + 5530 ] }, { "teal": 5872, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5532 + 5531, + 5532, + 5533 ] }, { - "teal": 5875, - "source": "examples/reti/validatorRegistry.algo.ts:1471", + "teal": 5877, + "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ - 5533, - 5534, - 5535 + 5534 ] }, { - "teal": 5880, + "teal": 5878, "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ - 5536 + 5535, + 5536, + 5537 ] }, { - "teal": 5881, - "source": "examples/reti/validatorRegistry.algo.ts:1472", + "teal": 5885, + "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5537, 5538, 5539 ] }, { - "teal": 5888, + "teal": 5886, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5540, @@ -27181,41 +27181,41 @@ ] }, { - "teal": 5889, + "teal": 5887, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5542, - 5543 + 5542 ] }, { - "teal": 5890, + "teal": 5888, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ + 5543, 5544 ] }, { - "teal": 5891, + "teal": 5889, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5545, - 5546 + 5546, + 5547 ] }, { - "teal": 5892, - "source": "examples/reti/validatorRegistry.algo.ts:1469", + "teal": 5894, + "source": "examples/reti/validatorRegistry.algo.ts:1475", "pc": [ - 5547, - 5548, - 5549 + 5548 ] }, { - "teal": 5897, - "source": "examples/reti/validatorRegistry.algo.ts:1475", + "teal": 5898, + "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ + 5549, 5550 ] }, @@ -27228,55 +27228,55 @@ ] }, { - "teal": 5904, + "teal": 5902, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5553, - 5554 + 5553 ] }, { - "teal": 5905, - "source": "examples/reti/validatorRegistry.algo.ts:1463", + "teal": 5910, + "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5555 + 5554, + 5555, + 5556 ] }, { "teal": 5913, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5556, - 5557, - 5558 + 5557 ] }, { - "teal": 5916, - "source": "examples/reti/validatorRegistry.algo.ts:1483", + "teal": 5917, + "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ - 5559 + 5558, + 5559, + 5560 ] }, { - "teal": 5920, + "teal": 5918, "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ - 5560, 5561, 5562 ] }, { - "teal": 5921, - "source": "examples/reti/validatorRegistry.algo.ts:1484", + "teal": 5922, + "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5563, 5564 ] }, { - "teal": 5925, + "teal": 5923, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5565, @@ -27284,302 +27284,302 @@ ] }, { - "teal": 5926, + "teal": 5924, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5567, - 5568 + 5567 ] }, { - "teal": 5927, + "teal": 5925, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5569 + 5568 ] }, { - "teal": 5928, + "teal": 5926, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ + 5569, 5570 ] }, { - "teal": 5929, + "teal": 5927, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5571, - 5572 + 5571 ] }, { - "teal": 5930, + "teal": 5928, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5573 + 5572 ] }, { - "teal": 5931, + "teal": 5929, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5574 + 5573 ] }, { - "teal": 5932, + "teal": 5930, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5575 + 5574 ] }, { - "teal": 5933, + "teal": 5931, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5576 + 5575 ] }, { "teal": 5934, "source": "examples/reti/validatorRegistry.algo.ts:1486", + "errorMessage": "wideRatio failed", "pc": [ - 5577 + 5576 ] }, { "teal": 5937, - "source": "examples/reti/validatorRegistry.algo.ts:1486", - "errorMessage": "wideRatio failed", + "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ + 5577, 5578 ] }, { - "teal": 5940, + "teal": 5938, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5579, - 5580 + 5579 ] }, { - "teal": 5941, - "source": "examples/reti/validatorRegistry.algo.ts:1483", + "teal": 5945, + "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5581 + 5580, + 5581, + 5582 ] }, { "teal": 5948, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5582, - 5583, - 5584 + 5583 ] }, { - "teal": 5951, - "source": "examples/reti/validatorRegistry.algo.ts:1493", + "teal": 5952, + "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ - 5585 + 5584, + 5585, + 5586 ] }, { - "teal": 5955, + "teal": 5953, "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ - 5586, 5587, 5588 ] }, { - "teal": 5956, - "source": "examples/reti/validatorRegistry.algo.ts:1494", + "teal": 5957, + "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5589, 5590 ] }, { - "teal": 5960, + "teal": 5958, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5591, - 5592 + 5592, + 5593 ] }, { - "teal": 5961, + "teal": 5959, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5593, - 5594, - 5595 + 5594 ] }, { - "teal": 5962, + "teal": 5960, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5596 + 5595 ] }, { - "teal": 5963, + "teal": 5961, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ + 5596, 5597 ] }, { - "teal": 5964, + "teal": 5962, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5598, - 5599 + 5598 ] }, { - "teal": 5965, + "teal": 5963, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5600 + 5599 ] }, { - "teal": 5966, + "teal": 5964, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5601 + 5600 ] }, { - "teal": 5967, + "teal": 5965, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5602 + 5601 ] }, { - "teal": 5968, + "teal": 5966, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5603 + 5602 ] }, { "teal": 5969, "source": "examples/reti/validatorRegistry.algo.ts:1496", - "pc": [ - 5604 - ] - }, - { - "teal": 5972, - "source": "examples/reti/validatorRegistry.algo.ts:1496", "errorMessage": "wideRatio failed", "pc": [ - 5605 + 5603 ] }, { - "teal": 5975, + "teal": 5972, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5606, - 5607 + 5604, + 5605 ] }, { - "teal": 5976, + "teal": 5973, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5608 + 5606 ] }, { - "teal": 5982, + "teal": 5979, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ - 5609, - 5610, - 5611 + 5607, + 5608, + 5609 ] }, { - "teal": 5986, + "teal": 5983, "source": "examples/reti/validatorRegistry.algo.ts:1504", "pc": [ + 5610, + 5611, 5612, 5613, 5614, 5615, 5616, - 5617, - 5618, - 5619 + 5617 ] }, { - "teal": 5987, + "teal": 5984, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ - 5620 + 5618 ] }, { - "teal": 5991, + "teal": 5988, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ - 5621, - 5622, - 5623 + 5619, + 5620, + 5621 ] }, { - "teal": 5995, + "teal": 5992, "source": "examples/reti/validatorRegistry.algo.ts:1509", "pc": [ + 5622, + 5623, 5624, 5625, 5626, 5627, 5628, 5629, - 5630, - 5631, - 5632 + 5630 ] }, { - "teal": 5996, + "teal": 5993, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ - 5633 + 5631 ] }, { - "teal": 6000, + "teal": 5997, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ - 5634, - 5635, - 5636 + 5632, + 5633, + 5634 ] }, { - "teal": 6003, + "teal": 6000, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ + 5635 + ] + }, + { + "teal": 6004, + "source": "examples/reti/validatorRegistry.algo.ts:1521", + "pc": [ + 5636, 5637 ] }, { - "teal": 6007, + "teal": 6005, "source": "examples/reti/validatorRegistry.algo.ts:1521", "pc": [ 5638, @@ -27587,15 +27587,15 @@ ] }, { - "teal": 6008, - "source": "examples/reti/validatorRegistry.algo.ts:1521", + "teal": 6009, + "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5640, 5641 ] }, { - "teal": 6012, + "teal": 6010, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5642, @@ -27603,7 +27603,7 @@ ] }, { - "teal": 6013, + "teal": 6011, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5644, @@ -27611,37 +27611,37 @@ ] }, { - "teal": 6014, + "teal": 6012, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ - 5646, - 5647 + 5646 ] }, { - "teal": 6015, + "teal": 6013, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ - 5648 + 5647 ] }, { - "teal": 6016, + "teal": 6014, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ + 5648, 5649 ] }, { - "teal": 6017, - "source": "examples/reti/validatorRegistry.algo.ts:1522", + "teal": 6018, + "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5650, 5651 ] }, { - "teal": 6021, + "teal": 6019, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5652, @@ -27649,7 +27649,7 @@ ] }, { - "teal": 6022, + "teal": 6020, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5654, @@ -27657,37 +27657,37 @@ ] }, { - "teal": 6023, + "teal": 6021, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ - 5656, - 5657 + 5656 ] }, { - "teal": 6024, + "teal": 6022, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ - 5658 + 5657 ] }, { - "teal": 6025, + "teal": 6023, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ + 5658, 5659 ] }, { - "teal": 6026, - "source": "examples/reti/validatorRegistry.algo.ts:1523", + "teal": 6027, + "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5660, 5661 ] }, { - "teal": 6030, + "teal": 6028, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5662, @@ -27695,7 +27695,7 @@ ] }, { - "teal": 6031, + "teal": 6029, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5664, @@ -27703,37 +27703,37 @@ ] }, { - "teal": 6032, + "teal": 6030, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ - 5666, - 5667 + 5666 ] }, { - "teal": 6033, + "teal": 6031, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ - 5668 + 5667 ] }, { - "teal": 6034, + "teal": 6032, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ + 5668, 5669 ] }, { - "teal": 6035, - "source": "examples/reti/validatorRegistry.algo.ts:1524", + "teal": 6036, + "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5670, 5671 ] }, { - "teal": 6039, + "teal": 6037, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5672, @@ -27741,7 +27741,7 @@ ] }, { - "teal": 6040, + "teal": 6038, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5674, @@ -27749,37 +27749,37 @@ ] }, { - "teal": 6041, + "teal": 6039, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ - 5676, - 5677 + 5676 ] }, { - "teal": 6042, + "teal": 6040, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ - 5678 + 5677 ] }, { - "teal": 6043, + "teal": 6041, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ + 5678, 5679 ] }, { - "teal": 6044, - "source": "examples/reti/validatorRegistry.algo.ts:1525", + "teal": 6045, + "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5680, 5681 ] }, { - "teal": 6048, + "teal": 6046, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5682, @@ -27787,7 +27787,7 @@ ] }, { - "teal": 6049, + "teal": 6047, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5684, @@ -27795,37 +27795,37 @@ ] }, { - "teal": 6050, + "teal": 6048, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ - 5686, - 5687 + 5686 ] }, { - "teal": 6051, + "teal": 6049, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ - 5688 + 5687 ] }, { - "teal": 6052, + "teal": 6050, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ + 5688, 5689 ] }, { - "teal": 6053, - "source": "examples/reti/validatorRegistry.algo.ts:1526", + "teal": 6054, + "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5690, 5691 ] }, { - "teal": 6057, + "teal": 6055, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5692, @@ -27833,7 +27833,7 @@ ] }, { - "teal": 6058, + "teal": 6056, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5694, @@ -27841,37 +27841,37 @@ ] }, { - "teal": 6059, + "teal": 6057, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ - 5696, - 5697 + 5696 ] }, { - "teal": 6060, + "teal": 6058, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ - 5698 + 5697 ] }, { - "teal": 6061, + "teal": 6059, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ + 5698, 5699 ] }, { - "teal": 6062, - "source": "examples/reti/validatorRegistry.algo.ts:1527", + "teal": 6063, + "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5700, 5701 ] }, { - "teal": 6066, + "teal": 6064, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5702, @@ -27879,7 +27879,7 @@ ] }, { - "teal": 6067, + "teal": 6065, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5704, @@ -27887,30 +27887,30 @@ ] }, { - "teal": 6068, + "teal": 6066, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ - 5706, - 5707 + 5706 ] }, { - "teal": 6069, + "teal": 6067, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ - 5708 + 5707 ] }, { - "teal": 6070, + "teal": 6068, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ + 5708, 5709 ] }, { - "teal": 6071, - "source": "examples/reti/validatorRegistry.algo.ts:1528", + "teal": 6072, + "source": "examples/reti/validatorRegistry.algo.ts:1529", "pc": [ 5710, 5711 @@ -27918,531 +27918,525 @@ }, { "teal": 6075, - "source": "examples/reti/validatorRegistry.algo.ts:1529", + "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5712, 5713 ] }, { - "teal": 6078, + "teal": 6076, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ - 5714, - 5715 + 5714 ] }, { - "teal": 6079, - "source": "examples/reti/validatorRegistry.algo.ts:1512", + "teal": 6080, + "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ - 5716 + 5715, + 5716, + 5717 ] }, { - "teal": 6083, - "source": "examples/reti/validatorRegistry.algo.ts:1532", + "teal": 6084, + "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5717, 5718, - 5719 + 5719, + 5720 ] }, { - "teal": 6087, + "teal": 6085, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5720, 5721, 5722 ] }, { - "teal": 6088, + "teal": 6086, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5723, - 5724 - ] - }, - { - "teal": 6089, - "source": "examples/reti/validatorRegistry.algo.ts:1536", - "pc": [ - 5725, - 5726, - 5727 + 5724, + 5725 ] }, { - "teal": 6090, + "teal": 6087, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5728 + 5726 ] }, { - "teal": 6091, + "teal": 6088, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5729 + 5727 ] }, { - "teal": 6092, + "teal": 6089, "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ - 5730 + 5728 ] }, { - "teal": 6095, + "teal": 6092, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5729, + 5730, 5731, 5732, 5733, - 5734, - 5735, - 5736 + 5734 ] }, { - "teal": 6096, + "teal": 6093, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 5737, - 5738, - 5739 + 5735, + 5736, + 5737 ] }, { - "teal": 6097, + "teal": 6094, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5738, + 5739, 5740, - 5741, - 5742, - 5743 + 5741 ] }, { - "teal": 6100, + "teal": 6097, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 5744 + 5742 ] }, { - "teal": 6103, + "teal": 6100, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5743, + 5744, 5745, 5746, 5747, - 5748, - 5749, - 5750 + 5748 ] }, { - "teal": 6104, + "teal": 6101, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5749, + 5750, 5751, 5752, 5753, - 5754, - 5755, - 5756 + 5754 ] }, { - "teal": 6105, + "teal": 6102, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5755, + 5756, 5757, 5758, 5759, - 5760, - 5761, - 5762 + 5760 ] }, { - "teal": 6106, + "teal": 6103, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5761, + 5762, 5763, 5764, 5765, - 5766, - 5767, - 5768 + 5766 ] }, { - "teal": 6107, + "teal": 6104, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5767, + 5768, 5769, 5770, 5771, - 5772, - 5773, - 5774 + 5772 ] }, { - "teal": 6108, + "teal": 6105, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5773, + 5774, 5775, 5776, 5777, - 5778, - 5779, - 5780 + 5778 ] }, { - "teal": 6109, + "teal": 6106, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5779, + 5780, 5781, 5782, 5783, - 5784, - 5785, - 5786 + 5784 ] }, { - "teal": 6110, + "teal": 6107, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5785, + 5786, 5787, 5788, 5789, - 5790, - 5791, - 5792 + 5790 ] }, { - "teal": 6111, + "teal": 6108, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5791, + 5792, 5793, 5794, 5795, - 5796, - 5797, - 5798 + 5796 ] }, { - "teal": 6112, + "teal": 6109, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5797, + 5798, 5799, 5800, 5801, - 5802, - 5803, - 5804 + 5802 ] }, { - "teal": 6113, + "teal": 6110, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5803, + 5804, 5805, 5806, 5807, - 5808, - 5809, - 5810 + 5808 ] }, { - "teal": 6114, + "teal": 6111, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5809, + 5810, 5811, 5812, 5813, - 5814, - 5815, - 5816 + 5814 ] }, { - "teal": 6115, + "teal": 6112, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5815, + 5816, 5817, 5818, 5819, - 5820, - 5821, - 5822 + 5820 ] }, { - "teal": 6116, + "teal": 6113, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5821, + 5822, 5823, 5824, 5825, - 5826, - 5827, - 5828 + 5826 ] }, { - "teal": 6117, + "teal": 6114, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5827, + 5828, 5829, 5830, 5831, - 5832, - 5833, - 5834 + 5832 ] }, { - "teal": 6118, + "teal": 6115, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5833, + 5834, 5835, 5836, 5837, - 5838, - 5839, - 5840 + 5838 ] }, { - "teal": 6119, + "teal": 6116, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5839, + 5840, 5841, 5842, 5843, - 5844, - 5845, - 5846 + 5844 ] }, { - "teal": 6120, + "teal": 6117, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5845, + 5846, 5847, 5848, 5849, - 5850, - 5851, - 5852 + 5850 ] }, { - "teal": 6121, + "teal": 6118, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5851, + 5852, 5853, 5854, 5855, - 5856, - 5857, - 5858 + 5856 ] }, { - "teal": 6122, + "teal": 6119, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5857, + 5858, 5859, 5860, 5861, - 5862, - 5863, - 5864 + 5862 ] }, { - "teal": 6123, + "teal": 6120, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5863, + 5864, 5865, 5866, 5867, - 5868, - 5869, - 5870 + 5868 ] }, { - "teal": 6124, + "teal": 6121, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5869, + 5870, 5871, 5872, 5873, - 5874, - 5875, - 5876 + 5874 ] }, { - "teal": 6125, + "teal": 6122, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5875, + 5876, 5877, 5878, 5879, - 5880, - 5881, - 5882 + 5880 ] }, { - "teal": 6126, + "teal": 6123, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5881, + 5882, 5883, 5884, 5885, - 5886, - 5887, - 5888 + 5886 ] }, { - "teal": 6127, + "teal": 6124, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5887, + 5888, 5889, 5890, 5891, - 5892, - 5893, - 5894 + 5892 ] }, { - "teal": 6128, + "teal": 6125, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5893, + 5894, 5895, 5896, 5897, - 5898, - 5899, - 5900 + 5898 ] }, { - "teal": 6129, + "teal": 6126, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5899, + 5900, 5901, 5902, 5903, - 5904, - 5905, - 5906 + 5904 ] }, { - "teal": 6130, + "teal": 6127, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5905, + 5906, 5907, 5908, 5909, - 5910, - 5911, - 5912 + 5910 ] }, { - "teal": 6131, + "teal": 6128, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5911, + 5912, 5913, 5914, 5915, - 5916, - 5917, - 5918 + 5916 ] }, { - "teal": 6132, + "teal": 6129, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5917, + 5918, 5919, 5920, 5921, - 5922, - 5923, - 5924 + 5922 ] }, { - "teal": 6133, + "teal": 6130, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5923, + 5924, 5925, 5926, 5927, - 5928, - 5929, - 5930 + 5928 ] }, { - "teal": 6134, + "teal": 6131, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5929, + 5930, 5931, 5932, 5933, - 5934, - 5935, - 5936 + 5934 ] }, { - "teal": 6135, + "teal": 6132, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5935, + 5936, 5937, 5938, 5939, - 5940, - 5941, - 5942 + 5940 ] }, { - "teal": 6136, + "teal": 6133, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 5943, - 5944, - 5945 + 5941, + 5942, + 5943 ] }, { - "teal": 6137, + "teal": 6134, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5944, + 5945, 5946, 5947, 5948, @@ -28508,56 +28502,54 @@ 6008, 6009, 6010, - 6011, - 6012, - 6013 + 6011 ] }, { - "teal": 6140, + "teal": 6137, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 6014 + 6012 ] }, { - "teal": 6143, + "teal": 6140, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 6013, + 6014, 6015, 6016, 6017, - 6018, - 6019, - 6020 + 6018 ] }, { - "teal": 6144, + "teal": 6141, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 6021, - 6022, - 6023 + 6019, + 6020, + 6021 ] }, { - "teal": 6145, + "teal": 6142, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 6022, + 6023, 6024, - 6025, - 6026, - 6027 + 6025 ] }, { - "teal": 6148, + "teal": 6145, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ - 6028 + 6026 ] } ], @@ -28569,7 +28561,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCAyNCAzMiAxOCAyNjggNiAyNDIgMyAyIDEwIDI1MiAyNjAgNzAwIFRNUExfbmZkUmVnaXN0cnlBcHBJZCAxMDAwMDAgOTAwIDQwIDIwMCA0IDcyIDE5MiAyNDQgMTAwMDAwMCA0MDk2IDUgMjI2IDMwMCA0MzIgODkyIDEwMDAgMjg1MDAgNTAwMDAgMTEgODAgMTQ1IDE1MyAyMDkKYnl0ZWNibG9jayAweDc2IDB4IDB4MTUxZjdjNzUgMHg3MzcwNzMgMHg3Mzc0NjE2YjY1NjQgMHgwMCAweDcwNmY2ZjZjNTQ2NTZkNzA2YzYxNzQ2NTQxNzA3MDcyNmY3NjYxNmM0Mjc5NzQ2NTczIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgMHgwYTgxMDEgMHg2OTJlNmY3NzZlNjU3MjJlNjEgMHgwMDAwMDAwMDAwMDAwMDAwIDB4Njk2ZTY5NzQgMHg2ZTc1NmQ1NiAweDY5NzM1Zjc2NjE2YzY5NjQ1ZjZlNjY2NDVmNjE3MDcwNjk2NCAweDYzZjNmMjhiCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIGxpbmVzIG9mIFRFQUwgYXJlIHVzZWQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSB2YXJpYWJsZXMgaW4gc2NyYXRjaCBzbG90cwppbnRjIDE1IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA3IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfVXBkYXRlQXBwbGljYXRpb24gKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIHVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVBcHBsaWNhdGlvbigpOiB2b2lkCnVwZGF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwMgoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gQWRkcmVzcy5mcm9tQWRkcmVzcygnTFo0VjJJUlZMQ1hGSks0UkVKVjRUQUdFS0VZVEEyR01SNlRDMjM0NE9CM0wzQUYzTVdYWjZaQUZJUScpKQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4NWU3OTVkMjIzNTU4YWU1NGFiOTEyMjZiYzk4MGM0NTEzMTMwNjhjYzhmYTYyZDZmOWM3MDc2YmQ4MGJiNjVhZiAvLyBhZGRyICJMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRIgoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMDQKCS8vIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZGVsZXRlKCkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJYm94X2RlbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMDUKCS8vIHRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSA9IGZhbHNlCglieXRlYyAxMSAvLyAgImluaXQiCglpbnRjIDAgLy8gMAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CgkvLyBleGVjdXRlIGNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkCgljYWxsc3ViIGNyZWF0ZUFwcGxpY2F0aW9uCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwOQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWludGMgMCAvLyAwCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjEwCgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSAwCglieXRlYyAxMiAvLyAgIm51bVYiCglpbnRjIDAgLy8gMAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjExCgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgPSAwCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTIKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlID0gMAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfaW5pdFN0YWtpbmdDb250cmFjdDoKCS8vIGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgaW5pdFN0YWtpbmdDb250cmFjdCh1aW50NjQpdm9pZAoJY2FsbHN1YiBpbml0U3Rha2luZ0NvbnRyYWN0CglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBpbml0U3Rha2luZ0NvbnRyYWN0KGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NCk6IHZvaWQKaW5pdFN0YWtpbmdDb250cmFjdDoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTcKCS8vIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uY3JlYXRlKGFwcHJvdmFsUHJvZ3JhbVNpemUpCglieXRlYyA2IC8vICAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWZyYW1lX2RpZyAtMSAvLyBhcHByb3ZhbFByb2dyYW1TaXplOiB1aW50NjQKCWJveF9jcmVhdGUKCXBvcAoJcmV0c3ViCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YToKCS8vIGRhdGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZXh0cmFjdCAyIDAKCgkvLyBvZmZzZXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIGxvYWRTdGFraW5nQ29udHJhY3REYXRhCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YShvZmZzZXQ6IHVpbnQ2NCwgZGF0YTogYnl0ZXMpOiB2b2lkCmxvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMQoJLy8gYXNzZXJ0KCF0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUpCglieXRlYyAxMSAvLyAgImluaXQiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAwIC8vIDAKCWdldGJpdAoJIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5yZXBsYWNlKG9mZnNldCwgZGF0YSkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZGF0YTogYnl0ZXMKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCl2b2lkCiphYmlfcm91dGVfZmluYWxpemVTdGFraW5nQ29udHJhY3Q6CgkvLyBleGVjdXRlIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCl2b2lkCgljYWxsc3ViIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0CglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpOiB2b2lkCmZpbmFsaXplU3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMCAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIyNgoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gdHJ1ZQoJYnl0ZWMgMTEgLy8gICJpbml0IgoJaW50YyAxIC8vIDEKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnYXMoKXZvaWQKKmFiaV9yb3V0ZV9nYXM6CgkvLyBleGVjdXRlIGdhcygpdm9pZAoJY2FsbHN1YiBnYXMKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdhcygpOiB2b2lkCi8vCi8vIGdhcyBpcyBhIGR1bW15IG5vLW9wIGNhbGwgdGhhdCBjYW4gYmUgdXNlZCB0byBwb29sLXVwIHJlc291cmNlIHJlZmVyZW5jZXMgYW5kIG9wY29kZSBjb3N0CmdhczoKCXByb3RvIDAgMAoJcmV0c3ViCgovLyBnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldE1ickFtb3VudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0TWJyQW1vdW50cwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldE1ickFtb3VudHMoKTogTWJyQW1vdW50cwovLwovLyBSZXR1cm5zIHRoZSBNQlIgYW1vdW50cyBuZWVkZWQgZm9yIHZhcmlvdXMgYWN0aW9uczoKLy8gWwovLyBhZGRWYWxpZGF0b3JNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gYWRkIGEgbmV3IHZhbGlkYXRvciAtIHBhaWQgdG8gdmFsaWRhdG9yIGNvbnRyYWN0Ci8vIGFkZFBvb2xNYnI6IHVpbnQ2NCAtIG1iciBuZWVkZWQgdG8gYWRkIGEgbmV3IHBvb2wgLSBwYWlkIHRvIHZhbGlkYXRvcgovLyBwb29sSW5pdE1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBpbml0U3RvcmFnZSgpIG9mIHBvb2wgLSBwYWlkIHRvIHBvb2wgaXRzZWxmCi8vIGFkZFN0YWtlck1icjogdWludDY0IC0gbWJyIHN0YWtlciBuZWVkcyB0byBhZGQgdG8gZmlyc3Qgc3Rha2luZyBwYXltZW50IChzdGF5cyB3LyB2YWxpZGF0b3IpCi8vIF0KZ2V0TWJyQW1vdW50czoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyNDYKCS8vIHJldHVybiB7CgkvLyAgICAgICBhZGRWYWxpZGF0b3JNYnI6IHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMSAvKiB2IHByZWZpeCAqLyArIGxlbjxWYWxpZGF0b3JJZFR5cGU+KCkgKyBsZW48VmFsaWRhdG9ySW5mbz4oKSksCgkvLyAgICAgICBhZGRQb29sTWJyOiB0aGlzLm1pbkJhbGFuY2VGb3JBY2NvdW50KAoJLy8gICAgICAgICAxLAoJLy8gICAgICAgICAvLyB3ZSBjb3VsZCBjYWxjdWxhdGUgdGhpcyBkaXJlY3RseSBieSByZWZlcmVuY2luZyB0aGUgc2l6ZSBvZiBzdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbSBidXQgaXQgd291bGQKCS8vICAgICAgICAgLy8gbWVhbiBvdXIgY2FsbGVycyB3b3VsZCBoYXZlIHRvIHJlZmVyZW5jZSB0aGUgYm94IEFORCBidXkgdXAgaS9vIC0gc28ganVzdCBnbyBtYXggb24gZXh0cmEgcGFnZXMKCS8vICAgICAgICAgMywKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgMCwKCS8vICAgICAgICAgU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgICBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJLy8gICAgICAgKSwKCS8vICAgICAgIHBvb2xJbml0TWJyOgoJLy8gICAgICAgICBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFICsKCS8vICAgICAgICAgdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSg3IC8qICdzdGFrZXJzJyBuYW1lICovICsgbGVuPFN0YWtlZEluZm8+KCkgKiBNQVhfU1RBS0VSU19QRVJfUE9PTCksCgkvLyAgICAgICBhZGRTdGFrZXJNYnI6CgkvLyAgICAgICAgIC8vIGhvdyBtdWNoIHRvIGNoYXJnZSBmb3IgZmlyc3QgdGltZSBhIHN0YWtlciBhZGRzIHN0YWtlIC0gc2luY2Ugd2UgYWRkIGEgdHJhY2tpbmcgYm94IHBlciBzdGFrZXIKCS8vICAgICAgICAgdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgzIC8qICdzcHMnIHByZWZpeCAqLyArIGxlbjxBZGRyZXNzPigpICsgbGVuPFZhbGlkYXRvclBvb2xLZXk+KCkgKiBNQVhfUE9PTFNfUEVSX1NUQUtFUiksIC8vIHNpemUgb2Yga2V5ICsgYWxsIHZhbHVlcwoJLy8gICAgIH07CglwdXNoaW50IDExMDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWludGMgOSAvLyAzCglpbnRjIDM0IC8vIDExCglpbnRjIDAgLy8gMAoJZHVwbiAyCglpbnRjIDkgLy8gMwoJaW50YyAxIC8vIDEKCWNhbGxzdWIgbWluQmFsYW5jZUZvckFjY291bnQKCWl0b2IKCWNvbmNhdAoJaW50YyAxNiAvLyAxMDAwMDAKCXB1c2hpbnQgMTI4MDcKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCSsKCWl0b2IKCWNvbmNhdAoJcHVzaGludCAxNzkKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRQcm90b2NvbENvbnN0cmFpbnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpOiBDb25zdHJhaW50cwovLwovLyBSZXR1cm5zIHRoZSBwcm90b2NvbCBjb25zdHJhaW50cyBzbyB0aGF0IFVJcyBjYW4gbGltaXQgd2hhdCB1c2VycyBzcGVjaWZ5IGZvciB2YWxpZGF0b3IgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgpnZXRQcm90b2NvbENvbnN0cmFpbnRzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI3MgoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGVwb2NoUGF5b3V0Um91bmRzTWluOiBNSU5fRVBPQ0hfTEVOR1RILAoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNYXg6IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBtaW5QY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1JTl9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWF4UGN0VG9WYWxpZGF0b3JXRm91ckRlY2ltYWxzOiBNQVhfUENUX1RPX1ZBTElEQVRPUiwKCS8vICAgICAgIG1pbkVudHJ5U3Rha2U6IE1JTl9BTEdPX1NUQUtFX1BFUl9QT09MLAoJLy8gICAgICAgbWF4QWxnb1BlclBvb2w6IHRoaXMubWF4QWxnb0FsbG93ZWRQZXJQb29sKCksCgkvLyAgICAgICBtYXhBbGdvUGVyVmFsaWRhdG9yOiB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgYW10Q29uc2lkZXJlZFNhdHVyYXRlZDogdGhpcy5hbGdvU2F0dXJhdGlvbkxldmVsKCksCgkvLyAgICAgICBtYXhOb2RlczogTUFYX05PREVTLAoJLy8gICAgICAgbWF4UG9vbHNQZXJOb2RlOiBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICBtYXhTdGFrZXJzUGVyUG9vbDogTUFYX1NUQUtFUlNfUEVSX1BPT0wsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMGY0MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMGY0MjQwCgljYWxsc3ViIG1heEFsZ29BbGxvd2VkUGVyUG9vbAoJaXRvYgoJY29uY2F0CgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJaXRvYgoJY29uY2F0CgljYWxsc3ViIGFsZ29TYXR1cmF0aW9uTGV2ZWwKCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwYzgKCWNvbmNhdAoJcmV0c3ViCgovLyBnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoJY2FsbHN1YiBnZXROdW1WYWxpZGF0b3JzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TnVtVmFsaWRhdG9ycygpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgY3VycmVudCBudW1iZXIgb2YgdmFsaWRhdG9ycwpnZXROdW1WYWxpZGF0b3JzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI5MgoJLy8gcmV0dXJuIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZTsKCWJ5dGVjIDEyIC8vICAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JDb25maWcKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JDb25maWcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckNvbmZpZwpnZXRWYWxpZGF0b3JDb25maWc6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mjk3CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWc7CglpbnRjIDAgLy8gMAoJaW50YyA4IC8vIDI0MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JTdGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFZhbGlkYXRvclN0YXRlCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0VmFsaWRhdG9yU3RhdGUodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFZhbGlkYXRvckN1clN0YXRlCmdldFZhbGlkYXRvclN0YXRlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMwMgoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGU7CglpbnRjIDggLy8gIGhlYWRPZmZzZXQKCXB1c2hpbnQgMjYKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKQoqYWJpX3JvdXRlX2dldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyKHVpbnQ2NCkoYWRkcmVzcyxhZGRyZXNzKQoJY2FsbHN1YiBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFtBZGRyZXNzLCBBZGRyZXNzXQpnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXI6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzA3CgkvLyByZXR1cm4gW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLCB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyXTsKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWludGMgMTggLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJY29uY2F0CglyZXRzdWIKCi8vIGdldFBvb2xzKHVpbnQ2NCkodWludDY0LHVpbnQxNix1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRQb29sczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoJY2FsbHN1YiBnZXRQb29scwoJZHVwCglsZW4KCWludGMgNSAvLyAxOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sSW5mb1tdCi8vCi8vIFJldHVybiBsaXN0IG9mIGFsbCBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWxpZGF0b3JJZAovLyBAcmV0dXJuIHtQb29sSW5mb1tdfSAtIGFycmF5IG9mIHBvb2xzCi8vIE5vdCBjYWxsYWJsZSBmcm9tIG90aGVyIGNvbnRyYWN0cyBiZWNhdXNlID4xSyByZXR1cm4gYnV0IGNhbiBiZSBjYWxsZWQgdy8gc2ltdWxhdGUgd2hpY2ggYnVtcHMgbG9nIHJldHVybnMKZ2V0UG9vbHM6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOAoJLy8gcmV0RGF0YTogUG9vbEluZm9bXSA9IFtdCglieXRlYyAxIC8vIDB4CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMTkKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDI5IC8vIDQzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMjAKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMQoJLy8gcG9vbFNldFtpXS5wb29sQXBwSWQgPT09IDAKCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgliICpmb3JfMF9lbmQKCippZjBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNQoJLy8gcmV0RGF0YS5wdXNoKHBvb2xTZXRbaV0pCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyA1IC8vIDE4CglleHRyYWN0MwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMjcKCS8vIHJldHVybiByZXREYXRhOwoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogUG9vbEluZm9bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZ2V0UG9vbEFwcElkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBwb29sSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBnZXRQb29sQXBwSWQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRQb29sQXBwSWQodmFsaWRhdG9ySWQ6IHVpbnQ2NCwgcG9vbElkOiB1aW50NjQpOiB1aW50NjQKZ2V0UG9vbEFwcElkOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMzNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbElkICE9PSAwICYmIHBvb2xJZCA8PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzLmxlbmd0aCwKCS8vICAgICAgICdwb29sIGlkIG11c3QgYmUgYmV0d2VlbiAxIGFuZCBudW1iZXIgb2YgcG9vbHMgZm9yIHRoaXMgdmFsaWRhdG9yJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAzIC8vIDI0Cgk8PQoJJiYKCipza2lwX2FuZDA6CgkvLyBwb29sIGlkIG11c3QgYmUgYmV0d2VlbiAxIGFuZCBudW1iZXIgb2YgcG9vbHMgZm9yIHRoaXMgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM5CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sSWQgLSAxXS5wb29sQXBwSWQ7CglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBwb29sSWQ6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCiphYmlfcm91dGVfZ2V0UG9vbEluZm86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDMgLy8gMjQKCT09CgoJLy8gYXJndW1lbnQgMCAocG9vbEtleSkgZm9yIGdldFBvb2xJbmZvIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KQoJY2FsbHN1YiBnZXRQb29sSW5mbwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xJbmZvKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiBQb29sSW5mbwpnZXRQb29sSW5mbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNDQKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXTsKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgNSAvLyAxOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRDdXJNYXhTdGFrZVBlclBvb2w6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldEN1ck1heFN0YWtlUGVyUG9vbCh1aW50NjQpdWludDY0CgljYWxsc3ViIGdldEN1ck1heFN0YWtlUGVyUG9vbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldEN1ck1heFN0YWtlUGVyUG9vbCh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZSB0aGUgbWF4aW11bSBzdGFrZSBwZXIgcG9vbCBmb3IgYSBnaXZlbiB2YWxpZGF0b3IuCi8vIE5vcm1hbGx5IHRoaXMgd291bGQgYmUgbWF4QWxnb1BlclBvb2wsIGJ1dCBpdCBzaG91bGQgYWxzbyBuZXZlciBnbyBhYm92ZSBNYXhBbGxvd2VkU3Rha2UgLyBudW1Qb29scyBzbwovLyBhcyBwb29scyBhcmUgYWRkZWQgdGhlIG1heCBhbGxvd2VkIHBlciBwb29sIGNhbiByZWR1Y2UuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgpnZXRDdXJNYXhTdGFrZVBlclBvb2w6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NQoJLy8gbnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTYKCS8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzID0gdGhpcy5tYXhBbGxvd2VkU3Rha2UoKSAvIG51bVBvb2xzCgljYWxsc3ViIG1heEFsbG93ZWRTdGFrZQoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJLwoJZnJhbWVfYnVyeSAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU3CgkvLyBtYXhQZXJQb29sOiB1aW50NjQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYXhBbGdvUGVyUG9vbAoJcHVzaGludCAyMTcKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTgKCS8vIG1heFBlclBvb2wgPT09IDAKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1OQoJLy8gbWF4UGVyUG9vbCA9IHRoaXMubWF4QWxnb0FsbG93ZWRQZXJQb29sKCkKCWNhbGxzdWIgbWF4QWxnb0FsbG93ZWRQZXJQb29sCglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoqaWYxX2VuZDoKCS8vICppZjJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzYxCgkvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scyA8IG1heFBlclBvb2wKCWZyYW1lX2RpZyAxIC8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjIKCS8vIG1heFBlclBvb2wgPSBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29scwoJZnJhbWVfZGlnIDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKKmlmMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzY0CgkvLyByZXR1cm4gbWF4UGVyUG9vbDsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wKKmFiaV9yb3V0ZV9kb2VzU3Rha2VyTmVlZFRvUGF5TUJSOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoc3Rha2VyKSBmb3IgZG9lc1N0YWtlck5lZWRUb1BheU1CUiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKGFkZHJlc3MpYm9vbAoJY2FsbHN1YiBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoc3Rha2VyOiBBZGRyZXNzKTogYm9vbGVhbgovLwovLyBIZWxwZXIgY2FsbGVycyBjYW4gY2FsbCB3LyBzaW11bGF0ZSB0byBkZXRlcm1pbmUgaWYgJ0FkZFN0YWtlcicgTUJSIHNob3VsZCBiZSBpbmNsdWRlZCB3LyBzdGFraW5nIGFtb3VudAovLyBAcGFyYW0gc3Rha2VyCmRvZXNTdGFrZXJOZWVkVG9QYXlNQlI6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzczCgkvLyByZXR1cm4gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0czsKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJcmV0c3ViCgovLyBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsdWludDY0KVtdCgljYWxsc3ViIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudAoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChzdGFrZXI6IEFkZHJlc3MpOiBWYWxpZGF0b3JQb29sS2V5W10KLy8KLy8gUmV0cmlldmVzIHRoZSBzdGFrZWQgcG9vbHMgZm9yIGFuIGFjY291bnQuCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFjY291bnQgdG8gcmV0cmlldmUgc3Rha2VkIHBvb2xzIGZvci4KLy8gQHJldHVybiB7VmFsaWRhdG9yUG9vbEtleVtdfSAtIFRoZSBhcnJheSBvZiBzdGFrZWQgcG9vbHMgZm9yIHRoZSBhY2NvdW50LgpnZXRTdGFrZWRQb29sc0ZvckFjY291bnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODMKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYnogKmlmM19lbmQKCgkvLyAqaWYzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODQKCS8vIHJldHVybiBbXTsKCWJ5dGVjIDEgLy8gMHgKCWIgKmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCpyZXR1cm4KCippZjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NgoJLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdID0gW10KCWJ5dGVjIDEgLy8gMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg3CgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgcG9vbFNldC5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBpIDwgcG9vbFNldC5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfMV9lbmQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OQoJLy8gcG9vbFNldFtpXS5pZCAhPT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM5MAoJLy8gcmV0RGF0YS5wdXNoKHBvb2xTZXRbaV0pCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKKmlmNF9lbmQ6CgoqZm9yXzFfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg4CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM5MwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10KCipnZXRTdGFrZWRQb29sc0ZvckFjY291bnQqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCiphYmlfcm91dGVfZ2V0VG9rZW5QYXlvdXRSYXRpbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoJY2FsbHN1YiBnZXRUb2tlblBheW91dFJhdGlvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0VG9rZW5QYXlvdXRSYXRpbyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogUG9vbFRva2VuUGF5b3V0UmF0aW8KLy8KLy8gUmV0cmlldmVzIHRoZSB0b2tlbiBwYXlvdXQgcmF0aW8gZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yIC0gcmV0dXJuaW5nIHRoZSBwb29sIHJhdGlvcyBvZiB3aG9sZSBzbyB0aGF0IHRva2VuCi8vIHBheW91dHMgYWNyb3NzIHBvb2xzIGNhbiBiZSBiYXNlZCBvbiBhIHN0YWJsZSBzbmFwaG9zdCBvZiBzdGFrZS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEByZXR1cm4ge1Bvb2xUb2tlblBheW91dFJhdGlvfSAtIFRoZSB0b2tlbiBwYXlvdXQgcmF0aW8gZm9yIHRoZSB2YWxpZGF0b3IuCmdldFRva2VuUGF5b3V0UmF0aW86Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDA1CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCXJldHN1YgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoqYWJpX3JvdXRlX2dldE5vZGVQb29sQXNzaWdubWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkKCWNhbGxzdWIgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldE5vZGVQb29sQXNzaWdubWVudHModmFsaWRhdG9ySWQ6IHVpbnQ2NCk6IE5vZGVQb29sQXNzaWdubWVudENvbmZpZwpnZXROb2RlUG9vbEFzc2lnbm1lbnRzOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMAoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAidGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGRvZXNuJ3QgZXhpc3QKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTIKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHM7CglpbnRjIDE3IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRORkRSZWdpc3RyeUlEKCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRORkRSZWdpc3RyeUlEOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRORkRSZWdpc3RyeUlECglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TkZEUmVnaXN0cnlJRCgpOiB1aW50NjQKZ2V0TkZEUmVnaXN0cnlJRDoKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MTYKCS8vIHJldHVybiB0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQ7CglpbnRjIDE1IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJcmV0c3ViCgovLyBhZGRWYWxpZGF0b3IocGF5LHN0cmluZywodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkpdWludDY0CiphYmlfcm91dGVfYWRkVmFsaWRhdG9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgOCAvLyAyNDIKCT09CgoJLy8gYXJndW1lbnQgMCAoY29uZmlnKSBmb3IgYWRkVmFsaWRhdG9yIG11c3QgYmUgYSAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBtYnJQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFZhbGlkYXRvciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKCWNhbGxzdWIgYWRkVmFsaWRhdG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYWRkVmFsaWRhdG9yKG1iclBheW1lbnQ6IFBheVR4biwgbmZkTmFtZTogc3RyaW5nLCBjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHVpbnQ2NAovLwovLyBBZGRzIGEgbmV3IHZhbGlkYXRvcgovLyBSZXF1aXJlcyBhdCBsZWFzdCAxMCBBTEdPIGFzIHRoZSAnZmVlJyBmb3IgdGhlIHRyYW5zYWN0aW9uIHRvIGhlbHAgZGlzc3VhZGUgc3BhbW1lZCB2YWxpZGF0b3IgYWRkcy4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIG5ldyB2YWxpZGF0b3Igc3RvcmFnZQovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAoT3B0aW9uYWwpIE5hbWUgb2YgbmZkICh1c2VkIGFzIGRvdWJsZS1jaGVjayBhZ2FpbnN0IGlkIHNwZWNpZmllZCBpbiBjb25maWcpCi8vIEBwYXJhbSB7VmFsaWRhdG9yQ29uZmlnfSBjb25maWcgVmFsaWRhdG9yQ29uZmlnIHN0cnVjdAovLyBAcmV0dXJucyB7dWludDY0fSB2YWxpZGF0b3IgaWQKYWRkVmFsaWRhdG9yOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDI4CgkvLyB0aGlzLnZhbGlkYXRlQ29uZmlnKGNvbmZpZykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJY2FsbHN1YiB2YWxpZGF0ZUNvbmZpZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjkKCS8vIGFzc2VydChjb25maWcub3duZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMAoJLy8gYXNzZXJ0KGNvbmZpZy5tYW5hZ2VyICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDQwIDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBjb25maWcub3duZXIsICdzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgOCAzMgoJPT0KCgkvLyBzZW5kZXIgbXVzdCBiZSBvd25lciB0byBhZGQgbmV3IHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzMwoJLy8gdmVyaWZ5UGF5VHhuKG1iclBheW1lbnQsIHsgYW1vdW50OiB0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkVmFsaWRhdG9yTWJyIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFzc2VydChtYnJQYXltZW50LmZlZSA+IDEwICogMTAwMDAwMCwgJ2ZlZSBtdXN0IGJlIDEwIEFMR08gb3IgbW9yZSB0byBwcmV2ZW50IHNwYW1taW5nIG9mIHZhbGlkYXRvcnMnKQoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgRmVlCglwdXNoaW50IDEwMDAwMDAwCgk+CgoJLy8gZmVlIG11c3QgYmUgMTAgQUxHTyBvciBtb3JlIHRvIHByZXZlbnQgc3BhbW1pbmcgb2YgdmFsaWRhdG9ycwoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzOAoJLy8gdmFsaWRhdG9ySWQgPSB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgKyAxCglieXRlYyAxMiAvLyAgIm51bVYiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzOQoJLy8gdGhpcy5udW1WYWxpZGF0b3JzLnZhbHVlID0gdmFsaWRhdG9ySWQKCWJ5dGVjIDEyIC8vICAibnVtViIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5jcmVhdGUoKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hpbnQgMTA5MgoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MgoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcgPSBjb25maWcKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmlkID0gdmFsaWRhdG9ySWQKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyAqaWY1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0NgoJLy8gY29uZmlnLm5mZEZvckluZm8gIT09IDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQ4CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IoY29uZmlnLm5mZEZvckluZm8pXSwKCS8vICAgICAgICAgYXBwbGljYXRpb25zOiBbQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbyldLAoJLy8gICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKGNvbmZpZy5uZmRGb3JJbmZvKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUxCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKV0KCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDUzCgkvLyBhc3NlcnQoYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDEsICJwcm92aWRlZCBORkQgaXNuJ3QgdmFsaWQiKQoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBwcm92aWRlZCBORkQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSAoQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpIGFzIEFkZHJlc3MpLAoJLy8gICAgICAgICAnSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyJwoJLy8gICAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChjb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCT09CgoJLy8gSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyCglhc3NlcnQKCippZjVfZW5kOgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjEKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUyB8fAoJLy8gICAgICAgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnRjIDkgLy8gMwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgMjAgLy8gNAoJPT0KCXx8Cgoqc2tpcF9vcjA6CglieiAqaWY2X2VuZAoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2NQoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSksICdwcm92aWRlZCBORkQgQXBwIGlkIGZvciBnYXRpbmcgbXVzdCBiZSB2YWxpZCBORkQnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRAoJYXNzZXJ0CgoqaWY2X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NjgKCS8vIHJldHVybiB2YWxpZGF0b3JJZDsKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCS8vIG1hbmFnZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobWFuYWdlcikgZm9yIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG1hbmFnZXI6IEFkZHJlc3MpOiB2b2lkCi8vCi8vIENoYW5nZXMgdGhlIFZhbGlkYXRvciBtYW5hZ2VyIGZvciBhIHNwZWNpZmljIFZhbGlkYXRvciBpZC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byBjaGFuZ2UgdGhlIG1hbmFnZXIgZm9yLgovLyBAcGFyYW0ge0FkZHJlc3N9IG1hbmFnZXIgLSBUaGUgbmV3IG1hbmFnZXIgYWRkcmVzcy4KY2hhbmdlVmFsaWRhdG9yTWFuYWdlcjoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NzkKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0ODMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIgPSBtYW5hZ2VyCglpbnRjIDE4IC8vIDQwCglmcmFtZV9kaWcgLTIgLy8gbWFuYWdlcjogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvOgoJLy8gc3Vuc2V0dGluZ1RvOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdW5zZXR0aW5nT246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHN1bnNldHRpbmdPbjogdWludDY0LCBzdW5zZXR0aW5nVG86IFZhbGlkYXRvcklkVHlwZSk6IHZvaWQKLy8KLy8gVXBkYXRlcyB0aGUgc3Vuc2V0IGluZm9ybWF0aW9uIGZvciBhIGdpdmVuIHZhbGlkYXRvci4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byB1cGRhdGUuCi8vIEBwYXJhbSB7dWludDY0fSBzdW5zZXR0aW5nT24gLSBUaGUgbmV3IHN1bnNldCB0aW1lc3RhbXAuCi8vIEBwYXJhbSB7dWludDY0fSBzdW5zZXR0aW5nVG8gLSBUaGUgbmV3IHN1bnNldCB0byB2YWxpZGF0b3IgaWQuCmNoYW5nZVZhbGlkYXRvclN1bnNldEluZm86Cglwcm90byAzIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDk1CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDk5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPSBzdW5zZXR0aW5nT24KCWludGMgMjcgLy8gMjI2CglmcmFtZV9kaWcgLTIgLy8gc3Vuc2V0dGluZ09uOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTAwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nVG8gPSBzdW5zZXR0aW5nVG8KCXB1c2hpbnQgMjM0CglmcmFtZV9kaWcgLTMgLy8gc3Vuc2V0dGluZ1RvOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JORkQ6CgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvck5GRAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gY2hhbmdlVmFsaWRhdG9yTkZEKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG5mZEFwcElEOiB1aW50NjQsIG5mZE5hbWU6IHN0cmluZyk6IHZvaWQKLy8KLy8gQ2hhbmdlcyB0aGUgTkZEIGZvciBhIHZhbGlkYXRvciBpbiB0aGUgdmFsaWRhdG9yTGlzdCBjb250cmFjdC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB0byB1cGRhdGUuCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBhcHBsaWNhdGlvbiBpZCBvZiB0aGUgTkZEIHRvIGFzc2lnbiB0byB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBORkQgKHdoaWNoIG11c3QgbWF0Y2gpCmNoYW5nZVZhbGlkYXRvck5GRDoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTMKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MTkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxNSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjAKCS8vIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBuZmROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTIxCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTI0CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAnSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglieXRlYyA5IC8vICAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0Cgk9PQoKCS8vIElmIHNwZWNpZnlpbmcgTkZELCBhY2NvdW50IGFkZGluZyB2YWxpZGF0b3IgbXVzdCBiZSBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyOAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IG5mZEFwcElECglpbnRjIDIxIC8vIDcyCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3M6CgkvLyBjb21taXNzaW9uQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb21taXNzaW9uQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlIHRoZSBjb21taXNzaW9uIGFkZHJlc3MgdGhhdCB2YWxpZGF0b3IgcmV3YXJkcyBhcmUgc2VudCB0by4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCXByb3RvIDIgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MzYKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NDAKCS8vIGFzc2VydChjb21taXNzaW9uQWRkcmVzcyAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU0MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgPSBjb21taXNzaW9uQWRkcmVzcwoJcHVzaGludCAxNzcKCWZyYW1lX2RpZyAtMiAvLyBjb21taXNzaW9uQWRkcmVzczogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvOgoJLy8gUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDYKCWJ0b2kKCgkvLyBHYXRpbmdBc3NldE1pbkJhbGFuY2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIEVudHJ5R2F0aW5nQXNzZXRzOiB1aW50NjRbNF0KCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMiAoRW50cnlHYXRpbmdBc3NldHMpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSB1aW50NjRbNF0KCWFzc2VydAoKCS8vIEVudHJ5R2F0aW5nQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAzIChFbnRyeUdhdGluZ0FkZHJlc3MpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAxIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgNCAoRW50cnlHYXRpbmdUeXBlKSBmb3IgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIEVudHJ5R2F0aW5nVHlwZTogdWludDgsIEVudHJ5R2F0aW5nQWRkcmVzczogQWRkcmVzcywgRW50cnlHYXRpbmdBc3NldHM6IFN0YXRpY0FycmF5PHVpbnQ2NCwgND4sIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0LCBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gQWxsb3cgdGhlIGFkZGl0aW9uYWwgcmV3YXJkcyAoZ2F0aW5nIGVudHJ5LCBhZGRpdGlvbmFsIHRva2VuIHJld2FyZHMpIGluZm9ybWF0aW9uIGJlIGNoYW5nZWQgYXQgd2lsbC4KLy8gWyBPTkxZIE9XTkVSIENBTiBDSEFOR0UgXQpjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvOgoJcHJvdG8gNiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU1NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZW50cnlHYXRpbmdUeXBlID0gRW50cnlHYXRpbmdUeXBlCglpbnRjIDM1IC8vIDgwCglmcmFtZV9kaWcgLTIgLy8gRW50cnlHYXRpbmdUeXBlOiB1aW50OAoJaXRvYgoJZXh0cmFjdCA3IDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ0FkZHJlc3MgPSBFbnRyeUdhdGluZ0FkZHJlc3MKCXB1c2hpbnQgODEKCWZyYW1lX2RpZyAtMyAvLyBFbnRyeUdhdGluZ0FkZHJlc3M6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cyA9IEVudHJ5R2F0aW5nQXNzZXRzCglwdXNoaW50IDExMwoJZnJhbWVfZGlnIC00IC8vIEVudHJ5R2F0aW5nQXNzZXRzOiBTdGF0aWNBcnJheTx1aW50NjQsIDQ+CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2NAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZ2F0aW5nQXNzZXRNaW5CYWxhbmNlID0gR2F0aW5nQXNzZXRNaW5CYWxhbmNlCglpbnRjIDM2IC8vIDE0NQoJZnJhbWVfZGlnIC01IC8vIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU2NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucmV3YXJkUGVyUGF5b3V0ID0gUmV3YXJkUGVyUGF5b3V0CglwdXNoaW50IDE2MQoJZnJhbWVfZGlnIC02IC8vIFJld2FyZFBlclBheW91dDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFBvb2w6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIG5vZGVOdW06IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBtYnJQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAobWJyUGF5bWVudCkgZm9yIGFkZFBvb2wgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhZGRQb29sKHBheSx1aW50NjQsdWludDY0KSh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYWRkUG9vbAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZFBvb2wobWJyUGF5bWVudDogUGF5VHhuLCB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBub2RlTnVtOiB1aW50NjQpOiBWYWxpZGF0b3JQb29sS2V5Ci8vCi8vIEFkZHMgYSBuZXcgcG9vbCB0byBhIHZhbGlkYXRvcidzIHBvb2wgc2V0LCByZXR1cm5pbmcgdGhlICdrZXknIHRvIHJlZmVyZW5jZSB0aGUgcG9vbCBpbiB0aGUgZnV0dXJlIGZvciBzdGFraW5nLCBldGMuCi8vIFRoZSBjYWxsZXIgbXVzdCBwYXkgdGhlIGNvc3Qgb2YgdGhlIHZhbGlkYXRvcnMgTUJSIGluY3JlYXNlIGFzIHdlbGwgYXMgdGhlIE1CUiB0aGF0IHdpbGwgYmUgbmVlZGVkIGZvciB0aGUgcG9vbCBpdHNlbGYuCi8vCi8vIFsgT05MWSBPV05FUiBPUiBNQU5BR0VSIENBTiBjYWxsIF0KLy8gQHBhcmFtIHtQYXlUeG59IG1iclBheW1lbnQgcGF5bWVudCBmcm9tIGNhbGxlciB3aGljaCBjb3ZlcnMgbWJyIGluY3JlYXNlIG9mIGFkZGluZyBhIG5ldyBwb29sCi8vIEBwYXJhbSB7dWludDY0fSB2YWxpZGF0b3JJZCBpcyBpZCBvZiB2YWxpZGF0b3IgdG8gcG9vbCB0byAobXVzdCBiZSBvd25lciBvciBtYW5hZ2VyKQovLyBAcGFyYW0ge3VpbnQ2NH0gbm9kZU51bSBpcyBub2RlIG51bWJlciB0byBhZGQgdG8KLy8gQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2wga2V5IHRvIGNyZWF0ZWQgcG9vbAphZGRQb29sOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJZHVwCglibnogKnNraXBfb3IxCgl0eG4gU2VuZGVyCglpbnRjIDE4IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IxOgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTg4CgkvLyB2ZXJpZnlQYXlUeG4obWJyUGF5bWVudCwgeyBhbW91bnQ6IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFBvb2xNYnIsIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzIH0pCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWNhbGxzdWIgZ2V0TWJyQW1vdW50cwoJZXh0cmFjdCA4IDgKCWJ0b2kKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJhbW91bnQiLCJleHBlY3RlZCI6InRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFBvb2xNYnIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJtYnJQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTkwCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5leGlzdHMsICJzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkIikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gbnVtUG9vbHM6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gKmlmN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTMKCS8vIChudW1Qb29scyBhcyB1aW50NjQpID49IE1BWF9QT09MUwoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50YyAzIC8vIDI0Cgk+PQoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIGFscmVhZHkgYXQgbWF4IHBvb2wgc2l6ZQoJZXJyCgoqaWY3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIG51bVBvb2xzICs9IDEKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoNDA5NiwgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplIC0gNDA5NiksCgkvLyAgICAgICBdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZSwKCS8vICAgICAgIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwMAoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcAoJaW50YyAwIC8vICBOb09wCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDEKCS8vIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0KCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJaW50YyAwIC8vIDAKCWludGMgMjUgLy8gNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJaW50YyAyNSAvLyA0MDk2CglieXRlYyA2IC8vICAicG9vbFRlbXBsYXRlQXBwcm92YWxCeXRlcyIKCWJveF9sZW4KCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uc2l6ZQoJYXNzZXJ0CglpbnRjIDI1IC8vIDQwOTYKCS0KCWJveF9leHRyYWN0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNQoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IFN0YWtpbmdQb29sLmNsZWFyUHJvZ3JhbSgpCglwdXNoYnl0ZXMgMHgwYQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MDYKCS8vIGdsb2JhbE51bVVpbnQ6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtVWludAoJaW50YyAzNCAvLyAxMQoJaXR4bl9maWVsZCBHbG9iYWxOdW1VaW50CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNwoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50YyA5IC8vIDMKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwOAoJLy8gZXh0cmFQcm9ncmFtUGFnZXM6IDMKCWludGMgOSAvLyAzCglpdHhuX2ZpZWxkIEV4dHJhUHJvZ3JhbVBhZ2VzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwOQoJLy8gYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgIC8vIGNyZWF0aW5nQ29udHJhY3RJRCwgdmFsaWRhdG9ySWQsIHBvb2xJZCwgbWluRW50cnlTdGFrZQoJLy8gICAgICAgICBtZXRob2QoJ2NyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkJyksCgkvLyAgICAgICAgIGl0b2IodGhpcy5hcHAuaWQpLAoJLy8gICAgICAgICBpdG9iKHZhbGlkYXRvcklkKSwKCS8vICAgICAgICAgaXRvYihudW1Qb29scyBhcyB1aW50NjQpLAoJLy8gICAgICAgICBpdG9iKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1pbkVudHJ5U3Rha2UpLAoJLy8gICAgICAgXQoJcHVzaGJ5dGVzIDB4NTllOTBhYTYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbih1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAzOCAvLyAyMDkKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjE5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzID0gbnVtUG9vbHMgYXMgdWludDE2CglpbnRjIDggLy8gMjQyCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjIKCS8vIHBvb2xBcHBJZCA9IHRoaXMuaXR4bi5jcmVhdGVkQXBwbGljYXRpb25JRC5pZAoJaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAoJZnJhbWVfYnVyeSAxIC8vIHBvb2xBcHBJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1tudW1Qb29scyAtIDFdLnBvb2xBcHBJZCA9IHBvb2xBcHBJZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMSAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MjQKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGFkZFBvb2xUb05vZGUKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjMyCgkvLyByZXR1cm4geyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogbnVtUG9vbHMgYXMgdWludDY0LCBwb29sQXBwSWQ6IHRoaXMuaXR4biEuY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQgfTsKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpdG9iCgljb25jYXQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2FkZFN0YWtlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gc3Rha2VkQW1vdW50UGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDIgKHN0YWtlZEFtb3VudFBheW1lbnQpIGZvciBhZGRTdGFrZSBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFN0YWtlKHBheSx1aW50NjQsdWludDY0KSh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYWRkU3Rha2UKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NCk6IFZhbGlkYXRvclBvb2xLZXkKLy8KLy8gQWRkcyBzdGFrZSB0byBhIHZhbGlkYXRvciBwb29sLgovLwovLyBAcGFyYW0ge1BheVR4bn0gc3Rha2VkQW1vdW50UGF5bWVudCAtIHBheW1lbnQgY29taW5nIGZyb20gc3Rha2VyIHRvIHBsYWNlIGludG8gYSBwb29sCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsdWVUb1ZlcmlmeSAtIG9ubHkgaWYgdmFsaWRhdG9yIGhhcyBnYXRpbmcgdG8gZW50ZXIgLSB0aGlzIGlzIGFzc2V0IGlkIG9yIG5mZCBpZCB0aGF0IGNvcnJlc3BvbmRzIHRvIGdhdGluZy4KLy8gVHhuIHNlbmRlciBpcyBmYWN0b3JlZCBpbiBhcyB3ZWxsIGlmIHRoYXQgaXMgcGFydCBvZiBnYXRpbmcuCi8vICogQHJldHVybnMge1ZhbGlkYXRvclBvb2xLZXl9IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCmFkZFN0YWtlOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDUKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uID4gMAoJaW50YyAyNyAvLyAyMjYKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDAgLy8gMAoJPgoJYnogKmlmOF9lbmQKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuc3Vuc2V0dGluZ09uIDwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsCgkvLyAgICAgICAgICJjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lIgoJLy8gICAgICAgKQoJaW50YyAyNyAvLyAyMjYKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk8CgoJLy8gY2FuJ3Qgc3Rha2Ugd2l0aCBhIHZhbGlkYXRvciB0aGF0IGlzIHBhc3QgaXRzIHN1bnNldHRpbmcgdGltZQoJYXNzZXJ0CgoqaWY4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTUKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAwIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NTkKCS8vIHZlcmlmeVBheVR4bihzdGFrZWRBbW91bnRQYXltZW50LCB7CgkvLyAgICAgICBzZW5kZXI6IHN0YWtlciwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InN0YWtlZEFtb3VudFBheW1lbnQiLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoic3Rha2VyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY2NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgPCB0aGlzLm1heEFsbG93ZWRTdGFrZSgpLAoJLy8gICAgICAgJ3RvdGFsIHN0YWtlZCBmb3IgYWxsIG9mIGEgdmFsaWRhdG9ycyBwb29scyBtYXkgbm90IGV4Y2VlZCBoYXJkIGNhcCcKCS8vICAgICApCglpbnRjIDEyIC8vIDI1MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCgk8CgoJLy8gdG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjczCgkvLyB0aGlzLmRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkLCB2YWx1ZVRvVmVyaWZ5KQoJZnJhbWVfZGlnIC0zIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZG9lc1N0YWtlck1lZXRHYXRpbmcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njc1CgkvLyByZWFsQW1vdW50ID0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzYKCS8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzgKCS8vICF0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5leGlzdHMKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4MQoJLy8gbWJyQW10TGVmdEJlaGluZCA9IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFN0YWtlck1icgoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDI0IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgyCgkvLyByZWFsQW1vdW50IC09IG1ickFtdExlZnRCZWhpbmQKCWZyYW1lX2RpZyAxIC8vIHJlYWxBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CgktCglmcmFtZV9idXJ5IDEgLy8gcmVhbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4MwoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWNvbmNhdAoJcHVzaGludCAxNDQKCWJveF9jcmVhdGUKCXBvcAoKKmlmOV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg3CgkvLyBmaW5kUmV0ID0gdGhpcy5maW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZCwgc3Rha2VyLCByZWFsQW1vdW50KQoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCglmcmFtZV9idXJ5IDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODgKCS8vIHBvb2xLZXkgPSBmaW5kUmV0WzBdCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njg5CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmluZFJldFsxXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMjIgLy8gMTkyCglnZXRiaXQKCWZyYW1lX2J1cnkgNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5MAoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmluZFJldFsyXQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkzCglnZXRiaXQKCWZyYW1lX2J1cnkgNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2OTEKCS8vIHBvb2xLZXkucG9vbElkID09PSAwCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMTBfZW5kCgoJLy8gKmlmMTBfY29uc2VxdWVudAoJLy8gTm8gcG9vbCBhdmFpbGFibGUgd2l0aCBmcmVlIHN0YWtlLiAgVmFsaWRhdG9yIG5lZWRzIHRvIGFkZCBhbm90aGVyIHBvb2wKCWVycgoKKmlmMTBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5NgoJLy8gdGhpcy51cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlciwgcG9vbEtleSkKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY2FsbHN1YiB1cGRhdGVTdGFrZXJQb29sU2V0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5OQoJLy8gdGhpcy5jYWxsUG9vbEFkZFN0YWtlKAoJLy8gICAgICAgc3Rha2VkQW1vdW50UGF5bWVudCwKCS8vICAgICAgIHBvb2xLZXksCgkvLyAgICAgICBtYnJBbXRMZWZ0QmVoaW5kLAoJLy8gICAgICAgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwKCS8vICAgICAgIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJLy8gICAgICkKCWZyYW1lX2RpZyA1IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJZnJhbWVfZGlnIDQgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJZnJhbWVfZGlnIDIgLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0CglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDI0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCgljYWxsc3ViIGNhbGxQb29sQWRkU3Rha2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzE0CgkvLyByZXR1cm4gcG9vbEtleTsKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA1CglyZXRzdWIKCi8vIHNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKKmFiaV9yb3V0ZV9zZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIHNldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzZXRUb2tlblBheW91dFJhdGlvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sVG9rZW5QYXlvdXRSYXRpbwovLwovLyBzZXRUb2tlblBheW91dFJhdGlvIGlzIGNhbGxlZCBieSBTdGFraW5nIFBvb2wgIyAxIChPTkxZKSB0byBhc2sgdGhlIHZhbGlkYXRvciAodXMpIHRvIGNhbGN1bGF0ZSB0aGUgcmF0aW9zCi8vIG9mIHN0YWtlIGluIHRoZSBwb29scyBmb3Igc3Vic2VxdWVudCB0b2tlbiBwYXlvdXRzIChpZTogMiBwb29scywgJzEwMCcgYWxnbyB0b3RhbCBzdGFrZWQsIDYwIGluIHBvb2wgMSwgYW5kIDQwCi8vIGluIHBvb2wgMikgIFRoaXMgaXMgZG9uZSBzbyB3ZSBoYXZlIGEgc3RhYmxlIHNuYXBzaG90IG9mIHN0YWtlIC0gdGFrZW4gb25jZSBwZXIgZXBvY2ggLSBvbmx5IHRyaWdnZXJlZCBieQovLyBwb29sIDEgZG9pbmcgcGF5b3V0LiAgcG9vbHMgb3RoZXIgdGhhbiAxIGRvaW5nIHBheW91dCBjYWxsIHBvb2wgMSB0byBhc2sgaXQgZG8gaXQgZmlyc3QuCi8vIEl0IHdvdWxkIGJlIDYwLzQwJSBpbiB0aGUgcG9vbFBjdE9mV2hvbGUgdmFsdWVzLiAgVGhlIHRva2VuIHJld2FyZCBwYXlvdXRzIHRoZW4gdXNlIHRoZXNlIHZhbHVlcyBpbnN0ZWFkIG9mCi8vIHRoZWlyICdjdXJyZW50JyBzdGFrZSB3aGljaCBjaGFuZ2VzIGFzIHBhcnQgb2YgdGhlIHBheW91dHMgdGhlbXNlbHZlcyAoYW5kIHBlb3BsZSBjb3VsZCBiZSBjaGFuZ2luZyBzdGFrZQovLyBkdXJpbmcgdGhlIGVwb2NoIHVwZGF0ZXMgYWNyb3NzIHBvb2xzKQovLwovLyBNdWx0aXBsZSBwb29scyB3aWxsIGNhbGwgdXMgdmlhIHBvb2wgMSAocG9vbDItPnBvb2wxLT52YWxpZGF0b3IsIGV0Yy4pIHNvIGRvbid0IGFzc2VydCBvbiBwb29sMSBjYWxsaW5nIG11bHRpcGxlCi8vIHRpbWVzIGluIHNhbWUgZXBvY2guICBKdXN0IHJldHVybi4KLy8KLy8gQHBhcmFtIHZhbGlkYXRvcklkIC0gdmFsaWRhdG9yIGlkIChhbmQgdGh1cyBwb29sKSBjYWxsaW5nIHVzLiAgVmVyaWZpZWQgc28gdGhhdCBzZW5kZXIgTVVTVCBiZSBwb29sIDEgb2YgdGhpcyB2YWxpZGF0b3IuCi8vIEByZXR1cm5zIFBvb2xUb2tlblBheW91dFJhdGlvIC0gdGhlIGZpbmlzaGVkIHJhdGlvIGRhdGEKc2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM0CgkvLyBwb29sMUFwcElEID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcG9vbDFBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjczNQoJLy8gYXNzZXJ0KHBvb2wxQXBwSUQgIT09IDApCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gKmlmMTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM3CgkvLyB0aGlzLnR4bi5zZW5kZXIgIT09IEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gcG9vbDFBcHBJRDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCSE9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM4CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuCgoqaWYxMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ0CgkvLyBjdXJSb3VuZCA9IGdsb2JhbHMucm91bmQKCWdsb2JhbCBSb3VuZAoJZnJhbWVfYnVyeSAxIC8vIGN1clJvdW5kOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ1CgkvLyBsYXN0UGF5b3V0VXBkYXRlID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQKCWludGMgMzAgLy8gODkyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0NgoJLy8gbGFzdFBheW91dFVwZGF0ZSAhPT0gMAoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc0OAoJLy8gKEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuZ2xvYmFsU3RhdGUoJ2xhc3RQYXlvdXQnKSBhcyB1aW50NjQpID09PSBsYXN0UGF5b3V0VXBkYXRlCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCXB1c2hieXRlcyAweDZjNjE3Mzc0NTA2MTc5NmY3NTc0IC8vICJsYXN0UGF5b3V0IgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbDFBcHBJRCkuZ2xvYmFsU3RhdGUoJ2xhc3RQYXlvdXQnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCT09CglieiAqaWYxM19lbmQKCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ5CgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWIgKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuCgoqaWYxM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUxCgkvLyBlcG9jaFJvdW5kTGVuZ3RoID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZXBvY2hSb3VuZExlbmd0aCBhcyB1aW50NjQKCXB1c2hpbnQgMTY5CglpbnRjIDIwIC8vIDQKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBlcG9jaFJvdW5kTGVuZ3RoOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzRXBvY2hCZWdpbiA9IGN1clJvdW5kIC0gKGN1clJvdW5kICUgZXBvY2hSb3VuZExlbmd0aCkKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfYnVyeSA0IC8vIHRoaXNFcG9jaEJlZ2luOiB1aW50NjQKCgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTQKCS8vIGxhc3RQYXlvdXRVcGRhdGUgLSAobGFzdFBheW91dFVwZGF0ZSAlIGVwb2NoUm91bmRMZW5ndGgpID09PSB0aGlzRXBvY2hCZWdpbgoJZnJhbWVfZGlnIDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoJJQoJLQoJZnJhbWVfZGlnIDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoJPT0KCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE5IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjE0X2VuZDoKCippZjEyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTgKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpby51cGRhdGVkRm9yUGF5b3V0ID0gY3VyUm91bmQKCWludGMgMzAgLy8gODkyCglmcmFtZV9kaWcgMSAvLyBjdXJSb3VuZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MAoJLy8gY3VyTnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDUgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjEKCS8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZAoJaW50YyAxMiAvLyAyNTIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvcjogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJOdW1Qb29sczsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNyAvLyBpOiB1aW50NjQKCipmb3JfMjoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgPCBjdXJOdW1Qb29scwoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglmcmFtZV9kaWcgNSAvLyBjdXJOdW1Qb29sczogdWludDY0Cgk8CglieiAqZm9yXzJfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2NwoJLy8gb3VyUG9vbFBjdE9mV2hvbGUgPSB3aWRlUmF0aW8oCgkvLyAgICAgICAgIFt0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCwgMV8wMDBfMDAwXSwKCS8vICAgICAgICAgW3RvdGFsU3Rha2VGb3JWYWxpZGF0b3JdCgkvLyAgICAgICApCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglwdXNoaW50IDFfMDAwXzAwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyA2IC8vIHRvdGFsU3Rha2VGb3JWYWxpZGF0b3I6IHVpbnQ2NAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCWZyYW1lX2J1cnkgOCAvLyBvdXJQb29sUGN0T2ZXaG9sZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnBvb2xQY3RPZldob2xlW2ldID0gb3VyUG9vbFBjdE9mV2hvbGUKCWludGMgMTQgLy8gNzAwCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWZyYW1lX2RpZyA4IC8vIG91clBvb2xQY3RPZldob2xlOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCipmb3JfMl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NjIKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzIKCipmb3JfMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzczCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvOwoJaW50YyAxNCAvLyAgaGVhZE9mZnNldAoJaW50YyAxOSAvLyAyMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCipzZXRUb2tlblBheW91dFJhdGlvKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDgKCXJldHN1YgoKLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfc3Rha2VVcGRhdGVkVmlhUmV3YXJkczoKCS8vIHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbms6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJYnRvaQoKCS8vIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIGFsZ29Ub0FkZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gcG9vbEtleTogKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJPT0KCgkvLyBhcmd1bWVudCA0IChwb29sS2V5KSBmb3Igc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgc3Rha2VVcGRhdGVkVmlhUmV3YXJkcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyhwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBhbGdvVG9BZGQ6IHVpbnQ2NCwgcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0LCB2YWxpZGF0b3JDb21taXNzaW9uOiB1aW50NjQsIHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbms6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gc3Rha2VVcGRhdGVkVmlhUmV3YXJkcyBpcyBjYWxsZWQgYnkgU3Rha2luZyBwb29scyB0byBpbmZvcm0gdGhlIHZhbGlkYXRvciAodXMpIHRoYXQgYSBwYXJ0aWN1bGFyIGFtb3VudCBvZiB0b3RhbAovLyBzdGFrZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgc3BlY2lmaWVkIHBvb2wuICBUaGlzIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSBzdGF0cyB3ZSBoYXZlIGluIG91ciBQb29sSW5mbyBzdG9yYWdlLgovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgLSBWYWxpZGF0b3JQb29sS2V5IHR5cGUKLy8gQHBhcmFtIHt1aW50NjR9IGFsZ29Ub0FkZCAtIGFtb3VudCB0aGlzIHZhbGlkYXRvcidzIHRvdGFsIHN0YWtlIGluY3JlYXNlZCB2aWEgcmV3YXJkcwovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZCAtIGFtb3VudCB0aGlzIHZhbGlkYXRvcidzIHRvdGFsIHN0YWtlIGluY3JlYXNlZCB2aWEgcmV3YXJkcyAodGhhdCBzaG91bGQgYmUKLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvckNvbW1pc3Npb24gLSB0aGUgY29tbWlzc2lvbiBhbW91bnQgdGhlIHZhbGlkYXRvciB3YXMgcGFpZCwgaWYgYW55Ci8vIEBwYXJhbSB7dWludDY0fSBzYXR1cmF0ZWRCdXJuVG9GZWVTaW5rIC0gaWYgdGhlIHBvb2wgd2FzIGluIHNhdHVyYXRlZCBzdGF0ZSwgdGhlIGFtb3VudCBzZW50IGJhY2sgdG8gdGhlIGZlZSBzaW5rLgovLyBzZWVuIGFzICdhY2NvdW50ZWQgZm9yL3BlbmRpbmcgc3BlbnQnKQpzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJcHJvdG8gNSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5NAoJLy8gdGhpcy52ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJY2FsbHN1YiB2ZXJpZnlQb29sS2V5Q2FsbGVyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkICs9IGFsZ29Ub0FkZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCArPSBhbGdvVG9BZGQKCWludGMgMTIgLy8gMjUyCglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrICs9IHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQKCWludGMgMTMgLy8gMjYwCglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIHJld2FyZFRva2VuQW1vdW50UmVzZXJ2ZWQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODAxCgkvLyB0aGlzLnRvdGFsQWxnb1N0YWtlZC52YWx1ZSArPSBhbGdvVG9BZGQKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0yIC8vIGFsZ29Ub0FkZDogdWludDY0CgkrCglieXRlYyA0IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODA0CgkvLyB0aGlzLnJldmVyaWZ5TkZET3duZXJzaGlwKHBvb2xLZXkuaWQpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWNhbGxzdWIgcmV2ZXJpZnlORkRPd25lcnNoaXAKCXJldHN1YgoKLy8gc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoqYWJpX3JvdXRlX3N0YWtlUmVtb3ZlZDoKCS8vIHN0YWtlclJlbW92ZWQ6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXJSZW1vdmVkKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMCAvLyAwCglnZXRiaXQKCgkvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWJ0b2kKCgkvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMyAoc3Rha2VyKSBmb3Igc3Rha2VSZW1vdmVkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3Rha2VSZW1vdmVkKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYWRkcmVzcyx1aW50NjQsdWludDY0LGJvb2wpdm9pZAoJY2FsbHN1YiBzdGFrZVJlbW92ZWQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YWtlUmVtb3ZlZChwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NCwgcmV3YXJkUmVtb3ZlZDogdWludDY0LCBzdGFrZXJSZW1vdmVkOiBib29sZWFuKTogdm9pZAovLwovLyBzdGFrZVJlbW92ZWQgaXMgY2FsbGVkIGJ5IFN0YWtpbmcgcG9vbHMgdG8gaW5mb3JtIHRoZSB2YWxpZGF0b3IgKHVzKSB0aGF0IGEgcGFydGljdWxhciBhbW91bnQgb2YgdG90YWwgc3Rha2UgaGFzIGJlZW4gcmVtb3ZlZAovLyBmcm9tIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIElmIGFueSBhbW91bnQgb2YgcmV3YXJkUmVtb3ZlZCBpcyBzcGVjaWZpZWQsIHRoZW4gdGhhdCBhbW91bnQgb2YgcmV3YXJkIGlzIHNlbnQgdG8gdGhlIHVzZQovLyBUaGUgY2FsbGluZyBBcHAgaWQgaXMgdmFsaWRhdGVkIGFnYWluc3Qgb3VyIHBvb2wgbGlzdCBhcyB3ZWxsLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgY2FsbGluZyB1cyBmcm9tIHdoaWNoIHN0YWtlIHdhcyByZW1vdmVkCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyCi8vIEBwYXJhbSB7dWludDY0fSBhbW91bnRSZW1vdmVkIC0gYWxnbyBhbW91bnQgcmVtb3ZlZAovLyBAcGFyYW0ge3VpbnQ2NH0gcmV3YXJkUmVtb3ZlZCAtIGlmIGFwcGxpY2FibGUsIGFtb3VudCBvZiB0b2tlbiByZXdhcmQgcmVtb3ZlZCAoYnkgcG9vbCAxIGNhbGxlcikgb3IgVE8gcmVtb3ZlIGFuZCBwYXkgb3V0ICh2aWEgcG9vbCAxIGZyb20gZGlmZmVyZW50IHBvb2wgY2FsbGVyKQovLyBAcGFyYW0ge2Jvb2xlYW59IHN0YWtlclJlbW92ZWQKc3Rha2VSZW1vdmVkOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMwoKCS8vICppZjE1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzNgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgMjggLy8gMzAwCgk8CglieiAqaWYxNV9lbmQKCgkvLyAqaWYxNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgOCAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyAyNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjgzOQoJLy8gdGhpcy52ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJY2FsbHN1YiB2ZXJpZnlQb29sS2V5Q2FsbGVyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0MwoJLy8gYXNzZXJ0KGFtb3VudFJlbW92ZWQgPiAwIHx8IHJld2FyZFJlbW92ZWQgPiAwLCAnc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIGFsZ28gb3IgcmV3YXJkIHdhcyByZW1vdmVkJykKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglkdXAKCWJueiAqc2tpcF9vcjIKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk+Cgl8fAoKKnNraXBfb3IyOgoJLy8gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlmIGFsZ28gb3IgcmV3YXJkIHdhcyByZW1vdmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODQ2CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgLT0gYW1vdW50UmVtb3ZlZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDcKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgLT0gYW1vdW50UmVtb3ZlZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDgKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlIC09IGFtb3VudFJlbW92ZWQKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglhcHBfZ2xvYmFsX2dldAoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJLQoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gKmlmMTZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUwCgkvLyByZXdhcmRSZW1vdmVkID4gMAoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjE2X2Vsc2UKCgkvLyAqaWYxNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUxCgkvLyByZXdhcmRUb2tlbklEID0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRUb2tlbklkCglpbnRjIDM3IC8vIDE1MwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MgoJLy8gYXNzZXJ0KHJld2FyZFRva2VuSUQgIT09IDAsICJyZXdhcmRSZW1vdmVkIGNhbid0IGJlIHNldCBpZiB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIHJld2FyZCB0b2tlbiEiKQoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JRDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCgkvLyByZXdhcmRSZW1vdmVkIGNhbid0IGJlIHNldCBpZiB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIHJld2FyZCB0b2tlbiEKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTMKCS8vIGFzc2VydCgKCS8vICAgICAgICAgdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgPj0gcmV3YXJkUmVtb3ZlZCwKCS8vICAgICAgICAgJ3Jld2FyZCBiZWluZyByZW1vdmVkIG11c3QgYmUgY292ZXJlZCBieSBob2xkIGJhY2sgYW1vdW50JwoJLy8gICAgICAgKQoJaW50YyAxMyAvLyAyNjAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJPj0KCgkvLyByZXdhcmQgYmVpbmcgcmVtb3ZlZCBtdXN0IGJlIGNvdmVyZWQgYnkgaG9sZCBiYWNrIGFtb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1OQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgLT0gcmV3YXJkUmVtb3ZlZAoJaW50YyAxMyAvLyAyNjAKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CgktCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjE3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NAoJLy8gcG9vbEtleS5wb29sSWQgIT09IDEKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCSE9CglieiAqaWYxN19lbmQKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbc3Rha2VyLCByZXdhcmRUb2tlbklELCByZXdhcmRSZW1vdmVkXSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTQgLy8gIG1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjYKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NwoJLy8gbWV0aG9kQXJnczogW3N0YWtlciwgcmV3YXJkVG9rZW5JRCwgcmV3YXJkUmVtb3ZlZF0KCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjE3X2VuZDoKCWIgKmlmMTZfZW5kCgoqaWYxNl9lbHNlOgoKKmlmMTZfZW5kOgoJLy8gKmlmMThfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODkyCgkvLyBzdGFrZXJSZW1vdmVkCglmcmFtZV9kaWcgLTUgLy8gc3Rha2VyUmVtb3ZlZDogYm9vbGVhbgoJYnogKmlmMThfZW5kCgoJLy8gKmlmMThfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5NAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxTdGFrZXJzIC09IDEKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaXRvYgoJZXh0cmFjdCA2IDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg5NgoJLy8gcmVtb3ZlUmV0ID0gdGhpcy5yZW1vdmVGcm9tU3Rha2VyUG9vbFNldChzdGFrZXIsIDxWYWxpZGF0b3JQb29sS2V5PnsKCS8vICAgICAgICAgaWQ6IHBvb2xLZXkuaWQsCgkvLyAgICAgICAgIHBvb2xJZDogcG9vbEtleS5wb29sSWQsCgkvLyAgICAgICAgIHBvb2xBcHBJZDogcG9vbEtleS5wb29sQXBwSWQsCgkvLyAgICAgICB9KQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljYWxsc3ViIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0CglmcmFtZV9idXJ5IDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDEKCS8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvciA9IHJlbW92ZVJldFswXQoJZnJhbWVfZGlnIDEgLy8gcmVtb3ZlUmV0OiAoYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAwCglnZXRiaXQKCWZyYW1lX2J1cnkgMiAvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTAyCgkvLyBzdGFrZXJPdXRPZlByb3RvY29sID0gcmVtb3ZlUmV0WzFdCglmcmFtZV9kaWcgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDEKCWdldGJpdAoJZnJhbWVfYnVyeSAzIC8vIHN0YWtlck91dE9mUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYxOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDQKCS8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcgoJZnJhbWVfZGlnIDIgLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yOiBib29sCglieiAqaWYxOV9lbmQKCgkvLyAqaWYxOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTA1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxTdGFrZXJzIC09IDEKCWludGMgMjMgLy8gMjQ0CglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYxOV9lbmQ6CgkvLyAqaWYyMF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDgKCS8vIHN0YWtlck91dE9mUHJvdG9jb2wKCWZyYW1lX2RpZyAzIC8vIHN0YWtlck91dE9mUHJvdG9jb2w6IGJvb2wKCWJ6ICppZjIwX2VuZAoKCS8vICppZjIwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDkKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSAtPSAxCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJLQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKKmlmMjBfZW5kOgoKKmlmMThfZW5kOgoJcmV0c3ViCgovLyBmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoqYWJpX3JvdXRlX2ZpbmRQb29sRm9yU3Rha2VyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBzdGFrZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc3Rha2VyKSBmb3IgZmluZFBvb2xGb3JTdGFrZXIgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCgljYWxsc3ViIGZpbmRQb29sRm9yU3Rha2VyCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZmluZFBvb2xGb3JTdGFrZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgc3Rha2VyOiBBZGRyZXNzLCBhbW91bnRUb1N0YWtlOiB1aW50NjQpOiBbVmFsaWRhdG9yUG9vbEtleSwgYm9vbGVhbiwgYm9vbGVhbl0KLy8KLy8gRmluZHMgdGhlIHBvb2wgZm9yIGEgc3Rha2VyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCB2YWxpZGF0b3IgaWQsIHN0YWtlciBhZGRyZXNzLCBhbmQgYW1vdW50IHRvIHN0YWtlLgovLyBGaXJzdCBjaGVja3MgdGhlIHN0YWtlcnMgJ2FscmVhZHkgc3Rha2VkIGxpc3QnIGZvciB0aGUgdmFsaWRhdG9yIHByZWZlcnJpbmcgdGhvc2UgKGFkZGluZyBpZiBwb3NzaWJsZSkgdGhlbiBhZGRzCi8vIHRvIG5ldyBwb29sIGlmIG5lY2Vzc2FyeS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHN0YWtlci4KLy8gQHBhcmFtIHt1aW50NjR9IGFtb3VudFRvU3Rha2UgLSBUaGUgYW1vdW50IHRvIHN0YWtlLgovLyBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleSwgYm9vbGVhbiwgYm9vbGVhbn0gLSBUaGUgcG9vbCBmb3IgdGhlIHN0YWtlciwgdHJ1ZS9mYWxzZSBvbiB3aGV0aGVyIHRoZSBzdGFrZXIgaXMgJ25ldycKLy8gdG8gdGhpcyBWQUxJREFUT1IsIGFuZCB0cnVlL2ZhbHNlIGlmIHN0YWtlciBpcyBuZXcgdG8gdGhlIHByb3RvY29sLgpmaW5kUG9vbEZvclN0YWtlcjoKCXByb3RvIDMgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDcKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTMwCgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkzMQoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTM5CgkvLyBtYXhQZXJQb29sID0gdGhpcy5nZXRDdXJNYXhTdGFrZVBlclBvb2wodmFsaWRhdG9ySWQpCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBnZXRDdXJNYXhTdGFrZVBlclBvb2wKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyAqaWYyMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDIKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWYyMV9lbmQKCgkvLyAqaWYyMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQzCgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDQKCS8vIGFzc2VydCh2YWxpZGF0b3JJZCAhPT0gMCkKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgcG9vbFNldC5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgoqZm9yXzM6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ1CgkvLyBpIDwgcG9vbFNldC5sZW5ndGgKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfM19lbmQKCgkvLyAqaWYyMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDYKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgMzAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglpbnRjIDI4IC8vIDMwMAoJPAoJYnogKmlmMjJfZW5kCgoJLy8gKmlmMjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDggLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgMjYgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjIyX2VuZDoKCS8vICppZjIzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0OQoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYyM19lbmQKCgkvLyAqaWYyM19jb25zZXF1ZW50CgliICpmb3JfM19jb250aW51ZQoKKmlmMjNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1MgoJLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCgoJLy8gKmlmMjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUzCgkvLyBwb29sU2V0W2ldLmlkID09PSB2YWxpZGF0b3JJZAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCT09CglieiAqaWYyNF9lbmQKCgkvLyAqaWYyNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU1CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoKCS8vICppZjI1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk1NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5wb29sc1twb29sU2V0W2ldLnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0KCS8vICAgICAgICAgICAgIG1heFBlclBvb2wKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjAKCS8vIHJldHVybiBbcG9vbFNldFtpXSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCWIgKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybgoKKmlmMjVfZW5kOgoKKmlmMjRfZW5kOgoKKmZvcl8zX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfMwoKKmZvcl8zX2VuZDoKCippZjIxX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NjcKCS8vIGFzc2VydCgKCS8vICAgICAgIGFtb3VudFRvU3Rha2UgPj0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSwKCS8vICAgICAgICdtdXN0IHN0YWtlIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGZvciB0aGlzIHBvb2wnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJaW50YyAzOCAvLyAyMDkKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk+PQoKCS8vIG11c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3MwoJLy8gcG9vbHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzKQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDI5IC8vIDQzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzQKCS8vIGN1ck51bVBvb2xzID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NQoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWYyNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzYKCS8vIHBvb2xzW2ldLnRvdGFsQWxnb1N0YWtlZCArIGFtb3VudFRvU3Rha2UgPD0gbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRUb1N0YWtlOiB1aW50NjQKCSsKCWZyYW1lX2RpZyAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoJPD0KCWJ6ICppZjI2X2VuZAoKCS8vICppZjI2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzcKCS8vIHJldHVybiBbCgkvLyAgICAgICAgICAgeyBpZDogdmFsaWRhdG9ySWQsIHBvb2xJZDogaSArIDEsIHBvb2xBcHBJZDogcG9vbHNbaV0ucG9vbEFwcElkIH0sCgkvLyAgICAgICAgICAgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwKCS8vICAgICAgICAgICBpc05ld1N0YWtlclRvUHJvdG9jb2wsCgkvLyAgICAgICAgIF07CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgNSAvLyBwb29sczogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoJYiAqZmluZFBvb2xGb3JTdGFrZXIqcmV0dXJuCgoqaWYyNl9lbmQ6CgoqZm9yXzRfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNyAvLyBpOiB1aW50NjQKCWIgKmZvcl80CgoqZm9yXzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk4NQoJLy8gcmV0dXJuIFt7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiAwLCBwb29sQXBwSWQ6IDAgfSwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvciwgaXNOZXdTdGFrZXJUb1Byb3RvY29sXTsKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgljb25jYXQKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoJc2V0Yml0Cgljb25jYXQKCipmaW5kUG9vbEZvclN0YWtlcipyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA3CglyZXRzdWIKCi8vIG1vdmVQb29sVG9Ob2RlKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZToKCS8vIG5vZGVOdW06IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHBvb2xBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBtb3ZlUG9vbFRvTm9kZQoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbW92ZVBvb2xUb05vZGUodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcG9vbEFwcElkOiB1aW50NjQsIG5vZGVOdW06IHVpbnQ2NCk6IHZvaWQKLy8KLy8gRmluZCB0aGUgc3BlY2lmaWVkIHBvb2wgKGluIGFueSBub2RlIG51bWJlcikgYW5kIG1vdmUgaXQgdG8gdGhlIHNwZWNpZmllZCBub2RlLgovLyBUaGUgcG9vbCBhY2NvdW50IGlzIGZvcmNlZCBvZmZsaW5lIGlmIG1vdmVkIHNvIHByaW9yIG5vZGUgd2lsbCBzdGlsbCBydW4gZm9yIDMyMCByb3VuZHMgYnV0Ci8vIG5ldyBrZXkgZ29lcyBvbmxpbmUgb24gbmV3IG5vZGUgc29vbiBhZnRlciAoMzIwIHJvdW5kcyBhZnRlciBpdCBnb2VzIG9ubGluZSkKLy8gTm8tb3AgaWYgc3VjY2VzcywgYXNzZXJ0cyBpZiBub3QgZm91bmQgb3IgY2FuJ3QgbW92ZSAgKG5vIHNwYWNlIGluIHRhcmdldCkKLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gcG9vbEFwcElkCi8vIEBwYXJhbSB7dWludDY0fSBub2RlTnVtCm1vdmVQb29sVG9Ob2RlOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDAxCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyIHx8CgkvLyAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3InCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCWR1cAoJYm56ICpza2lwX29yMwoJdHhuIFNlbmRlcgoJaW50YyAxOCAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJfHwKCipza2lwX29yMzoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnRjIDE3IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAwOAoJLy8gYXNzZXJ0KG5vZGVOdW0gPj0gMSAmJiBub2RlTnVtIDw9IE1BWF9OT0RFUywgJ25vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UnKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCT49CglkdXAKCWJ6ICpza2lwX2FuZDEKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMiAvLyA4Cgk8PQoJJiYKCipza2lwX2FuZDE6CgkvLyBub2RlIG51bWJlciBvdXQgb2YgYWxsb3dhYmxlIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gZm9yIChsZXQgc3JjTm9kZUlkeCA9IDA7IHNyY05vZGVJZHggPCBNQVhfTk9ERVM7IHNyY05vZGVJZHggKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgoqZm9yXzU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gc3JjTm9kZUlkeCA8IE1BWF9OT0RFUwoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDIgLy8gOAoJPAoJYnogKmZvcl81X2VuZAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IE1BWF9QT09MU19QRVJfTk9ERTsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNjoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgOSAvLyAzCgk8CglieiAqZm9yXzZfZW5kCgoJLy8gKmlmMjdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMgoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tzcmNOb2RlSWR4XS5wb29sQXBwSWRzW2ldID09PSBwb29sQXBwSWQKCWZyYW1lX2RpZyAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjI3X2VuZAoKCS8vICppZjI3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEzCgkvLyBhc3NlcnQobm9kZU51bSAtIDEgIT09IHNyY05vZGVJZHgsICJjYW4ndCBtb3ZlIHRvIHNhbWUgbm9kZSIpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgkhPQoKCS8vIGNhbid0IG1vdmUgdG8gc2FtZSBub2RlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxNQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPSAwCglpbnRjIDE3IC8vIDkwMAoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJYnl0ZWMgMTAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUuZ29PZmZsaW5lPih7CgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCksCgkvLyAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NTFlZjNiMjEgLy8gbWV0aG9kICJnb09mZmxpbmUoKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE5CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDIzCgkvLyB0aGlzLmFkZFBvb2xUb05vZGUodmFsaWRhdG9ySWQsIHBvb2xBcHBJZCwgbm9kZU51bSkKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDI0CgkvLyByZXR1cm47CglyZXRzdWIKCippZjI3X2VuZDoKCipmb3JfNl9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDExCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTAKCS8vIHNyY05vZGVJZHggKz0gMQoJZnJhbWVfZGlnIDEgLy8gc3JjTm9kZUlkeDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJYiAqZm9yXzUKCipmb3JfNV9lbmQ6CgkvLyBjb3VsZG4ndCBmaW5kIHBvb2wgYXBwIGlkIGluIG5vZGVzIHRvIG1vdmUKCWVycgoJcmV0c3ViCgovLyBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKKmFiaV9yb3V0ZV9lbXB0eVRva2VuUmV3YXJkczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gcmVjZWl2ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAocmVjZWl2ZXIpIGZvciBlbXB0eVRva2VuUmV3YXJkcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0CgljYWxsc3ViIGVtcHR5VG9rZW5SZXdhcmRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZW1wdHlUb2tlblJld2FyZHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgcmVjZWl2ZXI6IEFkZHJlc3MpOiB1aW50NjQKLy8KLy8gU2VuZHMgdGhlIHJld2FyZCB0b2tlbnMgaGVsZCBpbiBwb29sIDEgdG8gc3BlY2lmaWVkIHJlY2VpdmVyLgovLyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgdGhlIG93bmVyIHdoZW4gdGhleSB3YW50IHRvIGdldCByZXdhcmQgdG9rZW5zICdiYWNrJyB3aGljaCB0aGV5IHNlbnQgdG8KLy8gdGhlIGZpcnN0IHBvb2wgKGxpa2VseSBiZWNhdXNlIHZhbGlkYXRvciBpcyBzdW5zZXR0aW5nLiAgQW55IHRva2VucyBjdXJyZW50bHkgJ3Jlc2VydmVkJyBmb3Igc3Rha2VycyB0byBjbGFpbSB3aWxsCi8vIE5PVCBiZSBzZW50IGFzIHRoZXkgbXVzdCBiZSBoZWxkIGJhY2sgZm9yIHN0YWtlcnMgdG8gbGF0ZXIgY2xhaW0uCi8vIFsgT05MWSBPV05FUiBDQU4gQ0FMTF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gcmVjZWl2ZXIgLSB0aGUgYWNjb3VudCB0byBzZW5kIHRoZSB0b2tlbnMgdG8gKG11c3QgYWxyZWFkeSBiZSBvcHRlZC1pbiB0byB0aGUgcmV3YXJkIHRva2VuKQovLyBAcmV0dXJucyB7dWludDY0fSB0aGUgYW1vdW50IG9mIHJld2FyZCB0b2tlbiBzZW50CmVtcHR5VG9rZW5SZXdhcmRzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQzCgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0NwoJLy8gcmV3YXJkVG9rZW5JZCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnJld2FyZFRva2VuSWQKCWludGMgMzcgLy8gMTUzCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ4CgkvLyByZXdhcmRUb2tlbkhlbGRCYWNrID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5yZXdhcmRUb2tlbkhlbGRCYWNrCglpbnRjIDEzIC8vIDI2MAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA0OQoJLy8gYXNzZXJ0KHJld2FyZFRva2VuSWQgIT09IDAsICJ0aGlzIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgYSByZXdhcmQgdG9rZW4gZGVmaW5lZCIpCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHRoaXMgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSBhIHJld2FyZCB0b2tlbiBkZWZpbmVkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1MAoJLy8gcG9vbE9uZUFwcElkID0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZCkKCWludGMgNiAvLyAyNjgKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1MgoJLy8gdG9rZW5SZXdhcmRCYWwgPSBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSAtIHJld2FyZFRva2VuSGVsZEJhY2sKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NQoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5wYXlUb2tlblJld2FyZD4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogcG9vbE9uZUFwcElkLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTQgLy8gIG1ldGhvZCAicGF5VG9rZW5SZXdhcmQoYWRkcmVzcyx1aW50NjQsdWludDY0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU2CgkvLyBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTA1NwoJLy8gbWV0aG9kQXJnczogW3JlY2VpdmVyLCByZXdhcmRUb2tlbklkLCB0b2tlblJld2FyZEJhbF0KCWZyYW1lX2RpZyAtMiAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sT25lQXBwSWQuYWRkcmVzcy5hc3NldEJhbGFuY2UoQXNzZXRJRC5mcm9tVWludDY0KHJld2FyZFRva2VuSWQpKSA9PT0gcmV3YXJkVG9rZW5IZWxkQmFjaywKCS8vICAgICAgICdiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudCcKCS8vICAgICApCglmcmFtZV9kaWcgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklkOiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMSAvLyByZXdhcmRUb2tlbkhlbGRCYWNrOiB1aW50NjQKCT09CgoJLy8gYmFsYW5jZSBvZiByZW1haW5pbmcgcmV3YXJkIHRva2VucyBzaG91bGQgbWF0Y2ggdGhlIGhlbGQgYmFjayBhbW91bnQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDYzCgkvLyByZXR1cm4gdG9rZW5SZXdhcmRCYWw7CglmcmFtZV9kaWcgMyAvLyB0b2tlblJld2FyZEJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkpOiB2b2lkCi8vCi8vIExvZ3MgdGhlIGFkZGl0aW9uIG9mIGEgbmV3IHZhbGlkYXRvciB0byB0aGUgc3lzdGVtLCBpdHMgaW5pdGlhbCBvd25lciBhbmQgbWFuYWdlcgovLwovLwovLyB2ZXJpZnlQb29sS2V5Q2FsbGVyIHZlcmlmaWVzIHRoZSBwYXNzZWQgaW4ga2V5IChmcm9tIGEgc3Rha2luZyBwb29sIGNhbGxpbmcgdXMgdG8gdXBkYXRlIG1ldHJpY3MpIGlzIHZhbGlkCi8vIGFuZCBtYXRjaGVzIHRoZSBpbmZvcm1hdGlvbiB3ZSBoYXZlIGluIG91ciBzdGF0ZS4gICdGYWtlJyBwb29scyBjb3VsZCBjYWxsIHVzIHRvIHVwZGF0ZSBvdXIgZGF0YSwgYnV0IHRoZXkKLy8gY2FuJ3QgZmFrZSB0aGUgaWRzIGFuZCBtb3N0IGltcG9ydGFudGx5IGFwcGxpY2F0aW9uIGlkKCEpIG9mIHRoZSBjYWxsZXIgdGhhdCBoYXMgdG8gbWF0Y2guCnZlcmlmeVBvb2xLZXlDYWxsZXI6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyB0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjIKCS8vIGFzc2VydChwb29sS2V5LnBvb2xJZCA8PSBNQVhfUE9PTFMsICdwb29sIGlkIG5vdCBpbiB2YWxpZCByYW5nZScpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMyAvLyAyNAoJPD0KCgkvLyBwb29sIGlkIG5vdCBpbiB2YWxpZCByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjMKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xLZXkucG9vbElkID4gMCAmJiAocG9vbEtleS5wb29sSWQgYXMgdWludDE2KSA8PSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUubnVtUG9vbHMsCgkvLyAgICAgICAncG9vbCBpZCBvdXRzaWRlIG9mIHJhbmdlIG9mIHBvb2xzIGNyZWF0ZWQgZm9yIHRoaXMgdmFsaWRhdG9yJwoJLy8gICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYnogKnNraXBfYW5kMgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk8PQoJJiYKCipza2lwX2FuZDI6CgkvLyBwb29sIGlkIG91dHNpZGUgb2YgcmFuZ2Ugb2YgcG9vbHMgY3JlYXRlZCBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTY5CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sS2V5LnBvb2xBcHBJZCA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0ucG9vbEFwcElkLAoJLy8gICAgICAgIlRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMiCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJPT0KCgkvLyBUaGUgcGFzc2VkIGluIGFwcCBpZCBkb2Vzbid0IG1hdGNoIHRoZSBwYXNzZWQgaW4gaWRzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuYWRkcmVzcykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc2CgkvLyBhc3NlcnQocG9vbEtleS5pZCA9PT0gKEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCXB1c2hieXRlcyAweDc2NjE2YzY5NjQ2MTc0NmY3MjQ5NjQgLy8gInZhbGlkYXRvcklkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCd2YWxpZGF0b3JJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE3NwoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpIGFzIHVpbnQ2NCkpCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDE2IDgKCWJ0b2kKCXB1c2hieXRlcyAweDcwNmY2ZjZjNDk2NCAvLyAicG9vbElkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEtleS5wb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdwb29sSWQnKQoJYXNzZXJ0Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHJldmVyaWZ5TkZET3duZXJzaGlwKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiB2b2lkCi8vCi8vIFRoaXMgbWV0aG9kIHZlcmlmaWVzIHRoZSBvd25lcnNoaXAgb2YgTkZEIChOYW1lZCBGdW5jdGlvbiBEYXRhKSBieSBhIHZhbGlkYXRvci4KLy8gSWYgdGhlIG93bmVyc2hpcCBpcyBubyBsb25nZXIgdmFsaWQsIGl0IHJlbW92ZXMgdGhlIE5GRCBmcm9tIHRoZSB2YWxpZGF0b3IncyBjb25maWd1cmF0aW9uLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvciB3aG9zZSBkYXRhIHNob3VsZCBiZSByZS1ldmFsdWF0ZWQuCnJldmVyaWZ5TkZET3duZXJzaGlwOgoJcHJvdG8gMSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTg3CgkvLyB2YWxpZGF0b3JDb25maWcgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3ZhbGlkYXRvckNvbmZpZwoKCS8vICppZjI4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExODgKCS8vIHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvICE9PSAwCglpbnRjIDIxIC8vIDcyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYyOF9lbmQKCgkvLyAqaWYyOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5MQoJLy8gbmZkT3duZXIgPSBBcHBJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcwoJaW50YyAyMSAvLyA3MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh2YWxpZGF0b3JDb25maWcubmZkRm9ySW5mbykuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExOTMKCS8vIHZhbGlkYXRvckNvbmZpZy5vd25lciAhPT0gbmZkT3duZXIgJiYgdmFsaWRhdG9yQ29uZmlnLm1hbmFnZXIgIT09IG5mZE93bmVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9kaWcgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoJIT0KCWR1cAoJYnogKnNraXBfYW5kMwoJaW50YyAxOCAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9kaWcgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoJIT0KCSYmCgoqc2tpcF9hbmQzOgoJYnogKmlmMjlfZW5kCgoJLy8gKmlmMjlfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExOTUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm5mZEZvckluZm8gPSAwCglpbnRjIDIxIC8vIDcyCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjI5X2VuZDoKCippZjI4X2VuZDoKCXJldHN1YgoKLy8gdmFsaWRhdGVDb25maWcoY29uZmlnOiBWYWxpZGF0b3JDb25maWcpOiB2b2lkCnZhbGlkYXRlQ29uZmlnOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMDIKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPj0gR0FUSU5HX1RZUEVfTk9ORSAmJiBjb25maWcuZW50cnlHYXRpbmdUeXBlIDw9IEdBVElOR19UWVBFX0NPTlNUX01BWCwKCS8vICAgICAgICdnYXRpbmcgdHlwZSBub3QgdmFsaWQnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgMCAvLyAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ0CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAyMCAvLyA0Cgk8PQoJJiYKCipza2lwX2FuZDQ6CgkvLyBnYXRpbmcgdHlwZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjA2CgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcuZXBvY2hSb3VuZExlbmd0aCA+PSBNSU5fRVBPQ0hfTEVOR1RIICYmIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIDw9IE1BWF9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICAnZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kNQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE2OSA0CglidG9pCglpbnRjIDI0IC8vIDEwMDAwMDAKCTw9CgkmJgoKKnNraXBfYW5kNToKCS8vIGVwb2NoIGxlbmd0aCBub3QgaW4gYWxsb3dhYmxlIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxMAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciA+PSBNSU5fUENUX1RPX1ZBTElEQVRPUiAmJiBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yIDw9IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgJ2NvbW1pc3Npb24gcGVyY2VudGFnZSBub3QgdmFsaWQnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDAgLy8gMAoJPj0KCWR1cAoJYnogKnNraXBfYW5kNgoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDI0IC8vIDEwMDAwMDAKCTw9CgkmJgoKKnNraXBfYW5kNjoKCS8vIGNvbW1pc3Npb24gcGVyY2VudGFnZSBub3QgdmFsaWQKCWFzc2VydAoKCS8vICppZjMwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMTQKCS8vIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgIT09IDAKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzMgNAoJYnRvaQoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYzMF9lbmQKCgkvLyAqaWYzMF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBjb25maWcudmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MsCgkvLyAgICAgICAgICd2YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyBtdXN0IGJlIHNldCBpZiBwZXJjZW50IHRvIHZhbGlkYXRvciBpcyBub3QgMCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAxNzcgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCgkvLyB2YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyBtdXN0IGJlIHNldCBpZiBwZXJjZW50IHRvIHZhbGlkYXRvciBpcyBub3QgMAoJYXNzZXJ0CgoqaWYzMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMAoJLy8gYXNzZXJ0KGNvbmZpZy5taW5FbnRyeVN0YWtlID49IE1JTl9BTEdPX1NUQUtFX1BFUl9QT09MLCAnc3Rha2luZyBwb29sIG11c3QgaGF2ZSBtaW5pbXVtIGVudHJ5IG9mIDEgYWxnbycpCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjA5IDgKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPj0KCgkvLyBzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLnBvb2xzUGVyTm9kZSA+IDAgJiYgY29uZmlnLnBvb2xzUGVyTm9kZSA8PSBNQVhfUE9PTFNfUEVSX05PREUsCgkvLyAgICAgICAnbnVtYmVyIG9mIHBvb2xzIHBlciBub2RlIGV4Y2VlZHMgYWxsb3dlZCBudW1iZXInCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNSAxCglidG9pCglpbnRjIDAgLy8gMAoJPgoJZHVwCglieiAqc2tpcF9hbmQ3CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludGMgOSAvLyAzCgk8PQoJJiYKCipza2lwX2FuZDc6CgkvLyBudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcgoJYXNzZXJ0CgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIyNgoJLy8gY29uZmlnLnN1bnNldHRpbmdPbiAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI3CgkvLyBhc3NlcnQoY29uZmlnLnN1bnNldHRpbmdPbiA+IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wLCAnc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0JykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjYgOAoJYnRvaQoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJPgoKCS8vIHN1bnNldHRpbmdPbiBtdXN0IGJlIGxhdGVyIHRoYW4gbm93IGlmIHNldAoJYXNzZXJ0CgoqaWYzMV9lbmQ6CglyZXRzdWIKCi8vIGNhbGxQb29sQWRkU3Rha2Uoc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5LCBtYnJBbXRQYWlkOiB1aW50NjQsIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4sIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbik6IHZvaWQKLy8KLy8gQWRkcyBhIHN0YWtlcnMgYW1vdW50IG9mIGFsZ28gdG8gYSB2YWxpZGF0b3IgcG9vbCwgdHJhbnNmZXJyaW5nIHRoZSBhbGdvIHdlIHJlY2VpdmVkIGZyb20gdGhlbSAoYWxyZWFkeSB2ZXJpZmllZAovLyBieSBvdXIgY2FsbGVyKSB0byB0aGUgc3Rha2luZyBwb29sIGFjY291bnQsIGFuZCB0aGVuIHRlbGxpbmcgaXQgYWJvdXQgdGhlIGFtb3VudCBiZWluZyBhZGRlZCBmb3IgdGhlIHNwZWNpZmllZAovLyBzdGFrZXIuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIGtleSBvZiB0aGUgdmFsaWRhdG9yIHBvb2wuCi8vIEBwYXJhbSB7dWludDY0fSBtYnJBbXRQYWlkIC0gQW1vdW50IHRoZSB1c2VyIGlzIGxlYXZpbmcgYmVoaW5kIGluIHRoZSB2YWxpZGF0b3IgdG8gcGF5IGZvciB0aGVpciBzdGFrZXIgTUJSIGNvc3QKLy8gQHBhcmFtIHtib29sZWFufSBpc05ld1N0YWtlclRvVmFsaWRhdG9yIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHZhbGlkYXRvcgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9Qcm90b2NvbCAtIGlmIHRoaXMgaXMgYSBuZXcsIGZpcnN0LXRpbWUgc3Rha2VyIHRvIHRoZSBwcm90b2NvbApjYWxsUG9vbEFkZFN0YWtlOgoJcHJvdG8gNSAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjQ5CgkvLyBwb29sQXBwSWQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjUzCgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLmFkZFN0YWtlLCB1aW50NjQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKSwKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDEgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9kaWcgLTMgLy8gbWJyQW10UGFpZDogdWludDY0CgktCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU4CgkvLyByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhmOWM3MGNiZCAvLyBtZXRob2QgImFkZFN0YWtlKHBheSxhZGRyZXNzKXVpbnQ2NCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTQKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjU1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgLy8gVEhJUyBJUyBBIFNFTkQgb2YgdGhlIGFtb3VudCByZWNlaXZlZCByaWdodCBiYWNrIG91dCBhbmQgaW50byB0aGUgc3Rha2luZyBwb29sIGNvbnRyYWN0IGFjY291bnQuCgkvLyAgICAgICAgIHsgYW1vdW50OiBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudCAtIG1ickFtdFBhaWQsIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcyB9LAoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIHN0YWtlZEFtb3VudFBheW1lbnQuc2VuZGVyLAoJLy8gICAgICAgXQoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoKCS8vICppZjMyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjMKCS8vIGdsb2JhbHMub3Bjb2RlQnVkZ2V0IDwgNTAwCglnbG9iYWwgT3Bjb2RlQnVkZ2V0CglwdXNoaW50IDUwMAoJPAoJYnogKmlmMzJfZW5kCgoJLy8gKmlmMzJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjQKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYzMl9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2OAoJLy8gcG9vbE51bVN0YWtlcnMgPSBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ251bVN0YWtlcnMnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gcG9vbE51bVN0YWtlcnM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY5CgkvLyBwb29sQWxnb1N0YWtlZCA9IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnc3Rha2VkJykgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3N0YWtlZCcpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwb29sQWxnb1N0YWtlZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsU3Rha2VycyA9IHBvb2xOdW1TdGFrZXJzIGFzIHVpbnQxNgoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglmcmFtZV9kaWcgMSAvLyBwb29sTnVtU3Rha2VyczogdWludDY0CglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3MQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkID0gcG9vbEFsZ29TdGFrZWQKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMzNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3NAoJLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcgoJZnJhbWVfZGlnIC00IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2xlYW4KCWJ6ICppZjMzX2VuZAoKCS8vICppZjMzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxTdGFrZXJzICs9IDEKCWludGMgMjMgLy8gMjQ0CglkdXAKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAxIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoqaWYzM19lbmQ6CgkvLyAqaWYzNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc3CgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wKCWZyYW1lX2RpZyAtNSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2xlYW4KCWJ6ICppZjM0X2VuZAoKCS8vICppZjM0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc4CgkvLyB0aGlzLm51bVN0YWtlcnMudmFsdWUgKz0gMQoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEKCSsKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCippZjM0X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjgwCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyB1cGRhdGVTdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKdXBkYXRlU3Rha2VyUG9vbFNldDoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NQoJLy8gYXNzZXJ0KHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cykKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODgKCS8vIGZpcnN0RW1wdHkgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzdfZW5kCgoJLy8gKmlmMzVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MAoJLy8gcG9vbFNldFtpXSA9PT0gcG9vbEtleQoJZnJhbWVfZGlnIDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCT09CglieiAqaWYzNV9lbmQKCgkvLyAqaWYzNV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5MgoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWYzNV9lbmQ6CgkvLyAqaWYzNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk0CgkvLyBmaXJzdEVtcHR5ID09PSAwICYmIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglkdXAKCWJ6ICpza2lwX2FuZDgKCWZyYW1lX2RpZyAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJJiYKCipza2lwX2FuZDg6CglieiAqaWYzNl9lbmQKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5NQoJLy8gZmlyc3RFbXB0eSA9IGkgKyAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoqaWYzNl9lbmQ6CgoqZm9yXzdfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfNwoKKmZvcl83X2VuZDoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTgKCS8vIGZpcnN0RW1wdHkgPT09IDAKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWYzN19lbmQKCgkvLyAqaWYzN19jb25zZXF1ZW50CgkvLyBObyBlbXB0eSBzbG90IGF2YWlsYWJsZSBpbiB0aGUgc3Rha2VyIHBvb2wgc2V0CgllcnIKCippZjM3X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzAxCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZVtmaXJzdEVtcHR5IC0gMV0gPSBwb29sS2V5CglmcmFtZV9kaWcgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIHJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlcjogQWRkcmVzcywgcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFtib29sZWFuLCBib29sZWFuXQovLwovLyBSZW1vdmVzIGEgcG9vbCBrZXkgZnJvbSB0aGUgc3Rha2VyJ3MgYWN0aXZlIHBvb2wgc2V0IC0gZmFpbHMgaWYgbm90IGZvdW5kICghKQovLwovLyBAcGFyYW0ge0FkZHJlc3N9IHN0YWtlciAtIFRoZSBhZGRyZXNzIG9mIHRoZSBzdGFrZXIuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFRoZSBwb29sIGtleSB0aGV5IHNob3VsZCBiZSBzdG9yZWQgaW4KLy8KLy8gQHJldHVybiBbYm9vbGVhbiwgYm9vbGVhbl0gW2lzIHRoZSBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29scyBvZiB0aGUgZ2l2ZW4gVkFMSURBVE9SLCBhbmQgaXMgc3Rha2VyIGdvbmUgZnJvbSBBTEwgcG9vbHNdCnJlbW92ZUZyb21TdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE0CgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTUKCS8vIGluQW55UG9vbENvdW50ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTYKCS8vIGZvdW5kID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOAoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgoqZm9yXzg6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl84X2VuZAoKCS8vICppZjM4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjAKCS8vIHBvb2xTZXRbaV0uaWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMzhfZW5kCgoJLy8gKmlmMzhfY29uc2VxdWVudAoJYiAqZm9yXzhfY29udGludWUKCippZjM4X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzIzCgkvLyBpbkFueVBvb2xDb3VudCArPSAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI0CgkvLyBwb29sU2V0W2ldLmlkID09PSBwb29sS2V5LmlkCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT09CglieiAqaWYzOV9lbmQKCgkvLyAqaWYzOV9jb25zZXF1ZW50CgkvLyAqaWY0MF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI1CgkvLyBwb29sU2V0W2ldID09PSBwb29sS2V5CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJPT0KCWJ6ICppZjQwX2Vsc2UKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyNgoJLy8gZm91bmQgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAyIC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjgKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlW2ldID0geyBpZDogMCwgcG9vbElkOiAwLCBwb29sQXBwSWQ6IDAgfQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJYiAqaWY0MF9lbmQKCippZjQwX2Vsc2U6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzMAoJLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CgoqaWY0MF9lbmQ6CgoqaWYzOV9lbmQ6CgoqZm9yXzhfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxOQoJLy8gaSArPSAxCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDQgLy8gaTogdWludDY0CgliICpmb3JfOAoKKmZvcl84X2VuZDoKCS8vICppZjQxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzQKCS8vICFmb3VuZAoJZnJhbWVfZGlnIDIgLy8gZm91bmQ6IGJvb2wKCSEKCWJ6ICppZjQxX2VuZAoKCS8vICppZjQxX2NvbnNlcXVlbnQKCS8vIE5vIG1hdGNoaW5nIHNsb3QgZm91bmQgd2hlbiB0b2xkIHRvIHJlbW92ZSBhIHBvb2wgZnJvbSB0aGUgc3Rha2VycyBzZXQKCWVycgoKKmlmNDFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMzgKCS8vIHJldHVybiBbaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50ID09PSAwLCBpbkFueVBvb2xDb3VudCA9PT0gMF07CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpbkFueVBvb2xDb3VudDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCXNldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKLy8gYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAphZGRQb29sVG9Ob2RlOgoJcHJvdG8gMyAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzKQoJaW50YyAxNyAvLyAgaGVhZE9mZnNldAoJaW50YyAyMiAvLyAxOTIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDMKCS8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3IgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5wb29sc1Blck5vZGUgYXMgdWludDY0CglwdXNoaW50IDIyNQoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NQoJLy8gYXNzZXJ0KG5vZGVOdW0gPj0gMSAmJiBub2RlTnVtIDw9IE1BWF9OT0RFUywgJ25vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kOQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTw9CgkmJgoKKnNraXBfYW5kOToKCS8vIG5vZGUgbnVtYmVyIG5vdCBpbiB2YWxpZCByYW5nZQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcjsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfOToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ3CgkvLyBpIDwgbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvcgoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOiB1aW50NjQKCTwKCWJ6ICpmb3JfOV9lbmQKCgkvLyAqaWY0Ml9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ4CgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW25vZGVOdW0gLSAxXS5wb29sQXBwSWRzW2ldID09PSAwCglmcmFtZV9kaWcgMCAvLyBub2RlUG9vbEFzc2lnbm1lbnRzOiAoKHVpbnQ2NFszXSlbOF0pCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDJfZW5kCgoJLy8gKmlmNDJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cy5ub2Rlc1tub2RlTnVtIC0gMV0ucG9vbEFwcElkc1tpXSA9IHBvb2xBcHBJZAoJaW50YyAxNyAvLyA5MDAKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNTEKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmNDJfZW5kOgoKKmZvcl85X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzkKCipmb3JfOV9lbmQ6CgkvLyBubyBhdmFpbGFibGUgc3BhY2UgaW4gc3BlY2lmaWVkIG5vZGUgZm9yIHRoaXMgcG9vbAoJZXJyCglyZXRzdWIKCi8vIGRvZXNTdGFrZXJNZWV0R2F0aW5nKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NCk6IHZvaWQKLy8KLy8gQ2hlY2tzIGlmIGEgc3Rha2VyIG1lZXRzIHRoZSBnYXRpbmcgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCBieSB0aGUgdmFsaWRhdG9yLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbHVlVG9WZXJpZnkgLSBUaGUgdmFsdWUgdG8gdmVyaWZ5IGFnYWluc3QgdGhlIGdhdGluZyByZXF1aXJlbWVudHMuCi8vIEByZXR1cm5zIHt2b2lkfSBvciBhc3NlcnRzIGlmIHJlcXVpcmVtZW50cyBub3QgbWV0Lgpkb2VzU3Rha2VyTWVldEdhdGluZzoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NQoJLy8gdHlwZSA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nVHlwZQoJaW50YyAzNSAvLyA4MAoJaW50YyAxIC8vIDEKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB0eXBlOiB1aW50OAoKCS8vICppZjQzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjYKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX05PTkUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQzX2VuZAoKCS8vICppZjQzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY3CgkvLyByZXR1cm47CglyZXRzdWIKCippZjQzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY5CgkvLyBzdGFrZXIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3MAoJLy8gY29uZmlnID0gY2xvbmUodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcpCglpbnRjIDAgLy8gMAoJaW50YyA4IC8vIDI0MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgoJLy8gKmlmNDRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRTX0NSRUFURURfQlkgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUX0lEIHx8CgkvLyAgICAgICB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEgLy8gMQoJPT0KCWR1cAoJYm56ICpza2lwX29yNAoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMTAgLy8gMgoJPT0KCXx8Cgoqc2tpcF9vcjQ6CglkdXAKCWJueiAqc2tpcF9vcjUKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDkgLy8gMwoJPT0KCXx8Cgoqc2tpcF9vcjU6CglieiAqaWY0NF9lbmQKCgkvLyAqaWY0NF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM3OAoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc5CgkvLyBiYWxSZXF1aXJlZCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmdhdGluZ0Fzc2V0TWluQmFsYW5jZQoJaW50YyAzNiAvLyAxNDUKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKCS8vICppZjQ1X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODAKCS8vIGJhbFJlcXVpcmVkID09PSAwCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjQ1X2VuZAoKCS8vICppZjQ1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzgxCgkvLyBiYWxSZXF1aXJlZCA9IDEKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDMgLy8gYmFsUmVxdWlyZWQ6IHVpbnQ2NAoKKmlmNDVfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODMKCS8vIGFzc2VydCgKCS8vICAgICAgICAgc3Rha2VyLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkpID49IGJhbFJlcXVpcmVkLAoJLy8gICAgICAgICAnbXVzdCBoYXZlIHJlcXVpcmVkIG1pbmltdW0gYmFsYW5jZSBvZiB2YWxpZGF0b3IgZGVmaW5lZCB0b2tlbiB0byBhZGQgc3Rha2UnCgkvLyAgICAgICApCglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0Cgk+PQoKCS8vIG11c3QgaGF2ZSByZXF1aXJlZCBtaW5pbXVtIGJhbGFuY2Ugb2YgdmFsaWRhdG9yIGRlZmluZWQgdG9rZW4gdG8gYWRkIHN0YWtlCglhc3NlcnQKCippZjQ0X2VuZDoKCS8vICppZjQ2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODgKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX0FTU0VUU19DUkVBVEVEX0JZCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAxIC8vIDEKCT09CglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBBc3NldElELmZyb21VaW50NjQodmFsdWVUb1ZlcmlmeSkuY3JlYXRvciA9PT0gY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcywKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IHRoZSB2YWxpZGF0b3IgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJYXNzZXRfcGFyYW1zX2dldCBBc3NldENyZWF0b3IKCXBvcAoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgODEgMzIKCT09CgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgdGhlIHZhbGlkYXRvciBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDZfZW5kOgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEwIC8vIDIKCT09CglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NQoJLy8gYXNzZXJ0KHZhbHVlVG9WZXJpZnkgIT09IDApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk2CgkvLyBmb3VuZCA9IGZhbHNlCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIGZvdW5kOiBib29sCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTcKCS8vIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0cwoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDMyCglkdXAKCWZyYW1lX2J1cnkgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjQ4X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTgKCS8vIHZhbHVlVG9WZXJpZnkgPT09IGFzc2V0SWQKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2RpZyA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJPT0KCWJ6ICppZjQ4X2VuZAoKCS8vICppZjQ4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk5CgkvLyBmb3VuZCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCWIgKmZvck9mXzBfZW5kCgoqaWY0OF9lbmQ6CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglpbnRjIDQgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgNSAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA3IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSA2IC8vIGFzc2V0SWQ6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MDMKCS8vIGFzc2VydChmb3VuZCwgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGlkZW50aWNhbCB0byB0aGUgYXNzZXQgaWQgZGVmaW5lZCBhcyBhIHJlcXVpcmVtZW50IHRvIHN0YWtlJykKCWZyYW1lX2RpZyA0IC8vIGZvdW5kOiBib29sCgoJLy8gc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UKCWFzc2VydAoKKmlmNDdfZW5kOgoJLy8gKmlmNDlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwNQoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTCglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyA5IC8vIDMKCT09CglieiAqaWY0OV9lbmQKCgkvLyAqaWY0OV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwOAoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdChjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sIEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KS5jcmVhdG9yKSwKCS8vICAgICAgICAgJ3NwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgoJcG9wCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgOAoJYnRvaQoJY2FsbHN1YiBpc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCBpcyBvbmUgb2YgdGhlIGxpbmtlZCBhZGRyZXNzZXMgaW4gYW4gbmZkCglhc3NlcnQKCippZjQ5X2VuZDoKCS8vICppZjUwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTMKCS8vIHR5cGUgPT09IEdBVElOR19UWVBFX1NFR01FTlRfT0ZfTkZECglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAyMCAvLyA0Cgk9PQoJYnogKmlmNTBfZW5kCgoJLy8gKmlmNTBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTUKCS8vIHVzZXJPZmZlcmVkTkZEQXBwSUQgPSB2YWx1ZVRvVmVyaWZ5CglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9idXJ5IDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTYKCS8vIGFzc2VydCh0aGlzLmlzTkZEQXBwSURWYWxpZCh1c2VyT2ZmZXJlZE5GREFwcElEKSwgJ3Byb3ZpZGVkIE5GRCBtdXN0IGJlIHZhbGlkJykKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJY2FsbHN1YiBpc05GREFwcElEVmFsaWQKCgkvLyBwcm92aWRlZCBORkQgbXVzdCBiZSB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MTkKCS8vIGFzc2VydCgKCS8vICAgICAgICAgcmF3Qnl0ZXMoQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcykgPT09IHJhd0J5dGVzKHN0YWtlcikgfHwKCS8vICAgICAgICAgICB0aGlzLmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCh1c2VyT2ZmZXJlZE5GREFwcElELCBzdGFrZXIpLAoJLy8gICAgICAgICAicHJvdmlkZWQgbmZkIGZvciBlbnRyeSBpc24ndCBvd25lZCBvciBsaW5rZWQgdG8gdGhlIHN0YWtlciIKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKQoJYXNzZXJ0CglmcmFtZV9kaWcgMSAvLyBzdGFrZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjYKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoJfHwKCipza2lwX29yNjoKCS8vIHByb3ZpZGVkIG5mZCBmb3IgZW50cnkgaXNuJ3Qgb3duZWQgb3IgbGlua2VkIHRvIHRoZSBzdGFrZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGJ0b2koQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpIGFzIGJ5dGVzKSA9PT0KCS8vICAgICAgICAgICBjb25maWcuZW50cnlHYXRpbmdBc3NldHNbMF0sCgkvLyAgICAgICAgICdzcGVjaWZpZWQgbmZkIG11c3QgYmUgYSBzZWdtZW50IG9mIHRoZSBuZmQgdGhlIHZhbGlkYXRvciBzcGVjaWZpZWQgYXMgYSByZXF1aXJlbWVudCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyA4IC8vIHVzZXJPZmZlcmVkTkZEQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTcwNjE3MjY1NmU3NDQxNzA3MDQ5NDQgLy8gImkucGFyZW50QXBwSUQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh1c2VyT2ZmZXJlZE5GREFwcElEKS5nbG9iYWxTdGF0ZSgnaS5wYXJlbnRBcHBJRCcpCglhc3NlcnQKCWJ0b2kKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgk9PQoKCS8vIHNwZWNpZmllZCBuZmQgbXVzdCBiZSBhIHNlZ21lbnQgb2YgdGhlIG5mZCB0aGUgdmFsaWRhdG9yIHNwZWNpZmllZCBhcyBhIHJlcXVpcmVtZW50Cglhc3NlcnQKCippZjUwX2VuZDoKCXJldHN1YgoKLy8gaXNORkRBcHBJRFZhbGlkKG5mZEFwcElEOiB1aW50NjQpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgZ2l2ZW4gTkZEIEFwcCBpZCBpcyB2YWxpZC4gIFVzaW5nIG9ubHkgdGhlIEFwcCBpZCB0aGVyZSdzIG5vIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgbmFtZSAoaWU6IHRoYXQgbmZkIFggaXMgbmFtZSBZKQovLyBTbyBpdCdzIGFzc3VtZWQgZm9yIHRoZSBjYWxsZXIsIHRoZSBhcHAgaWQgYWxvbmUgaXMgZmluZS4gIFRoZSBuYW1lIGlzIGZldGNoZWQgZnJvbSB0aGUgc3BlY2lmaWVkIGFwcCBpZCBhbmQgdGhlIHR3bwovLyB0b2dldGhlciBhcmUgdXNlZCBmb3IgdmFsaWRpdHkgY2hlY2sgY2FsbCB0byB0aGUgbmZkIHJlZ2lzdHJ5LgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIEFwcCBpZCB0byB2ZXJpZnkuCi8vCi8vIEByZXR1cm5zIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgTkZEIEFwcCBpZCBpcyB2YWxpZCwgb3RoZXJ3aXNlIGZhbHNlLgppc05GREFwcElEVmFsaWQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ1CgkvLyB1c2VyT2ZmZXJlZE5GRE5hbWUgPSBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykgYXMgc3RyaW5nCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NjkyZTZlNjE2ZDY1IC8vICJpLm5hbWUiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kubmFtZScpCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ3CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCksCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0sCgkvLyAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMubmZkUmVnaXN0cnlBcHBJZCkKCWludGMgMTUgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ0OQoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIHVzZXJPZmZlcmVkTkZETmFtZSwgaXRvYihuZmRBcHBJRCldCglieXRlYyAxMyAvLyAgImlzX3ZhbGlkX25mZF9hcHBpZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMCAvLyB1c2VyT2ZmZXJlZE5GRE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUwCgkvLyBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKV0KCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9ucwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ1MgoJLy8gcmV0dXJuIGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpID09PSAxOwoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KG5mZEFwcElEOiB1aW50NjQsIGFkZHJUb0ZpbmQ6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgaXMgcHJlc2VudCBpbiBhbiBORkRzIGxpc3Qgb2YgdmVyaWZpZWQgYWRkcmVzc2VzLgovLyBUaGUgTkZEIGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gdmFsaWRhdGVkIGFzIG9mZmljaWFsLgovLwovLyBAcGFyYW0ge3VpbnQ2NH0gbmZkQXBwSUQgLSBUaGUgTkZEIGFwcGxpY2F0aW9uIGlkLgovLyBAcGFyYW0ge0FkZHJlc3N9IGFkZHJUb0ZpbmQgLSBUaGUgYWRkcmVzcyB0byBmaW5kIGluIHRoZSB2LmNhQWxnby4wLmFzIHByb3BlcnR5Ci8vIEByZXR1cm4ge2Jvb2xlYW59IC0gYHRydWVgIGlmIHRoZSBhZGRyZXNzIGlzIHByZXNlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLgppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3Q6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjQKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NgoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ3JlYWRfcHJvcGVydHknLCAndi5jYUFsZ28uMC5hcyddCglwdXNoYnl0ZXMgMHg3MjY1NjE2NDVmNzA3MjZmNzA2NTcyNzQ3OSAvLyAicmVhZF9wcm9wZXJ0eSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHg3NjJlNjM2MTQxNmM2NzZmMmUzMDJlNjE3MyAvLyAidi5jYUFsZ28uMC5hcyIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY4CgkvLyBjYUFsZ29EYXRhID0gdGhpcy5pdHhuLmxhc3RMb2cKCWl0eG4gTGFzdExvZwoJZnJhbWVfYnVyeSAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGNhQWxnb0RhdGEubGVuZ3RoOyBpICs9IDMyKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCipmb3JfMTA6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2OQoJLy8gaSA8IGNhQWxnb0RhdGEubGVuZ3RoCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoJbGVuCgk8CglieiAqZm9yXzEwX2VuZAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcwCgkvLyBhZGRyID0gZXh0cmFjdDMoY2FBbGdvRGF0YSwgaSwgMzIpCglmcmFtZV9kaWcgMCAvLyBjYUFsZ29EYXRhOiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA0IC8vIDMyCglleHRyYWN0MwoJZnJhbWVfYnVyeSAyIC8vIGFkZHI6IGJ5dGVbXQoKCS8vICppZjUxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzEKCS8vIGFkZHIgIT09IHJhd0J5dGVzKGdsb2JhbHMuemVyb0FkZHJlc3MpICYmIGFkZHIgPT09IHJhd0J5dGVzKGFkZHJUb0ZpbmQpCglmcmFtZV9kaWcgMiAvLyBhZGRyOiBieXRlW10KCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWR1cAoJYnogKnNraXBfYW5kMTAKCWZyYW1lX2RpZyAyIC8vIGFkZHI6IGJ5dGVbXQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJUb0ZpbmQ6IEFkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMTA6CglieiAqaWY1MV9lbmQKCgkvLyAqaWY1MV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MgoJLy8gcmV0dXJuIHRydWU7CglpbnRjIDEgLy8gMQoJYiAqaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KnJldHVybgoKKmlmNTFfZW5kOgoKKmZvcl8xMF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBpICs9IDMyCglmcmFtZV9kaWcgMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAzMgoJKwoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEwCgoqZm9yXzEwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDc1CgkvLyByZXR1cm4gZmFsc2U7CglpbnRjIDAgLy8gMAoKKmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGFsZ29TYXR1cmF0aW9uTGV2ZWwoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIG1heGltdW0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UgYmVmb3JlCi8vIHRoZSB2YWxpZGF0b3IgaXMgY29uc2lkZXJlZCBzYXR1cmF0ZWQgLSB3aGVyZSByZXdhcmRzIGFyZSBkaW1pbmlzaGVkLgovLyBOT1RFOiB0aGlzIGZ1bmN0aW9uIGlzIGRlZmluZWQgdHdpY2UgLSBoZXJlIGFuZCBpbiBzdGFraW5nIHBvb2wgY29udHJhY3QuICBCb3RoIG11c3QgYmUgaWRlbnRpY2FsLgphbGdvU2F0dXJhdGlvbkxldmVsOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ4NAoJLy8gb25saW5lID0gdGhpcy5nZXRDdXJyZW50T25saW5lU3Rha2UoKQoJY2FsbHN1YiBnZXRDdXJyZW50T25saW5lU3Rha2UKCWZyYW1lX2J1cnkgMCAvLyBvbmxpbmU6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDg2CgkvLyByZXR1cm4gd2lkZVJhdGlvKFtvbmxpbmUsIE1BWF9WQUxJREFUT1JfU09GVF9QQ1RfT0ZfT05MSU5FXzFERUNJTUFMXSwgWzEwMDBdKTsKCWZyYW1lX2RpZyAwIC8vIG9ubGluZTogdWludDY0CglwdXNoaW50IDEwMAoJbXVsdwoJaW50YyAwIC8vIDAKCWludGMgMzEgLy8gMTAwMAoJZGl2bW9kdwoJcG9wCglwb3AKCXN3YXAKCSEKCgkvLyB3aWRlUmF0aW8gZmFpbGVkCglhc3NlcnQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gbWF4QWxsb3dlZFN0YWtlKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBNQVhJTVVNIGFsbG93ZWQgc3Rha2UgcGVyIHZhbGlkYXRvciBiYXNlZCBvbiBhIHBlcmNlbnRhZ2Ugb2YgYWxsIGN1cnJlbnQgb25saW5lIHN0YWtlLgovLyBBZGRpbmcgc3Rha2UgaXMgY29tcGxldGVseSBibG9ja2VkIGF0IHRoaXMgYW1vdW50LgptYXhBbGxvd2VkU3Rha2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDk0CgkvLyBvbmxpbmUgPSB0aGlzLmdldEN1cnJlbnRPbmxpbmVTdGFrZSgpCgljYWxsc3ViIGdldEN1cnJlbnRPbmxpbmVTdGFrZQoJZnJhbWVfYnVyeSAwIC8vIG9ubGluZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTYKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9IQVJEX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCXB1c2hpbnQgMTUwCgltdWx3CglpbnRjIDAgLy8gMAoJaW50YyAzMSAvLyAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGdvQWxsb3dlZFBlclBvb2woKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgcG9vbCBhbmQgc3RpbGwgcmVjZWl2ZSBpbmNlbnRpdmVzIC0gd2UnbGwgdHJlYXQgdGhpcyBhcyB0aGUgJ21heCBwZXIgcG9vbCcKbWF4QWxnb0FsbG93ZWRQZXJQb29sOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDQKCS8vIHJldHVybiA3MF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDcwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBnZXRDdXJyZW50T25saW5lU3Rha2UoKTogdWludDY0CmdldEN1cnJlbnRPbmxpbmVTdGFrZToKCXByb3RvIDAgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTA5CgkvLyByZXR1cm4gMl8wMDBfMDAwXzAwMF8wMDBfMDAwOwoJcHVzaGludCAyXzAwMF8wMDBfMDAwXzAwMF8wMDAKCXJldHN1YgoKLy8gbWluQmFsYW5jZUZvckFjY291bnQoY29udHJhY3RzOiB1aW50NjQsIGV4dHJhUGFnZXM6IHVpbnQ2NCwgYXNzZXRzOiB1aW50NjQsIGxvY2FsSW50czogdWludDY0LCBsb2NhbEJ5dGVzOiB1aW50NjQsIGdsb2JhbEludHM6IHVpbnQ2NCwgZ2xvYmFsQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NAptaW5CYWxhbmNlRm9yQWNjb3VudDoKCXByb3RvIDcgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjEKCS8vIG1pbkJhbCA9IEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UKCWludGMgMTYgLy8gMTAwMDAwCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMgoJLy8gbWluQmFsICs9IGNvbnRyYWN0cyAqIEFQUExJQ0FUSU9OX0JBU0VfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIGNvbnRyYWN0czogdWludDY0CglpbnRjIDE2IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjMKCS8vIG1pbkJhbCArPSBleHRyYVBhZ2VzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZXh0cmFQYWdlczogdWludDY0CglpbnRjIDE2IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjQKCS8vIG1pbkJhbCArPSBhc3NldHMgKiBBU1NFVF9IT0xESU5HX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMyAvLyBhc3NldHM6IHVpbnQ2NAoJaW50YyAxNiAvLyAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI1CgkvLyBtaW5CYWwgKz0gbG9jYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gbG9jYWxJbnRzOiB1aW50NjQKCWludGMgMzIgLy8gMjg1MDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI2CgkvLyBtaW5CYWwgKz0gZ2xvYmFsSW50cyAqIFNTQ19WQUxVRV9VSU5UCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC02IC8vIGdsb2JhbEludHM6IHVpbnQ2NAoJaW50YyAzMiAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjcKCS8vIG1pbkJhbCArPSBsb2NhbEJ5dGVzICogU1NDX1ZBTFVFX0JZVEVTCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC01IC8vIGxvY2FsQnl0ZXM6IHVpbnQ2NAoJaW50YyAzMyAvLyA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjgKCS8vIG1pbkJhbCArPSBnbG9iYWxCeXRlcyAqIFNTQ19WQUxVRV9CWVRFUwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNyAvLyBnbG9iYWxCeXRlczogdWludDY0CglpbnRjIDMzIC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyOQoJLy8gcmV0dXJuIG1pbkJhbDsKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvc3RGb3JCb3hTdG9yYWdlKHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NApjb3N0Rm9yQm94U3RvcmFnZToKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTM2CgkvLyByZXR1cm4gU0NCT1hfUEVSQk9YICsgdG90YWxOdW1CeXRlcyAqIFNDQk9YX1BFUkJZVEU7CglwdXNoaW50IDI1MDAKCWZyYW1lX2RpZyAtMSAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCXB1c2hpbnQgNDAwCgkqCgkrCglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjVlODJjNiAvLyBtZXRob2QgImluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3OTQ3MmQ4MyAvLyBtZXRob2QgImxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweDVmN2FjZmQ5IC8vIG1ldGhvZCAiZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgzMTcyY2E5ZCAvLyBtZXRob2QgImdhcygpdm9pZCIKCXB1c2hieXRlcyAweDhhODcxNDJkIC8vIG1ldGhvZCAiZ2V0TWJyQW1vdW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHhkMTM2NmNjMyAvLyBtZXRob2QgImdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDNiMDQ1YzVjIC8vIG1ldGhvZCAiZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0IgoJcHVzaGJ5dGVzIDB4NzVhZmY2MWQgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JDb25maWcodWludDY0KSh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDFmMmYwMTA5IC8vIG1ldGhvZCAiZ2V0VmFsaWRhdG9yU3RhdGUodWludDY0KSh1aW50MTYsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MmZhMjJjNGIgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpIgoJcHVzaGJ5dGVzIDB4OTEwZTk0YWMgLy8gbWV0aG9kICJnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdIgoJcHVzaGJ5dGVzIDB4NTcyNzY3ZDEgLy8gbWV0aG9kICJnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5YjUwNGFhZiAvLyBtZXRob2QgImdldFBvb2xJbmZvKCh1aW50NjQsdWludDY0LHVpbnQ2NCkpKHVpbnQ2NCx1aW50MTYsdWludDY0KSIKCXB1c2hieXRlcyAweGZiYzYzMTc4IC8vIG1ldGhvZCAiZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHgyNDQ5OGNmNCAvLyBtZXRob2QgImRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sIgoJcHVzaGJ5dGVzIDB4Zjg0NmRkN2EgLy8gbWV0aG9kICJnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10iCglwdXNoYnl0ZXMgMHg4MzA1MDUwMSAvLyBtZXRob2QgImdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHg3YmJiNmM4ZCAvLyBtZXRob2QgImdldE5vZGVQb29sQXNzaWdubWVudHModWludDY0KSgodWludDY0WzNdKVs4XSkiCglwdXNoYnl0ZXMgMHhmODM5NDE0YSAvLyBtZXRob2QgImdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDBjMzE3Y2ZiIC8vIG1ldGhvZCAiYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NCIKCXB1c2hieXRlcyAweDNlMjg4OTcyIC8vIG1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ1ZmFhZGEgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgxOGFhYzdhNyAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvck5GRCh1aW50NjQsdWludDY0LHN0cmluZyl2b2lkIgoJcHVzaGJ5dGVzIDB4Zjk5ZWY1NGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyh1aW50NjQsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTA4MDlkNGQgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvKHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhlNzc4ZGQ1YSAvLyBtZXRob2QgImFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweGJmNTI1OWQwIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweDRkZjhkODZlIC8vIG1ldGhvZCAic2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCXB1c2hieXRlcyAweDQxOGZjZWZjIC8vIG1ldGhvZCAic3Rha2VVcGRhdGVkVmlhUmV3YXJkcygodWludDY0LHVpbnQ2NCx1aW50NjQpLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTJkYzUxYjUgLy8gbWV0aG9kICJzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjg3M2Y1MDQgLy8gbWV0aG9kICJmaW5kUG9vbEZvclN0YWtlcih1aW50NjQsYWRkcmVzcyx1aW50NjQpKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKSIKCXB1c2hieXRlcyAweDA1NDdmNGZlIC8vIG1ldGhvZCAibW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGNiNjY4MzU4IC8vIG1ldGhvZCAiZW1wdHlUb2tlblJld2FyZHModWludDY0LGFkZHJlc3MpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfbG9hZFN0YWtpbmdDb250cmFjdERhdGEgKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdCAqYWJpX3JvdXRlX2dhcyAqYWJpX3JvdXRlX2dldE1ickFtb3VudHMgKmFiaV9yb3V0ZV9nZXRQcm90b2NvbENvbnN0cmFpbnRzICphYmlfcm91dGVfZ2V0TnVtVmFsaWRhdG9ycyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvckNvbmZpZyAqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyICphYmlfcm91dGVfZ2V0UG9vbHMgKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQgKmFiaV9yb3V0ZV9nZXRQb29sSW5mbyAqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbCAqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlIgKmFiaV9yb3V0ZV9nZXRTdGFrZWRQb29sc0ZvckFjY291bnQgKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvICphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyAqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQgKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3IgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRCAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyAqYWJpX3JvdXRlX2FkZFBvb2wgKmFiaV9yb3V0ZV9hZGRTdGFrZSAqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzICphYmlfcm91dGVfc3Rha2VSZW1vdmVkICphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXIgKmFiaV9yb3V0ZV9tb3ZlUG9vbFRvTm9kZSAqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbjoKCXB1c2hieXRlcyAweDQ2Zjc2NTMzIC8vIG1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgVXBkYXRlQXBwbGljYXRpb24KCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCAyNCAzMiAxOCAyNjggNiAyNDIgMyAyIDEwIDI1MiAyNjAgNzAwIDEwMDAwMCA5MDAgNDAgMjAwIFRNUExfbmZkUmVnaXN0cnlBcHBJZCA0IDcyIDE5MiAyNDQgMTAwMDAwMCA0MDk2IDUgMjI2IDMwMCA0MzIgODkyIDEwMDAgMjg1MDAgNTAwMDAgMTEgODAgMTQ1IDE1MyAyMDkKYnl0ZWNibG9jayAweDc2IDB4IDB4MTUxZjdjNzUgMHg3MzcwNzMgMHg3Mzc0NjE2YjY1NjQgMHgwMCAweDcwNmY2ZjZjNTQ2NTZkNzA2YzYxNzQ2NTQxNzA3MDcyNmY3NjYxNmM0Mjc5NzQ2NTczIDB4NmU3NTZkNTM3NDYxNmI2NTcyNzMgMHgwYTgxMDEgMHg2OTJlNmY3NzZlNjU3MjJlNjEgMHgwMDAwMDAwMDAwMDAwMDAwIDB4Njk2ZTY5NzQgMHg2ZTc1NmQ1NiAweDY5NzM1Zjc2NjE2YzY5NjQ1ZjZlNjY2NDVmNjE3MDcwNjk2NCAweDYzZjNmMjhiCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDcgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjAyCgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBZGRyZXNzLmZyb21BZGRyZXNzKCdMWjRWMklSVkxDWEZKSzRSRUpWNFRBR0VLRVlUQTJHTVI2VEMyMzQ0T0IzTDNBRjNNV1haNlpBRklRJykpCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg1ZTc5NWQyMjM1NThhZTU0YWI5MTIyNmJjOTgwYzQ1MTMxMzA2OGNjOGZhNjJkNmY5YzcwNzZiZDgwYmI2NWFmIC8vIGFkZHIgIkxaNFYySVJWTENYRkpLNFJFSlY0VEFHRUtFWVRBMkdNUjZUQzIzNDRPQjNMM0FGM01XWFo2WkFGSVEiCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNAoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5kZWxldGUoKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglib3hfZGVsCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIwNQoJLy8gdGhpcy5zdGFraW5nUG9vbEluaXRpYWxpemVkLnZhbHVlID0gZmFsc2UKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWludGMgMCAvLyAwCglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKY3JlYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjA5CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSBmYWxzZQoJYnl0ZWMgMTEgLy8gICJpbml0IgoJaW50YyAwIC8vIDAKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTAKCS8vIHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSA9IDAKCWJ5dGVjIDEyIC8vICAibnVtViIKCWludGMgMCAvLyAwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyMTEKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSA9IDAKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxMgoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgPSAwCglieXRlYyA0IC8vICAic3Rha2VkIgoJaW50YyAwIC8vIDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluaXRTdGFraW5nQ29udHJhY3QodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbml0U3Rha2luZ0NvbnRyYWN0OgoJLy8gYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbml0U3Rha2luZ0NvbnRyYWN0KHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluaXRTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluaXRTdGFraW5nQ29udHJhY3QoYXBwcm92YWxQcm9ncmFtU2l6ZTogdWludDY0KTogdm9pZAppbml0U3Rha2luZ0NvbnRyYWN0OgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5jcmVhdGUoYXBwcm92YWxQcm9ncmFtU2l6ZSkKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJZnJhbWVfZGlnIC0xIC8vIGFwcHJvdmFsUHJvZ3JhbVNpemU6IHVpbnQ2NAoJYm94X2NyZWF0ZQoJcG9wCglyZXRzdWIKCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX2xvYWRTdGFraW5nQ29udHJhY3REYXRhOgoJLy8gZGF0YTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG9mZnNldDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBsb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSh1aW50NjQsYnl0ZVtdKXZvaWQKCWNhbGxzdWIgbG9hZFN0YWtpbmdDb250cmFjdERhdGEKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGxvYWRTdGFraW5nQ29udHJhY3REYXRhKG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKbG9hZFN0YWtpbmdDb250cmFjdERhdGE6Cglwcm90byAyIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIxCgkvLyBhc3NlcnQoIXRoaXMuc3Rha2luZ1Bvb2xJbml0aWFsaXplZC52YWx1ZSkKCWJ5dGVjIDExIC8vICAiaW5pdCIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDAgLy8gMAoJZ2V0Yml0CgkhCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjIyCgkvLyB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglmcmFtZV9kaWcgLTEgLy8gb2Zmc2V0OiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBkYXRhOiBieXRlcwoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKKmFiaV9yb3V0ZV9maW5hbGl6ZVN0YWtpbmdDb250cmFjdDoKCS8vIGV4ZWN1dGUgZmluYWxpemVTdGFraW5nQ29udHJhY3QoKXZvaWQKCWNhbGxzdWIgZmluYWxpemVTdGFraW5nQ29udHJhY3QKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGZpbmFsaXplU3Rha2luZ0NvbnRyYWN0KCk6IHZvaWQKZmluYWxpemVTdGFraW5nQ29udHJhY3Q6Cglwcm90byAwIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjI2CgkvLyB0aGlzLnN0YWtpbmdQb29sSW5pdGlhbGl6ZWQudmFsdWUgPSB0cnVlCglieXRlYyAxMSAvLyAgImluaXQiCglpbnRjIDEgLy8gMQoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKLy8KLy8gZ2FzIGlzIGEgZHVtbXkgbm8tb3AgY2FsbCB0aGF0IGNhbiBiZSB1c2VkIHRvIHBvb2wtdXAgcmVzb3VyY2UgcmVmZXJlbmNlcyBhbmQgb3Bjb2RlIGNvc3QKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGdldE1ickFtb3VudHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZ2V0TWJyQW1vdW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TWJyQW1vdW50cygpOiBNYnJBbW91bnRzCi8vCi8vIFJldHVybnMgdGhlIE1CUiBhbW91bnRzIG5lZWRlZCBmb3IgdmFyaW91cyBhY3Rpb25zOgovLyBbCi8vIGFkZFZhbGlkYXRvck1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgdmFsaWRhdG9yIC0gcGFpZCB0byB2YWxpZGF0b3IgY29udHJhY3QKLy8gYWRkUG9vbE1icjogdWludDY0IC0gbWJyIG5lZWRlZCB0byBhZGQgYSBuZXcgcG9vbCAtIHBhaWQgdG8gdmFsaWRhdG9yCi8vIHBvb2xJbml0TWJyOiB1aW50NjQgLSBtYnIgbmVlZGVkIHRvIGluaXRTdG9yYWdlKCkgb2YgcG9vbCAtIHBhaWQgdG8gcG9vbCBpdHNlbGYKLy8gYWRkU3Rha2VyTWJyOiB1aW50NjQgLSBtYnIgc3Rha2VyIG5lZWRzIHRvIGFkZCB0byBmaXJzdCBzdGFraW5nIHBheW1lbnQgKHN0YXlzIHcvIHZhbGlkYXRvcikKLy8gXQpnZXRNYnJBbW91bnRzOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjI0NgoJLy8gcmV0dXJuIHsKCS8vICAgICAgIGFkZFZhbGlkYXRvck1icjogdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgxIC8qIHYgcHJlZml4ICovICsgbGVuPFZhbGlkYXRvcklkVHlwZT4oKSArIGxlbjxWYWxpZGF0b3JJbmZvPigpKSwKCS8vICAgICAgIGFkZFBvb2xNYnI6IHRoaXMubWluQmFsYW5jZUZvckFjY291bnQoCgkvLyAgICAgICAgIDEsCgkvLyAgICAgICAgIC8vIHdlIGNvdWxkIGNhbGN1bGF0ZSB0aGlzIGRpcmVjdGx5IGJ5IHJlZmVyZW5jaW5nIHRoZSBzaXplIG9mIHN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtIGJ1dCBpdCB3b3VsZAoJLy8gICAgICAgICAvLyBtZWFuIG91ciBjYWxsZXJzIHdvdWxkIGhhdmUgdG8gcmVmZXJlbmNlIHRoZSBib3ggQU5EIGJ1eSB1cCBpL28gLSBzbyBqdXN0IGdvIG1heCBvbiBleHRyYSBwYWdlcwoJLy8gICAgICAgICAzLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICAwLAoJLy8gICAgICAgICBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICAgIFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCgkvLyAgICAgICApLAoJLy8gICAgICAgcG9vbEluaXRNYnI6CgkvLyAgICAgICAgIEFMR09SQU5EX0FDQ09VTlRfTUlOX0JBTEFOQ0UgKwoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDcgLyogJ3N0YWtlcnMnIG5hbWUgKi8gKyBsZW48U3Rha2VkSW5mbz4oKSAqIE1BWF9TVEFLRVJTX1BFUl9QT09MKSwKCS8vICAgICAgIGFkZFN0YWtlck1icjoKCS8vICAgICAgICAgLy8gaG93IG11Y2ggdG8gY2hhcmdlIGZvciBmaXJzdCB0aW1lIGEgc3Rha2VyIGFkZHMgc3Rha2UgLSBzaW5jZSB3ZSBhZGQgYSB0cmFja2luZyBib3ggcGVyIHN0YWtlcgoJLy8gICAgICAgICB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDMgLyogJ3NwcycgcHJlZml4ICovICsgbGVuPEFkZHJlc3M+KCkgKyBsZW48VmFsaWRhdG9yUG9vbEtleT4oKSAqIE1BWF9QT09MU19QRVJfU1RBS0VSKSwgLy8gc2l6ZSBvZiBrZXkgKyBhbGwgdmFsdWVzCgkvLyAgICAgfTsKCXB1c2hpbnQgMTEwMQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJaW50YyA5IC8vIDMKCWludGMgMzQgLy8gMTEKCWludGMgMCAvLyAwCglkdXBuIDIKCWludGMgOSAvLyAzCglpbnRjIDEgLy8gMQoJY2FsbHN1YiBtaW5CYWxhbmNlRm9yQWNjb3VudAoJaXRvYgoJY29uY2F0CglpbnRjIDE1IC8vIDEwMDAwMAoJcHVzaGludCAxMjgwNwoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJKwoJaXRvYgoJY29uY2F0CglwdXNoaW50IDE3OQoJY2FsbHN1YiBjb3N0Rm9yQm94U3RvcmFnZQoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIGdldFByb3RvY29sQ29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFByb3RvY29sQ29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRQcm90b2NvbENvbnN0cmFpbnRzKCk6IENvbnN0cmFpbnRzCi8vCi8vIFJldHVybnMgdGhlIHByb3RvY29sIGNvbnN0cmFpbnRzIHNvIHRoYXQgVUlzIGNhbiBsaW1pdCB3aGF0IHVzZXJzIHNwZWNpZnkgZm9yIHZhbGlkYXRvciBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMuCmdldFByb3RvY29sQ29uc3RyYWludHM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjcyCgkvLyByZXR1cm4gewoJLy8gICAgICAgZXBvY2hQYXlvdXRSb3VuZHNNaW46IE1JTl9FUE9DSF9MRU5HVEgsCgkvLyAgICAgICBlcG9jaFBheW91dFJvdW5kc01heDogTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgIG1pblBjdFRvVmFsaWRhdG9yV0ZvdXJEZWNpbWFsczogTUlOX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICBtYXhQY3RUb1ZhbGlkYXRvcldGb3VyRGVjaW1hbHM6IE1BWF9QQ1RfVE9fVkFMSURBVE9SLAoJLy8gICAgICAgbWluRW50cnlTdGFrZTogTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsCgkvLyAgICAgICBtYXhBbGdvUGVyUG9vbDogdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKSwKCS8vICAgICAgIG1heEFsZ29QZXJWYWxpZGF0b3I6IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICBhbXRDb25zaWRlcmVkU2F0dXJhdGVkOiB0aGlzLmFsZ29TYXR1cmF0aW9uTGV2ZWwoKSwKCS8vICAgICAgIG1heE5vZGVzOiBNQVhfTk9ERVMsCgkvLyAgICAgICBtYXhQb29sc1Blck5vZGU6IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgIG1heFN0YWtlcnNQZXJQb29sOiBNQVhfU1RBS0VSU19QRVJfUE9PTCwKCS8vICAgICB9OwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwZjQyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDAwMDAwMDAwMDAwZjQyNDAKCWNhbGxzdWIgbWF4QWxnb0FsbG93ZWRQZXJQb29sCglpdG9iCgljb25jYXQKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglpdG9iCgljb25jYXQKCWNhbGxzdWIgYWxnb1NhdHVyYXRpb25MZXZlbAoJaXRvYgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA4Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBjOAoJY29uY2F0CglyZXRzdWIKCi8vIGdldE51bVZhbGlkYXRvcnMoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE51bVZhbGlkYXRvcnM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TnVtVmFsaWRhdG9ycygpdWludDY0CgljYWxsc3ViIGdldE51bVZhbGlkYXRvcnMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXROdW1WYWxpZGF0b3JzKCk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBjdXJyZW50IG51bWJlciBvZiB2YWxpZGF0b3JzCmdldE51bVZhbGlkYXRvcnM6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MjkyCgkvLyByZXR1cm4gdGhpcy5udW1WYWxpZGF0b3JzLnZhbHVlOwoJYnl0ZWMgMTIgLy8gICJudW1WIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gZ2V0VmFsaWRhdG9yQ29uZmlnKHVpbnQ2NCkodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JDb25maWc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgljYWxsc3ViIGdldFZhbGlkYXRvckNvbmZpZwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvckNvbmZpZyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ29uZmlnCmdldFZhbGlkYXRvckNvbmZpZzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoyOTcKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZzsKCWludGMgMCAvLyAwCglpbnRjIDggLy8gMjQyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldFZhbGlkYXRvclN0YXRlKHVpbnQ2NCkodWludDE2LHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldFZhbGlkYXRvclN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0VmFsaWRhdG9yU3RhdGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRWYWxpZGF0b3JTdGF0ZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogVmFsaWRhdG9yQ3VyU3RhdGUKZ2V0VmFsaWRhdG9yU3RhdGU6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzAyCgkvLyByZXR1cm4gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZTsKCWludGMgOCAvLyAgaGVhZE9mZnNldAoJcHVzaGludCAyNgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCiphYmlfcm91dGVfZ2V0VmFsaWRhdG9yT3duZXJBbmRNYW5hZ2VyOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIodWludDY0KShhZGRyZXNzLGFkZHJlc3MpCgljYWxsc3ViIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlKTogW0FkZHJlc3MsIEFkZHJlc3NdCmdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMDcKCS8vIHJldHVybiBbdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXJdOwoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJaW50YyAxNyAvLyA0MAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgljb25jYXQKCXJldHN1YgoKLy8gZ2V0UG9vbHModWludDY0KSh1aW50NjQsdWludDE2LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFBvb2xzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRQb29scyh1aW50NjQpKHVpbnQ2NCx1aW50MTYsdWludDY0KVtdCgljYWxsc3ViIGdldFBvb2xzCglkdXAKCWxlbgoJaW50YyA1IC8vIDE4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbHModmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xJbmZvW10KLy8KLy8gUmV0dXJuIGxpc3Qgb2YgYWxsIHBvb2xzIGZvciB0aGlzIHZhbGlkYXRvci4KLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkCi8vIEByZXR1cm4ge1Bvb2xJbmZvW119IC0gYXJyYXkgb2YgcG9vbHMKLy8gTm90IGNhbGxhYmxlIGZyb20gb3RoZXIgY29udHJhY3RzIGJlY2F1c2UgPjFLIHJldHVybiBidXQgY2FuIGJlIGNhbGxlZCB3LyBzaW11bGF0ZSB3aGljaCBidW1wcyBsb2cgcmV0dXJucwpnZXRQb29sczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzE4CgkvLyByZXREYXRhOiBQb29sSW5mb1tdID0gW10KCWJ5dGVjIDEgLy8gMHgKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMxOQoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjkgLy8gNDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvb2xTZXQubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyMAoJLy8gaSA8IHBvb2xTZXQubGVuZ3RoCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJPAoJYnogKmZvcl8wX2VuZAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIxCgkvLyBwb29sU2V0W2ldLnBvb2xBcHBJZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvcl8wX2VuZAoKKmlmMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzI1CgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFBvb2xJbmZvW10KCWZyYW1lX2RpZyAxIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDUgLy8gMTgKCWV4dHJhY3QzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoqZm9yXzBfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzIwCgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8wCgoqZm9yXzBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjMyNwoJLy8gcmV0dXJuIHJldERhdGE7CglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiBQb29sSW5mb1tdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBnZXRQb29sQXBwSWQodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9nZXRQb29sQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHBvb2xJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEFwcElkKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGdldFBvb2xBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFBvb2xBcHBJZCh2YWxpZGF0b3JJZDogdWludDY0LCBwb29sSWQ6IHVpbnQ2NCk6IHVpbnQ2NApnZXRQb29sQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzM1CgkvLyBhc3NlcnQoCgkvLyAgICAgICBwb29sSWQgIT09IDAgJiYgcG9vbElkIDw9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMubGVuZ3RoLAoJLy8gICAgICAgJ3Bvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWR1cAoJYnogKnNraXBfYW5kMAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDMgLy8gMjQKCTw9CgkmJgoKKnNraXBfYW5kMDoKCS8vIHBvb2wgaWQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIG51bWJlciBvZiBwb29scyBmb3IgdGhpcyB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozMzkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xJZCAtIDFdLnBvb2xBcHBJZDsKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xJZDogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJcmV0c3ViCgovLyBnZXRQb29sSW5mbygodWludDY0LHVpbnQ2NCx1aW50NjQpKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRQb29sSW5mbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gcG9vbEtleTogKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMyAvLyAyNAoJPT0KCgkvLyBhcmd1bWVudCAwIChwb29sS2V5KSBmb3IgZ2V0UG9vbEluZm8gbXVzdCBiZSBhICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIGdldFBvb2xJbmZvCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0UG9vbEluZm8ocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IFBvb2xJbmZvCmdldFBvb2xJbmZvOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM0NAoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdOwoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyA1IC8vIDE4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2dldEN1ck1heFN0YWtlUGVyUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZ2V0Q3VyTWF4U3Rha2VQZXJQb29sCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Q3VyTWF4U3Rha2VQZXJQb29sKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiB1aW50NjQKLy8KLy8gQ2FsY3VsYXRlIHRoZSBtYXhpbXVtIHN0YWtlIHBlciBwb29sIGZvciBhIGdpdmVuIHZhbGlkYXRvci4KLy8gTm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBtYXhBbGdvUGVyUG9vbCwgYnV0IGl0IHNob3VsZCBhbHNvIG5ldmVyIGdvIGFib3ZlIE1heEFsbG93ZWRTdGFrZSAvIG51bVBvb2xzIHNvCi8vIGFzIHBvb2xzIGFyZSBhZGRlZCB0aGUgbWF4IGFsbG93ZWQgcGVyIHBvb2wgY2FuIHJlZHVjZS4KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCmdldEN1ck1heFN0YWtlUGVyUG9vbDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU1CgkvLyBudW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1NgoJLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHMgPSB0aGlzLm1heEFsbG93ZWRTdGFrZSgpIC8gbnVtUG9vbHMKCWNhbGxzdWIgbWF4QWxsb3dlZFN0YWtlCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CgkvCglmcmFtZV9idXJ5IDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNTcKCS8vIG1heFBlclBvb2w6IHVpbnQ2NCA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1heEFsZ29QZXJQb29sCglwdXNoaW50IDIxNwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM1OAoJLy8gbWF4UGVyUG9vbCA9PT0gMAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzU5CgkvLyBtYXhQZXJQb29sID0gdGhpcy5tYXhBbGdvQWxsb3dlZFBlclBvb2woKQoJY2FsbHN1YiBtYXhBbGdvQWxsb3dlZFBlclBvb2wKCWZyYW1lX2J1cnkgMiAvLyBtYXhQZXJQb29sOiB1aW50NjQKCippZjFfZW5kOgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjEKCS8vIGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzIDwgbWF4UGVyUG9vbAoJZnJhbWVfZGlnIDEgLy8gaGFyZE1heERpdmlkZWRCZXR3ZWVuUG9vbHM6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM2MgoJLy8gbWF4UGVyUG9vbCA9IGhhcmRNYXhEaXZpZGVkQmV0d2VlblBvb2xzCglmcmFtZV9kaWcgMSAvLyBoYXJkTWF4RGl2aWRlZEJldHdlZW5Qb29sczogdWludDY0CglmcmFtZV9idXJ5IDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoqaWYyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNjQKCS8vIHJldHVybiBtYXhQZXJQb29sOwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMgoJcmV0c3ViCgovLyBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSKGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2RvZXNTdGFrZXJOZWVkVG9QYXlNQlI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChzdGFrZXIpIGZvciBkb2VzU3Rha2VyTmVlZFRvUGF5TUJSIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIoYWRkcmVzcylib29sCgljYWxsc3ViIGRvZXNTdGFrZXJOZWVkVG9QYXlNQlIKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZG9lc1N0YWtlck5lZWRUb1BheU1CUihzdGFrZXI6IEFkZHJlc3MpOiBib29sZWFuCi8vCi8vIEhlbHBlciBjYWxsZXJzIGNhbiBjYWxsIHcvIHNpbXVsYXRlIHRvIGRldGVybWluZSBpZiAnQWRkU3Rha2VyJyBNQlIgc2hvdWxkIGJlIGluY2x1ZGVkIHcvIHN0YWtpbmcgYW1vdW50Ci8vIEBwYXJhbSBzdGFrZXIKZG9lc1N0YWtlck5lZWRUb1BheU1CUjoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozNzMKCS8vIHJldHVybiAhdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzOwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglyZXRzdWIKCi8vIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChhZGRyZXNzKSh1aW50NjQsdWludDY0LHVpbnQ2NClbXQoqYWJpX3JvdXRlX2dldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gc3Rha2VyOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlcikgZm9yIGdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBnZXRTdGFrZWRQb29sc0ZvckFjY291bnQoYWRkcmVzcykodWludDY0LHVpbnQ2NCx1aW50NjQpW10KCWNhbGxzdWIgZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50CglkdXAKCWxlbgoJaW50YyAzIC8vIDI0CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KHN0YWtlcjogQWRkcmVzcyk6IFZhbGlkYXRvclBvb2xLZXlbXQovLwovLyBSZXRyaWV2ZXMgdGhlIHN0YWtlZCBwb29scyBmb3IgYW4gYWNjb3VudC4KLy8KLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIgLSBUaGUgYWNjb3VudCB0byByZXRyaWV2ZSBzdGFrZWQgcG9vbHMgZm9yLgovLyBAcmV0dXJuIHtWYWxpZGF0b3JQb29sS2V5W119IC0gVGhlIGFycmF5IG9mIHN0YWtlZCBwb29scyBmb3IgdGhlIGFjY291bnQuCmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4MwoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWYzX2VuZAoKCS8vICppZjNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4NAoJLy8gcmV0dXJuIFtdOwoJYnl0ZWMgMSAvLyAweAoJYiAqZ2V0U3Rha2VkUG9vbHNGb3JBY2NvdW50KnJldHVybgoKKmlmM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg2CgkvLyByZXREYXRhOiBWYWxpZGF0b3JQb29sS2V5W10gPSBbXQoJYnl0ZWMgMSAvLyAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODcKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjM4OAoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl8xX2VuZAoKCS8vICppZjRfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Mzg5CgkvLyBwb29sU2V0W2ldLmlkICE9PSAwCglmcmFtZV9kaWcgMSAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkwCgkvLyByZXREYXRhLnB1c2gocG9vbFNldFtpXSkKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoJZnJhbWVfZGlnIDEgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0RGF0YTogVmFsaWRhdG9yUG9vbEtleVtdCgoqaWY0X2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czozODgKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MzkzCgkvLyByZXR1cm4gcmV0RGF0YTsKCWZyYW1lX2RpZyAwIC8vIHJldERhdGE6IFZhbGlkYXRvclBvb2xLZXlbXQoKKmdldFN0YWtlZFBvb2xzRm9yQWNjb3VudCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGdldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKKmFiaV9yb3V0ZV9nZXRUb2tlblBheW91dFJhdGlvOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBnZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpCgljYWxsc3ViIGdldFRva2VuUGF5b3V0UmF0aW8KCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRUb2tlblBheW91dFJhdGlvKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUpOiBQb29sVG9rZW5QYXlvdXRSYXRpbwovLwovLyBSZXRyaWV2ZXMgdGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgYSBnaXZlbiB2YWxpZGF0b3IgLSByZXR1cm5pbmcgdGhlIHBvb2wgcmF0aW9zIG9mIHdob2xlIHNvIHRoYXQgdG9rZW4KLy8gcGF5b3V0cyBhY3Jvc3MgcG9vbHMgY2FuIGJlIGJhc2VkIG9uIGEgc3RhYmxlIHNuYXBob3N0IG9mIHN0YWtlLgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHJldHVybiB7UG9vbFRva2VuUGF5b3V0UmF0aW99IC0gVGhlIHRva2VuIHBheW91dCByYXRpbyBmb3IgdGhlIHZhbGlkYXRvci4KZ2V0VG9rZW5QYXlvdXRSYXRpbzoKCXByb3RvIDEgMQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MDUKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBnZXROb2RlUG9vbEFzc2lnbm1lbnRzKHVpbnQ2NCkoKHVpbnQ2NFszXSlbOF0pCiphYmlfcm91dGVfZ2V0Tm9kZVBvb2xBc3NpZ25tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKQoJY2FsbHN1YiBnZXROb2RlUG9vbEFzc2lnbm1lbnRzCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh2YWxpZGF0b3JJZDogdWludDY0KTogTm9kZVBvb2xBc3NpZ25tZW50Q29uZmlnCmdldE5vZGVQb29sQXNzaWdubWVudHM6Cglwcm90byAxIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDEwCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS5leGlzdHMsICJ0aGUgc3BlY2lmaWVkIHZhbGlkYXRvciBpZCBkb2Vzbid0IGV4aXN0IikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gdGhlIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgZG9lc24ndCBleGlzdAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxMgoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50czsKCWludGMgMTYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjIgLy8gMTkyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGdldE5GRFJlZ2lzdHJ5SUQoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldE5GRFJlZ2lzdHJ5SUQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0TkZEUmVnaXN0cnlJRCgpdWludDY0CgljYWxsc3ViIGdldE5GRFJlZ2lzdHJ5SUQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRORkRSZWdpc3RyeUlEKCk6IHVpbnQ2NApnZXRORkRSZWdpc3RyeUlEOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQxNgoJLy8gcmV0dXJuIHRoaXMubmZkUmVnaXN0cnlBcHBJZDsKCWludGMgMTkgLy8gVE1QTF9uZmRSZWdpc3RyeUFwcElkCglyZXRzdWIKCi8vIGFkZFZhbGlkYXRvcihwYXksc3RyaW5nLCh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KSl1aW50NjQKKmFiaV9yb3V0ZV9hZGRWYWxpZGF0b3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA4IC8vIDI0MgoJPT0KCgkvLyBhcmd1bWVudCAwIChjb25maWcpIGZvciBhZGRWYWxpZGF0b3IgbXVzdCBiZSBhICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gbmZkTmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkVmFsaWRhdG9yIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkVmFsaWRhdG9yKHBheSxzdHJpbmcsKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpKXVpbnQ2NAoJY2FsbHN1YiBhZGRWYWxpZGF0b3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBhZGRWYWxpZGF0b3IobWJyUGF5bWVudDogUGF5VHhuLCBuZmROYW1lOiBzdHJpbmcsIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnKTogdWludDY0Ci8vCi8vIEFkZHMgYSBuZXcgdmFsaWRhdG9yCi8vIFJlcXVpcmVzIGF0IGxlYXN0IDEwIEFMR08gYXMgdGhlICdmZWUnIGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gaGVscCBkaXNzdWFkZSBzcGFtbWVkIHZhbGlkYXRvciBhZGRzLgovLwovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgbmV3IHZhbGlkYXRvciBzdG9yYWdlCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIChPcHRpb25hbCkgTmFtZSBvZiBuZmQgKHVzZWQgYXMgZG91YmxlLWNoZWNrIGFnYWluc3QgaWQgc3BlY2lmaWVkIGluIGNvbmZpZykKLy8gQHBhcmFtIHtWYWxpZGF0b3JDb25maWd9IGNvbmZpZyBWYWxpZGF0b3JDb25maWcgc3RydWN0Ci8vIEByZXR1cm5zIHt1aW50NjR9IHZhbGlkYXRvciBpZAphZGRWYWxpZGF0b3I6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MjgKCS8vIHRoaXMudmFsaWRhdGVDb25maWcoY29uZmlnKQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCgljYWxsc3ViIHZhbGlkYXRlQ29uZmlnCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQyOQoJLy8gYXNzZXJ0KGNvbmZpZy5vd25lciAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMwCgkvLyBhc3NlcnQoY29uZmlnLm1hbmFnZXIgIT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNDAgMzIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0MzEKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IGNvbmZpZy5vd25lciwgJ3NlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4IDMyCgk9PQoKCS8vIHNlbmRlciBtdXN0IGJlIG93bmVyIHRvIGFkZCBuZXcgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDMzCgkvLyB2ZXJpZnlQYXlUeG4obWJyUGF5bWVudCwgeyBhbW91bnQ6IHRoaXMuZ2V0TWJyQW1vdW50cygpLmFkZFZhbGlkYXRvck1iciB9KQoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIG1iclBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMCA4CglidG9pCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoibWJyUGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiZXhwZWN0ZWQiOiJ0aGlzLmdldE1ickFtb3VudHMoKS5hZGRWYWxpZGF0b3JNYnIifQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQzNQoJLy8gYXNzZXJ0KG1iclBheW1lbnQuZmVlID4gMTAgKiAxMDAwMDAwLCAnZmVlIG11c3QgYmUgMTAgQUxHTyBvciBtb3JlIHRvIHByZXZlbnQgc3BhbW1pbmcgb2YgdmFsaWRhdG9ycycpCglmcmFtZV9kaWcgLTEgLy8gbWJyUGF5bWVudDogUGF5VHhuCglndHhucyBGZWUKCXB1c2hpbnQgMTAwMDAwMDAKCT4KCgkvLyBmZWUgbXVzdCBiZSAxMCBBTEdPIG9yIG1vcmUgdG8gcHJldmVudCBzcGFtbWluZyBvZiB2YWxpZGF0b3JzCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM4CgkvLyB2YWxpZGF0b3JJZCA9IHRoaXMubnVtVmFsaWRhdG9ycy52YWx1ZSArIDEKCWJ5dGVjIDEyIC8vICAibnVtViIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDM5CgkvLyB0aGlzLm51bVZhbGlkYXRvcnMudmFsdWUgPSB2YWxpZGF0b3JJZAoJYnl0ZWMgMTIgLy8gICJudW1WIgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmNyZWF0ZSgpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJcHVzaGludCAxMDkyCglib3hfY3JlYXRlCglwb3AKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZyA9IGNvbmZpZwoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgMCAvLyB2YWxpZGF0b3JJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuaWQgPSB2YWxpZGF0b3JJZAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIHZhbGlkYXRvcklkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDQ2CgkvLyBjb25maWcubmZkRm9ySW5mbyAhPT0gMAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmNV9lbmQKCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NDgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgbmZkTmFtZSwgaXRvYihjb25maWcubmZkRm9ySW5mbyldLAoJLy8gICAgICAgICBhcHBsaWNhdGlvbnM6IFtBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKV0sCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ0OQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1MAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IoY29uZmlnLm5mZEZvckluZm8pXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA3MiA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQoY29uZmlnLm5mZEZvckluZm8pXQoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDcyIDgKCWJ0b2kKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0NTMKCS8vIGFzc2VydChidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMSwgInByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZCIpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWludGMgMSAvLyAxCgk9PQoKCS8vIHByb3ZpZGVkIE5GRCBpc24ndCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ1NQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IChBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykgYXMgQWRkcmVzcyksCgkvLyAgICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgNzIgOAoJYnRvaQoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KGNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykKCWFzc2VydAoJPT0KCgkvLyBJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXIKCWFzc2VydAoKKmlmNV9lbmQ6CgkvLyAqaWY2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2MQoJLy8gY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA9PT0gR0FUSU5HX1RZUEVfQ1JFQVRFRF9CWV9ORkRfQUREUkVTU0VTIHx8CgkvLyAgICAgICBjb25maWcuZW50cnlHYXRpbmdUeXBlID09PSBHQVRJTkdfVFlQRV9TRUdNRU5UX09GX05GRAoJZnJhbWVfZGlnIC0zIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDgwIDEKCWJ0b2kKCWludGMgOSAvLyAzCgk9PQoJZHVwCglibnogKnNraXBfb3IwCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAyMCAvLyA0Cgk9PQoJfHwKCipza2lwX29yMDoKCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NDY1CgkvLyBhc3NlcnQodGhpcy5pc05GREFwcElEVmFsaWQoY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzWzBdKSwgJ3Byb3ZpZGVkIE5GRCBBcHAgaWQgZm9yIGdhdGluZyBtdXN0IGJlIHZhbGlkIE5GRCcpCglmcmFtZV9kaWcgLTMgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTEzIDgKCWJ0b2kKCWNhbGxzdWIgaXNORkRBcHBJRFZhbGlkCgoJLy8gcHJvdmlkZWQgTkZEIEFwcCBpZCBmb3IgZ2F0aW5nIG11c3QgYmUgdmFsaWQgTkZECglhc3NlcnQKCippZjZfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ2OAoJLy8gcmV0dXJuIHZhbGlkYXRvcklkOwoJZnJhbWVfZGlnIDAgLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJLy8gbWFuYWdlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChtYW5hZ2VyKSBmb3IgY2hhbmdlVmFsaWRhdG9yTWFuYWdlciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTWFuYWdlcih1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvck1hbmFnZXIodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbWFuYWdlcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gQ2hhbmdlcyB0aGUgVmFsaWRhdG9yIG1hbmFnZXIgZm9yIGEgc3BlY2lmaWMgVmFsaWRhdG9yIGlkLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIGNoYW5nZSB0aGUgbWFuYWdlciBmb3IuCi8vIEBwYXJhbSB7QWRkcmVzc30gbWFuYWdlciAtIFRoZSBuZXcgbWFuYWdlciBhZGRyZXNzLgpjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ3OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjQ4MwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWFuYWdlciA9IG1hbmFnZXIKCWludGMgMTcgLy8gNDAKCWZyYW1lX2RpZyAtMiAvLyBtYW5hZ2VyOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclN1bnNldEluZm86CgkvLyBzdW5zZXR0aW5nVG86IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN1bnNldHRpbmdPbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgc3Vuc2V0dGluZ09uOiB1aW50NjQsIHN1bnNldHRpbmdUbzogVmFsaWRhdG9ySWRUeXBlKTogdm9pZAovLwovLyBVcGRhdGVzIHRoZSBzdW5zZXQgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gdmFsaWRhdG9yLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdPbiAtIFRoZSBuZXcgc3Vuc2V0IHRpbWVzdGFtcC4KLy8gQHBhcmFtIHt1aW50NjR9IHN1bnNldHRpbmdUbyAtIFRoZSBuZXcgc3Vuc2V0IHRvIHZhbGlkYXRvciBpZC4KY2hhbmdlVmFsaWRhdG9yU3Vuc2V0SW5mbzoKCXByb3RvIDMgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTUKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo0OTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdPbiA9IHN1bnNldHRpbmdPbgoJaW50YyAyNyAvLyAyMjYKCWZyYW1lX2RpZyAtMiAvLyBzdW5zZXR0aW5nT246IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MDAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnN1bnNldHRpbmdUbyA9IHN1bnNldHRpbmdUbwoJcHVzaGludCAyMzQKCWZyYW1lX2RpZyAtMyAvLyBzdW5zZXR0aW5nVG86IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodWludDY0LHVpbnQ2NCxzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck5GRDoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZXh0cmFjdCAyIDAKCgkvLyBuZmRBcHBJRDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yTkZECglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjaGFuZ2VWYWxpZGF0b3JORkQodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgbmZkQXBwSUQ6IHVpbnQ2NCwgbmZkTmFtZTogc3RyaW5nKTogdm9pZAovLwovLyBDaGFuZ2VzIHRoZSBORkQgZm9yIGEgdmFsaWRhdG9yIGluIHRoZSB2YWxpZGF0b3JMaXN0IGNvbnRyYWN0LgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHRvIHVwZGF0ZS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElEIC0gVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBORkQgdG8gYXNzaWduIHRvIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE5GRCAod2hpY2ggbXVzdCBtYXRjaCkKY2hhbmdlVmFsaWRhdG9yTkZEOgoJcHJvdG8gMyAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxMwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUxOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLm5mZFJlZ2lzdHJ5QXBwSWQpCglpbnRjIDE5IC8vIFRNUExfbmZkUmVnaXN0cnlBcHBJZAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUyMAoJLy8gYXBwbGljYXRpb25BcmdzOiBbJ2lzX3ZhbGlkX25mZF9hcHBpZCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSUQpXQoJYnl0ZWMgMTMgLy8gICJpc192YWxpZF9uZmRfYXBwaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0zIC8vIG5mZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjEKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1MjQKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gKEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzKSwKCS8vICAgICAgICdJZiBzcGVjaWZ5aW5nIE5GRCwgYWNjb3VudCBhZGRpbmcgdmFsaWRhdG9yIG11c3QgYmUgb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElEOiB1aW50NjQKCWJ5dGVjIDkgLy8gICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCT09CgoJLy8gSWYgc3BlY2lmeWluZyBORkQsIGFjY291bnQgYWRkaW5nIHZhbGlkYXRvciBtdXN0IGJlIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTI4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5uZmRGb3JJbmZvID0gbmZkQXBwSUQKCWludGMgMjEgLy8gNzIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJRDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JDb21taXNzaW9uQWRkcmVzczoKCS8vIGNvbW1pc3Npb25BZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGNvbW1pc3Npb25BZGRyZXNzKSBmb3IgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzKTogdm9pZAovLwovLyBDaGFuZ2UgdGhlIGNvbW1pc3Npb24gYWRkcmVzcyB0aGF0IHZhbGlkYXRvciByZXdhcmRzIGFyZSBzZW50IHRvLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciwKCS8vICAgICAgICdjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU0MAoJLy8gYXNzZXJ0KGNvbW1pc3Npb25BZGRyZXNzICE9PSBBZGRyZXNzLnplcm9BZGRyZXNzKQoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCSE9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTQxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyA9IGNvbW1pc3Npb25BZGRyZXNzCglwdXNoaW50IDE3NwoJZnJhbWVfZGlnIC0yIC8vIGNvbW1pc3Npb25BZGRyZXNzOiBBZGRyZXNzCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvclJld2FyZEluZm86CgkvLyBSZXdhcmRQZXJQYXlvdXQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNgoJYnRvaQoKCS8vIEdhdGluZ0Fzc2V0TWluQmFsYW5jZTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gRW50cnlHYXRpbmdBc3NldHM6IHVpbnQ2NFs0XQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAyIChFbnRyeUdhdGluZ0Fzc2V0cykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIHVpbnQ2NFs0XQoJYXNzZXJ0CgoJLy8gRW50cnlHYXRpbmdBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDMgKEVudHJ5R2F0aW5nQWRkcmVzcykgZm9yIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIEVudHJ5R2F0aW5nVHlwZTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCA0IChFbnRyeUdhdGluZ1R5cGUpIGZvciBjaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhbmdlVmFsaWRhdG9yUmV3YXJkSW5mbyh1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgRW50cnlHYXRpbmdUeXBlOiB1aW50OCwgRW50cnlHYXRpbmdBZGRyZXNzOiBBZGRyZXNzLCBFbnRyeUdhdGluZ0Fzc2V0czogU3RhdGljQXJyYXk8dWludDY0LCA0PiwgR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQsIFJld2FyZFBlclBheW91dDogdWludDY0KTogdm9pZAovLwovLyBBbGxvdyB0aGUgYWRkaXRpb25hbCByZXdhcmRzIChnYXRpbmcgZW50cnksIGFkZGl0aW9uYWwgdG9rZW4gcmV3YXJkcykgaW5mb3JtYXRpb24gYmUgY2hhbmdlZCBhdCB3aWxsLgovLyBbIE9OTFkgT1dORVIgQ0FOIENIQU5HRSBdCmNoYW5nZVZhbGlkYXRvclJld2FyZEluZm86Cglwcm90byA2IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTU2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm93bmVyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXInCgkvLyAgICAgKQoJdHhuIFNlbmRlcgoJaW50YyAyIC8vIDgKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgdmFsaWRhdG9yIG93bmVyCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTYxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPSBFbnRyeUdhdGluZ1R5cGUKCWludGMgMzUgLy8gODAKCWZyYW1lX2RpZyAtMiAvLyBFbnRyeUdhdGluZ1R5cGU6IHVpbnQ4CglpdG9iCglleHRyYWN0IDcgMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjIKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQWRkcmVzcyA9IEVudHJ5R2F0aW5nQWRkcmVzcwoJcHVzaGludCA4MQoJZnJhbWVfZGlnIC0zIC8vIEVudHJ5R2F0aW5nQWRkcmVzczogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1NjMKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzID0gRW50cnlHYXRpbmdBc3NldHMKCXB1c2hpbnQgMTEzCglmcmFtZV9kaWcgLTQgLy8gRW50cnlHYXRpbmdBc3NldHM6IFN0YXRpY0FycmF5PHVpbnQ2NCwgND4KCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5nYXRpbmdBc3NldE1pbkJhbGFuY2UgPSBHYXRpbmdBc3NldE1pbkJhbGFuY2UKCWludGMgMzYgLy8gMTQ1CglmcmFtZV9kaWcgLTUgLy8gR2F0aW5nQXNzZXRNaW5CYWxhbmNlOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTY1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5yZXdhcmRQZXJQYXlvdXQgPSBSZXdhcmRQZXJQYXlvdXQKCXB1c2hpbnQgMTYxCglmcmFtZV9kaWcgLTYgLy8gUmV3YXJkUGVyUGF5b3V0OiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkUG9vbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIG1iclBheW1lbnQ6IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJQYXltZW50KSBmb3IgYWRkUG9vbCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZFBvb2wocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRQb29sCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYWRkUG9vbChtYnJQYXltZW50OiBQYXlUeG4sIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIG5vZGVOdW06IHVpbnQ2NCk6IFZhbGlkYXRvclBvb2xLZXkKLy8KLy8gQWRkcyBhIG5ldyBwb29sIHRvIGEgdmFsaWRhdG9yJ3MgcG9vbCBzZXQsIHJldHVybmluZyB0aGUgJ2tleScgdG8gcmVmZXJlbmNlIHRoZSBwb29sIGluIHRoZSBmdXR1cmUgZm9yIHN0YWtpbmcsIGV0Yy4KLy8gVGhlIGNhbGxlciBtdXN0IHBheSB0aGUgY29zdCBvZiB0aGUgdmFsaWRhdG9ycyBNQlIgaW5jcmVhc2UgYXMgd2VsbCBhcyB0aGUgTUJSIHRoYXQgd2lsbCBiZSBuZWVkZWQgZm9yIHRoZSBwb29sIGl0c2VsZi4KLy8KLy8gWyBPTkxZIE9XTkVSIE9SIE1BTkFHRVIgQ0FOIGNhbGwgXQovLyBAcGFyYW0ge1BheVR4bn0gbWJyUGF5bWVudCBwYXltZW50IGZyb20gY2FsbGVyIHdoaWNoIGNvdmVycyBtYnIgaW5jcmVhc2Ugb2YgYWRkaW5nIGEgbmV3IHBvb2wKLy8gQHBhcmFtIHt1aW50NjR9IHZhbGlkYXRvcklkIGlzIGlkIG9mIHZhbGlkYXRvciB0byBwb29sIHRvIChtdXN0IGJlIG93bmVyIG9yIG1hbmFnZXIpCi8vIEBwYXJhbSB7dWludDY0fSBub2RlTnVtIGlzIG5vZGUgbnVtYmVyIHRvIGFkZCB0bwovLyBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbCBrZXkgdG8gY3JlYXRlZCBwb29sCmFkZFBvb2w6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU4MQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5vd25lciB8fAoJLy8gICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLm1hbmFnZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yJwoJLy8gICAgICkKCXR4biBTZW5kZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWludGMgMTcgLy8gNDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJPT0KCXx8Cgoqc2tpcF9vcjE6CgkvLyBjYW4gb25seSBiZSBjYWxsZWQgYnkgb3duZXIgb3IgbWFuYWdlciBvZiB2YWxpZGF0b3IKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1ODgKCS8vIHZlcmlmeVBheVR4bihtYnJQYXltZW50LCB7IGFtb3VudDogdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MgfSkKCS8vIHZlcmlmeSBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJY2FsbHN1YiBnZXRNYnJBbW91bnRzCglleHRyYWN0IDggOAoJYnRvaQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoidGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkUG9vbE1iciJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMSAvLyBtYnJQYXltZW50OiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclBheW1lbnQiLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo1OTAKCS8vIGFzc2VydCh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLmV4aXN0cywgInNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQiKQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCgkvLyBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NTkyCgkvLyBudW1Qb29sczogdWludDY0ID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5zdGF0ZS5udW1Qb29scyBhcyB1aW50NjQKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIG51bVBvb2xzOiB1aW50NjQKCgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5MwoJLy8gKG51bVBvb2xzIGFzIHVpbnQ2NCkgPj0gTUFYX1BPT0xTCglmcmFtZV9kaWcgMCAvLyBudW1Qb29sczogdWludDY0CglpbnRjIDMgLy8gMjQKCT49CglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gYWxyZWFkeSBhdCBtYXggcG9vbCBzaXplCgllcnIKCippZjdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5NgoJLy8gbnVtUG9vbHMgKz0gMQoJZnJhbWVfZGlnIDAgLy8gbnVtUG9vbHM6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBudW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjU5OQoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgIGFwcHJvdmFsUHJvZ3JhbTogWwoJLy8gICAgICAgICB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLmV4dHJhY3QoMCwgNDA5NiksCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCg0MDk2LCB0aGlzLnN0YWtpbmdQb29sQXBwcm92YWxQcm9ncmFtLnNpemUgLSA0MDk2KSwKCS8vICAgICAgIF0sCgkvLyAgICAgICBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiBTdGFraW5nUG9vbC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZXh0cmFQcm9ncmFtUGFnZXM6IDMsCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjAwCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDAgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwMQoJLy8gYXBwcm92YWxQcm9ncmFtOiBbCgkvLyAgICAgICAgIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uZXh0cmFjdCgwLCA0MDk2KSwKCS8vICAgICAgICAgdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5leHRyYWN0KDQwOTYsIHRoaXMuc3Rha2luZ1Bvb2xBcHByb3ZhbFByb2dyYW0uc2l6ZSAtIDQwOTYpLAoJLy8gICAgICAgXQoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDAgLy8gMAoJaW50YyAyNSAvLyA0MDk2Cglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJYnl0ZWMgNiAvLyAgInBvb2xUZW1wbGF0ZUFwcHJvdmFsQnl0ZXMiCglpbnRjIDI1IC8vIDQwOTYKCWJ5dGVjIDYgLy8gICJwb29sVGVtcGxhdGVBcHByb3ZhbEJ5dGVzIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFraW5nUG9vbEFwcHJvdmFsUHJvZ3JhbS5zaXplCglhc3NlcnQKCWludGMgMjUgLy8gNDA5NgoJLQoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogU3Rha2luZ1Bvb2wuY2xlYXJQcm9ncmFtKCkKCXB1c2hieXRlcyAweDBhCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYwNgoJLy8gZ2xvYmFsTnVtVWludDogU3Rha2luZ1Bvb2wuc2NoZW1hLmdsb2JhbC5udW1VaW50CglpbnRjIDM0IC8vIDExCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA3CgkvLyBnbG9iYWxOdW1CeXRlU2xpY2U6IFN0YWtpbmdQb29sLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDkgLy8gMwoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA4CgkvLyBleHRyYVByb2dyYW1QYWdlczogMwoJaW50YyA5IC8vIDMKCWl0eG5fZmllbGQgRXh0cmFQcm9ncmFtUGFnZXMKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjA5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgLy8gY3JlYXRpbmdDb250cmFjdElELCB2YWxpZGF0b3JJZCwgcG9vbElkLCBtaW5FbnRyeVN0YWtlCgkvLyAgICAgICAgIG1ldGhvZCgnY3JlYXRlQXBwbGljYXRpb24odWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQnKSwKCS8vICAgICAgICAgaXRvYih0aGlzLmFwcC5pZCksCgkvLyAgICAgICAgIGl0b2IodmFsaWRhdG9ySWQpLAoJLy8gICAgICAgICBpdG9iKG51bVBvb2xzIGFzIHVpbnQ2NCksCgkvLyAgICAgICAgIGl0b2IodGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubWluRW50cnlTdGFrZSksCgkvLyAgICAgICBdCglwdXNoYnl0ZXMgMHg1OWU5MGFhNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglpbnRjIDM4IC8vIDIwOQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MTkKCS8vIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgPSBudW1Qb29scyBhcyB1aW50MTYKCWludGMgOCAvLyAyNDIKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyMgoJLy8gcG9vbEFwcElkID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmlkCglpdHhuIENyZWF0ZWRBcHBsaWNhdGlvbklECglmcmFtZV9idXJ5IDEgLy8gcG9vbEFwcElkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjIzCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW251bVBvb2xzIC0gMV0ucG9vbEFwcElkID0gcG9vbEFwcElkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xBcHBJZDogdWludDY0CglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjYyNAoJLy8gdGhpcy5hZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkLCBwb29sQXBwSWQsIG5vZGVOdW0pCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgYWRkUG9vbFRvTm9kZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2MzIKCS8vIHJldHVybiB7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiBudW1Qb29scyBhcyB1aW50NjQsIHBvb2xBcHBJZDogdGhpcy5pdHhuIS5jcmVhdGVkQXBwbGljYXRpb25JRC5pZCB9OwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIG51bVBvb2xzOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJaXR4biBDcmVhdGVkQXBwbGljYXRpb25JRAoJaXRvYgoJY29uY2F0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGRTdGFrZShwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfYWRkU3Rha2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBzdGFrZWRBbW91bnRQYXltZW50OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDEgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAxIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMiAoc3Rha2VkQW1vdW50UGF5bWVudCkgZm9yIGFkZFN0YWtlIG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYWRkU3Rha2UocGF5LHVpbnQ2NCx1aW50NjQpKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBhZGRTdGFrZQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZFN0YWtlKHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4biwgdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogVmFsaWRhdG9yUG9vbEtleQovLwovLyBBZGRzIHN0YWtlIHRvIGEgdmFsaWRhdG9yIHBvb2wuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBzdGFrZWRBbW91bnRQYXltZW50IC0gcGF5bWVudCBjb21pbmcgZnJvbSBzdGFrZXIgdG8gcGxhY2UgaW50byBhIHBvb2wKLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSB2YWx1ZVRvVmVyaWZ5IC0gb25seSBpZiB2YWxpZGF0b3IgaGFzIGdhdGluZyB0byBlbnRlciAtIHRoaXMgaXMgYXNzZXQgaWQgb3IgbmZkIGlkIHRoYXQgY29ycmVzcG9uZHMgdG8gZ2F0aW5nLgovLyBUeG4gc2VuZGVyIGlzIGZhY3RvcmVkIGluIGFzIHdlbGwgaWYgdGhhdCBpcyBwYXJ0IG9mIGdhdGluZy4KLy8gKiBAcmV0dXJucyB7VmFsaWRhdG9yUG9vbEtleX0gLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KYWRkU3Rha2U6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA1CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0NQoJLy8gYXNzZXJ0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkuZXhpc3RzLCAic3BlY2lmaWVkIHZhbGlkYXRvciBpZCBpc24ndCB2YWxpZCIpCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHNwZWNpZmllZCB2YWxpZGF0b3IgaWQgaXNuJ3QgdmFsaWQKCWFzc2VydAoKCS8vICppZjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjQ4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPiAwCglpbnRjIDI3IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglieiAqaWY4X2VuZAoKCS8vICppZjhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY0OQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5zdW5zZXR0aW5nT24gPCBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCwKCS8vICAgICAgICAgImNhbid0IHN0YWtlIHdpdGggYSB2YWxpZGF0b3IgdGhhdCBpcyBwYXN0IGl0cyBzdW5zZXR0aW5nIHRpbWUiCgkvLyAgICAgICApCglpbnRjIDI3IC8vIDIyNgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCTwKCgkvLyBjYW4ndCBzdGFrZSB3aXRoIGEgdmFsaWRhdG9yIHRoYXQgaXMgcGFzdCBpdHMgc3Vuc2V0dGluZyB0aW1lCglhc3NlcnQKCippZjhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1NQoJLy8gc3Rha2VyID0gdGhpcy50eG4uc2VuZGVyCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3Rha2VyOiBhZGRyZXNzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY1OQoJLy8gdmVyaWZ5UGF5VHhuKHN0YWtlZEFtb3VudFBheW1lbnQsIHsKCS8vICAgICAgIHNlbmRlcjogc3Rha2VyLAoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBzZW5kZXIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoic3Rha2VkQW1vdW50UGF5bWVudCIsImZpZWxkIjoic2VuZGVyIiwiZXhwZWN0ZWQiOiJzdGFrZXIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzdGFrZWRBbW91bnRQYXltZW50IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjY2CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCA8IHRoaXMubWF4QWxsb3dlZFN0YWtlKCksCgkvLyAgICAgICAndG90YWwgc3Rha2VkIGZvciBhbGwgb2YgYSB2YWxpZGF0b3JzIHBvb2xzIG1heSBub3QgZXhjZWVkIGhhcmQgY2FwJwoJLy8gICAgICkKCWludGMgMTIgLy8gMjUyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJY2FsbHN1YiBtYXhBbGxvd2VkU3Rha2UKCTwKCgkvLyB0b3RhbCBzdGFrZWQgZm9yIGFsbCBvZiBhIHZhbGlkYXRvcnMgcG9vbHMgbWF5IG5vdCBleGNlZWQgaGFyZCBjYXAKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzMKCS8vIHRoaXMuZG9lc1N0YWtlck1lZXRHYXRpbmcodmFsaWRhdG9ySWQsIHZhbHVlVG9WZXJpZnkpCglmcmFtZV9kaWcgLTMgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBkb2VzU3Rha2VyTWVldEdhdGluZwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2NzUKCS8vIHJlYWxBbW91bnQgPSBzdGFrZWRBbW91bnRQYXltZW50LmFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlZEFtb3VudFBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglmcmFtZV9idXJ5IDEgLy8gcmVhbEFtb3VudDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3NgoJLy8gbWJyQW10TGVmdEJlaGluZDogdWludDY0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCgkvLyAqaWY5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY3OAoJLy8gIXRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLmV4aXN0cwoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgxCgkvLyBtYnJBbXRMZWZ0QmVoaW5kID0gdGhpcy5nZXRNYnJBbW91bnRzKCkuYWRkU3Rha2VyTWJyCgljYWxsc3ViIGdldE1ickFtb3VudHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIG1ickFtdExlZnRCZWhpbmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODIKCS8vIHJlYWxBbW91bnQgLT0gbWJyQW10TGVmdEJlaGluZAoJZnJhbWVfZGlnIDEgLy8gcmVhbEFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjgzCgkvLyB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJY29uY2F0CglwdXNoaW50IDE0NAoJYm94X2NyZWF0ZQoJcG9wCgoqaWY5X2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODcKCS8vIGZpbmRSZXQgPSB0aGlzLmZpbmRQb29sRm9yU3Rha2VyKHZhbGlkYXRvcklkLCBzdGFrZXIsIHJlYWxBbW91bnQpCglmcmFtZV9kaWcgMSAvLyByZWFsQW1vdW50OiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWNhbGxzdWIgZmluZFBvb2xGb3JTdGFrZXIKCWZyYW1lX2J1cnkgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY4OAoJLy8gcG9vbEtleSA9IGZpbmRSZXRbMF0KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo2ODkKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSBmaW5kUmV0WzFdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyMiAvLyAxOTIKCWdldGJpdAoJZnJhbWVfYnVyeSA0IC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NjkwCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmaW5kUmV0WzJdCglmcmFtZV9kaWcgMyAvLyBmaW5kUmV0OiAoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCAxOTMKCWdldGJpdAoJZnJhbWVfYnVyeSA1IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vICppZjEwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjY5MQoJLy8gcG9vbEtleS5wb29sSWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyBObyBwb29sIGF2YWlsYWJsZSB3aXRoIGZyZWUgc3Rha2UuICBWYWxpZGF0b3IgbmVlZHMgdG8gYWRkIGFub3RoZXIgcG9vbAoJZXJyCgoqaWYxMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk2CgkvLyB0aGlzLnVwZGF0ZVN0YWtlclBvb2xTZXQoc3Rha2VyLCBwb29sS2V5KQoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoJZnJhbWVfZGlnIDAgLy8gc3Rha2VyOiBhZGRyZXNzCgljYWxsc3ViIHVwZGF0ZVN0YWtlclBvb2xTZXQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Njk5CgkvLyB0aGlzLmNhbGxQb29sQWRkU3Rha2UoCgkvLyAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LAoJLy8gICAgICAgcG9vbEtleSwKCS8vICAgICAgIG1ickFtdExlZnRCZWhpbmQsCgkvLyAgICAgICBpc05ld1N0YWtlclRvVmFsaWRhdG9yLAoJLy8gICAgICAgaXNOZXdTdGFrZXJUb1Byb3RvY29sCgkvLyAgICAgKQoJZnJhbWVfZGlnIDUgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglmcmFtZV9kaWcgNCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglmcmFtZV9kaWcgMiAvLyBtYnJBbXRMZWZ0QmVoaW5kOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIGZpbmRSZXQ6ICgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgMjQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWNhbGxzdWIgY2FsbFBvb2xBZGRTdGFrZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MTQKCS8vIHJldHVybiBwb29sS2V5OwoJZnJhbWVfZGlnIDMgLy8gZmluZFJldDogKCh1aW50NjQsdWludDY0LHVpbnQ2NCksYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyNAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDUKCXJldHN1YgoKLy8gc2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KQoqYWJpX3JvdXRlX3NldFRva2VuUGF5b3V0UmF0aW86CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIHZhbGlkYXRvcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNldFRva2VuUGF5b3V0UmF0aW8odWludDY0KSh1aW50NjRbMjRdLHVpbnQ2NCkKCWNhbGxzdWIgc2V0VG9rZW5QYXlvdXRSYXRpbwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHNldFRva2VuUGF5b3V0UmF0aW8odmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IFBvb2xUb2tlblBheW91dFJhdGlvCi8vCi8vIHNldFRva2VuUGF5b3V0UmF0aW8gaXMgY2FsbGVkIGJ5IFN0YWtpbmcgUG9vbCAjIDEgKE9OTFkpIHRvIGFzayB0aGUgdmFsaWRhdG9yICh1cykgdG8gY2FsY3VsYXRlIHRoZSByYXRpb3MKLy8gb2Ygc3Rha2UgaW4gdGhlIHBvb2xzIGZvciBzdWJzZXF1ZW50IHRva2VuIHBheW91dHMgKGllOiAyIHBvb2xzLCAnMTAwJyBhbGdvIHRvdGFsIHN0YWtlZCwgNjAgaW4gcG9vbCAxLCBhbmQgNDAKLy8gaW4gcG9vbCAyKSAgVGhpcyBpcyBkb25lIHNvIHdlIGhhdmUgYSBzdGFibGUgc25hcHNob3Qgb2Ygc3Rha2UgLSB0YWtlbiBvbmNlIHBlciBlcG9jaCAtIG9ubHkgdHJpZ2dlcmVkIGJ5Ci8vIHBvb2wgMSBkb2luZyBwYXlvdXQuICBwb29scyBvdGhlciB0aGFuIDEgZG9pbmcgcGF5b3V0IGNhbGwgcG9vbCAxIHRvIGFzayBpdCBkbyBpdCBmaXJzdC4KLy8gSXQgd291bGQgYmUgNjAvNDAlIGluIHRoZSBwb29sUGN0T2ZXaG9sZSB2YWx1ZXMuICBUaGUgdG9rZW4gcmV3YXJkIHBheW91dHMgdGhlbiB1c2UgdGhlc2UgdmFsdWVzIGluc3RlYWQgb2YKLy8gdGhlaXIgJ2N1cnJlbnQnIHN0YWtlIHdoaWNoIGNoYW5nZXMgYXMgcGFydCBvZiB0aGUgcGF5b3V0cyB0aGVtc2VsdmVzIChhbmQgcGVvcGxlIGNvdWxkIGJlIGNoYW5naW5nIHN0YWtlCi8vIGR1cmluZyB0aGUgZXBvY2ggdXBkYXRlcyBhY3Jvc3MgcG9vbHMpCi8vCi8vIE11bHRpcGxlIHBvb2xzIHdpbGwgY2FsbCB1cyB2aWEgcG9vbCAxIChwb29sMi0+cG9vbDEtPnZhbGlkYXRvciwgZXRjLikgc28gZG9uJ3QgYXNzZXJ0IG9uIHBvb2wxIGNhbGxpbmcgbXVsdGlwbGUKLy8gdGltZXMgaW4gc2FtZSBlcG9jaC4gIEp1c3QgcmV0dXJuLgovLwovLyBAcGFyYW0gdmFsaWRhdG9ySWQgLSB2YWxpZGF0b3IgaWQgKGFuZCB0aHVzIHBvb2wpIGNhbGxpbmcgdXMuICBWZXJpZmllZCBzbyB0aGF0IHNlbmRlciBNVVNUIGJlIHBvb2wgMSBvZiB0aGlzIHZhbGlkYXRvci4KLy8gQHJldHVybnMgUG9vbFRva2VuUGF5b3V0UmF0aW8gLSB0aGUgZmluaXNoZWQgcmF0aW8gZGF0YQpzZXRUb2tlblBheW91dFJhdGlvOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gOAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzQKCS8vIHBvb2wxQXBwSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzWzBdLnBvb2xBcHBJZAoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzM1CgkvLyBhc3NlcnQocG9vbDFBcHBJRCAhPT0gMCkKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9Cglhc3NlcnQKCgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzcKCS8vIHRoaXMudHhuLnNlbmRlciAhPT0gQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5hZGRyZXNzCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBwb29sMUFwcElEOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJIT0KCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3MzgKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjExX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDQKCS8vIGN1clJvdW5kID0gZ2xvYmFscy5yb3VuZAoJZ2xvYmFsIFJvdW5kCglmcmFtZV9idXJ5IDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDUKCS8vIGxhc3RQYXlvdXRVcGRhdGUgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8udXBkYXRlZEZvclBheW91dAoJaW50YyAzMCAvLyA4OTIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gbGFzdFBheW91dFVwZGF0ZTogdWludDY0CgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ2CgkvLyBsYXN0UGF5b3V0VXBkYXRlICE9PSAwCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMTJfZW5kCgoJLy8gKmlmMTJfY29uc2VxdWVudAoJLy8gKmlmMTNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzQ4CgkvLyAoQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpIGFzIHVpbnQ2NCkgPT09IGxhc3RQYXlvdXRVcGRhdGUKCWZyYW1lX2RpZyAwIC8vIHBvb2wxQXBwSUQ6IHVpbnQ2NAoJcHVzaGJ5dGVzIDB4NmM2MTczNzQ1MDYxNzk2Zjc1NzQgLy8gImxhc3RQYXlvdXQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sMUFwcElEKS5nbG9iYWxTdGF0ZSgnbGFzdFBheW91dCcpCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJPT0KCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NDkKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYiAqc2V0VG9rZW5QYXlvdXRSYXRpbypyZXR1cm4KCippZjEzX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTEKCS8vIGVwb2NoUm91bmRMZW5ndGggPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoIGFzIHVpbnQ2NAoJcHVzaGludCAxNjkKCWludGMgMjAgLy8gNAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIGVwb2NoUm91bmRMZW5ndGg6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NTIKCS8vIHRoaXNFcG9jaEJlZ2luID0gY3VyUm91bmQgLSAoY3VyUm91bmQgJSBlcG9jaFJvdW5kTGVuZ3RoKQoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gY3VyUm91bmQ6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9idXJ5IDQgLy8gdGhpc0Vwb2NoQmVnaW46IHVpbnQ2NAoKCS8vICppZjE0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NAoJLy8gbGFzdFBheW91dFVwZGF0ZSAtIChsYXN0UGF5b3V0VXBkYXRlICUgZXBvY2hSb3VuZExlbmd0aCkgPT09IHRoaXNFcG9jaEJlZ2luCglmcmFtZV9kaWcgMiAvLyBsYXN0UGF5b3V0VXBkYXRlOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIGxhc3RQYXlvdXRVcGRhdGU6IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gZXBvY2hSb3VuZExlbmd0aDogdWludDY0CgklCgktCglmcmFtZV9kaWcgNCAvLyB0aGlzRXBvY2hCZWdpbjogdWludDY0Cgk9PQoJYnogKmlmMTRfZW5kCgoJLy8gKmlmMTRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUudG9rZW5QYXlvdXRSYXRpbzsKCWludGMgMTQgLy8gIGhlYWRPZmZzZXQKCWludGMgMTggLy8gMjAwCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CgliICpzZXRUb2tlblBheW91dFJhdGlvKnJldHVybgoKKmlmMTRfZW5kOgoKKmlmMTJfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS50b2tlblBheW91dFJhdGlvLnVwZGF0ZWRGb3JQYXlvdXQgPSBjdXJSb3VuZAoJaW50YyAzMCAvLyA4OTIKCWZyYW1lX2RpZyAxIC8vIGN1clJvdW5kOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYwCgkvLyBjdXJOdW1Qb29scyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUubnVtUG9vbHMgYXMgdWludDY0CglpbnRjIDggLy8gMjQyCglpbnRjIDEwIC8vIDIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBjdXJOdW1Qb29sczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MQoJLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkCglpbnRjIDEyIC8vIDI1MgoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyB0b3RhbFN0YWtlRm9yVmFsaWRhdG9yOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGN1ck51bVBvb2xzOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoKKmZvcl8yOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSA8IGN1ck51bVBvb2xzCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyA1IC8vIGN1ck51bVBvb2xzOiB1aW50NjQKCTwKCWJ6ICpmb3JfMl9lbmQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzY3CgkvLyBvdXJQb29sUGN0T2ZXaG9sZSA9IHdpZGVSYXRpbygKCS8vICAgICAgICAgW3RoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbaV0udG90YWxBbGdvU3Rha2VkLCAxXzAwMF8wMDBdLAoJLy8gICAgICAgICBbdG90YWxTdGFrZUZvclZhbGlkYXRvcl0KCS8vICAgICAgICkKCWludGMgNiAvLyAgaGVhZE9mZnNldAoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCXB1c2hpbnQgMV8wMDBfMDAwCgltdWx3CglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDYgLy8gdG90YWxTdGFrZUZvclZhbGlkYXRvcjogdWludDY0CglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoJZnJhbWVfYnVyeSA4IC8vIG91clBvb2xQY3RPZldob2xlOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6NzcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW8ucG9vbFBjdE9mV2hvbGVbaV0gPSBvdXJQb29sUGN0T2ZXaG9sZQoJaW50YyAxNCAvLyA3MDAKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJZnJhbWVfZGlnIDggLy8gb3VyUG9vbFBjdE9mV2hvbGU6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc2MgoJLy8gaSArPSAxCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo3NzMKCS8vIHJldHVybiB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnRva2VuUGF5b3V0UmF0aW87CglpbnRjIDE0IC8vICBoZWFkT2Zmc2V0CglpbnRjIDE4IC8vIDIwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoKKnNldFRva2VuUGF5b3V0UmF0aW8qcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gOAoJcmV0c3ViCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9zdGFrZVVwZGF0ZWRWaWFSZXdhcmRzOgoJLy8gc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA1CglidG9pCgoJLy8gdmFsaWRhdG9yQ29tbWlzc2lvbjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyA0CglidG9pCgoJLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gYWxnb1RvQWRkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBwb29sS2V5OiAodWludDY0LHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDI0Cgk9PQoKCS8vIGFyZ3VtZW50IDQgKHBvb2xLZXkpIGZvciBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIG11c3QgYmUgYSAodWludDY0LHVpbnQ2NCx1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIHN0YWtlVXBkYXRlZFZpYVJld2FyZHMoKHVpbnQ2NCx1aW50NjQsdWludDY0KSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIGFsZ29Ub0FkZDogdWludDY0LCByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkOiB1aW50NjQsIHZhbGlkYXRvckNvbW1pc3Npb246IHVpbnQ2NCwgc2F0dXJhdGVkQnVyblRvRmVlU2luazogdWludDY0KTogdm9pZAovLwovLyBzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzIGlzIGNhbGxlZCBieSBTdGFraW5nIHBvb2xzIHRvIGluZm9ybSB0aGUgdmFsaWRhdG9yICh1cykgdGhhdCBhIHBhcnRpY3VsYXIgYW1vdW50IG9mIHRvdGFsCi8vIHN0YWtlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBzcGVjaWZpZWQgcG9vbC4gIFRoaXMgaXMgdXNlZCB0byB1cGRhdGUgdGhlIHN0YXRzIHdlIGhhdmUgaW4gb3VyIFBvb2xJbmZvIHN0b3JhZ2UuCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSAtIFZhbGlkYXRvclBvb2xLZXkgdHlwZQovLyBAcGFyYW0ge3VpbnQ2NH0gYWxnb1RvQWRkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRUb2tlbkFtb3VudFJlc2VydmVkIC0gYW1vdW50IHRoaXMgdmFsaWRhdG9yJ3MgdG90YWwgc3Rha2UgaW5jcmVhc2VkIHZpYSByZXdhcmRzICh0aGF0IHNob3VsZCBiZQovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsaWRhdG9yQ29tbWlzc2lvbiAtIHRoZSBjb21taXNzaW9uIGFtb3VudCB0aGUgdmFsaWRhdG9yIHdhcyBwYWlkLCBpZiBhbnkKLy8gQHBhcmFtIHt1aW50NjR9IHNhdHVyYXRlZEJ1cm5Ub0ZlZVNpbmsgLSBpZiB0aGUgcG9vbCB3YXMgaW4gc2F0dXJhdGVkIHN0YXRlLCB0aGUgYW1vdW50IHNlbnQgYmFjayB0byB0aGUgZmVlIHNpbmsuCi8vIHNlZW4gYXMgJ2FjY291bnRlZCBmb3IvcGVuZGluZyBzcGVudCcpCnN0YWtlVXBkYXRlZFZpYVJld2FyZHM6Cglwcm90byA1IDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk0CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgKz0gYWxnb1RvQWRkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhbGdvVG9BZGQ6IHVpbnQ2NAoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6Nzk4CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUudG90YWxBbGdvU3Rha2VkICs9IGFsZ29Ub0FkZAoJaW50YyAxMiAvLyAyNTIKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjc5OQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sgKz0gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZAoJaW50YyAxMyAvLyAyNjAKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTMgLy8gcmV3YXJkVG9rZW5BbW91bnRSZXNlcnZlZDogdWludDY0CgkrCglpdG9iCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDEKCS8vIHRoaXMudG90YWxBbGdvU3Rha2VkLnZhbHVlICs9IGFsZ29Ub0FkZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYWxnb1RvQWRkOiB1aW50NjQKCSsKCWJ5dGVjIDQgLy8gICJzdGFrZWQiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MDQKCS8vIHRoaXMucmV2ZXJpZnlORkRPd25lcnNoaXAocG9vbEtleS5pZCkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJY2FsbHN1YiByZXZlcmlmeU5GRE93bmVyc2hpcAoJcmV0c3ViCgovLyBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCiphYmlfcm91dGVfc3Rha2VSZW1vdmVkOgoJLy8gc3Rha2VyUmVtb3ZlZDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNQoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHN0YWtlclJlbW92ZWQpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAwIC8vIDAKCWdldGJpdAoKCS8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNAoJYnRvaQoKCS8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAzIChzdGFrZXIpIGZvciBzdGFrZVJlbW92ZWQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHBvb2xLZXk6ICh1aW50NjQsdWludDY0LHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDMgLy8gMjQKCT09CgoJLy8gYXJndW1lbnQgNCAocG9vbEtleSkgZm9yIHN0YWtlUmVtb3ZlZCBtdXN0IGJlIGEgKHVpbnQ2NCx1aW50NjQsdWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGFrZVJlbW92ZWQoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYm9vbCl2b2lkCgljYWxsc3ViIHN0YWtlUmVtb3ZlZAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3Rha2VSZW1vdmVkKHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIHN0YWtlcjogQWRkcmVzcywgYW1vdW50UmVtb3ZlZDogdWludDY0LCByZXdhcmRSZW1vdmVkOiB1aW50NjQsIHN0YWtlclJlbW92ZWQ6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIHN0YWtlUmVtb3ZlZCBpcyBjYWxsZWQgYnkgU3Rha2luZyBwb29scyB0byBpbmZvcm0gdGhlIHZhbGlkYXRvciAodXMpIHRoYXQgYSBwYXJ0aWN1bGFyIGFtb3VudCBvZiB0b3RhbCBzdGFrZSBoYXMgYmVlbiByZW1vdmVkCi8vIGZyb20gdGhlIHNwZWNpZmllZCBwb29sLiAgVGhpcyBpcyB1c2VkIHRvIHVwZGF0ZSB0aGUgc3RhdHMgd2UgaGF2ZSBpbiBvdXIgUG9vbEluZm8gc3RvcmFnZS4KLy8gSWYgYW55IGFtb3VudCBvZiByZXdhcmRSZW1vdmVkIGlzIHNwZWNpZmllZCwgdGhlbiB0aGF0IGFtb3VudCBvZiByZXdhcmQgaXMgc2VudCB0byB0aGUgdXNlCi8vIFRoZSBjYWxsaW5nIEFwcCBpZCBpcyB2YWxpZGF0ZWQgYWdhaW5zdCBvdXIgcG9vbCBsaXN0IGFzIHdlbGwuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9yUG9vbEtleX0gcG9vbEtleSBjYWxsaW5nIHVzIGZyb20gd2hpY2ggc3Rha2Ugd2FzIHJlbW92ZWQKLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIKLy8gQHBhcmFtIHt1aW50NjR9IGFtb3VudFJlbW92ZWQgLSBhbGdvIGFtb3VudCByZW1vdmVkCi8vIEBwYXJhbSB7dWludDY0fSByZXdhcmRSZW1vdmVkIC0gaWYgYXBwbGljYWJsZSwgYW1vdW50IG9mIHRva2VuIHJld2FyZCByZW1vdmVkIChieSBwb29sIDEgY2FsbGVyKSBvciBUTyByZW1vdmUgYW5kIHBheSBvdXQgKHZpYSBwb29sIDEgZnJvbSBkaWZmZXJlbnQgcG9vbCBjYWxsZXIpCi8vIEBwYXJhbSB7Ym9vbGVhbn0gc3Rha2VyUmVtb3ZlZApzdGFrZVJlbW92ZWQ6Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gKmlmMTVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM2CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDMwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJaW50YyAyOCAvLyAzMDAKCTwKCWJ6ICppZjE1X2VuZAoKCS8vICppZjE1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4MzcKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyA4IC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDI2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoqaWYxNV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODM5CgkvLyB0aGlzLnZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CgljYWxsc3ViIHZlcmlmeVBvb2xLZXlDYWxsZXIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODQzCgkvLyBhc3NlcnQoYW1vdW50UmVtb3ZlZCA+IDAgfHwgcmV3YXJkUmVtb3ZlZCA+IDAsICdzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQnKQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCWR1cAoJYm56ICpza2lwX29yMgoJZnJhbWVfZGlnIC00IC8vIHJld2FyZFJlbW92ZWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCXx8Cgoqc2tpcF9vcjI6CgkvLyBzaG91bGQgb25seSBiZSBjYWxsZWQgaWYgYWxnbyBvciByZXdhcmQgd2FzIHJlbW92ZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NDYKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0NwoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnN0YXRlLnRvdGFsQWxnb1N0YWtlZCAtPSBhbW91bnRSZW1vdmVkCglpbnRjIDEyIC8vIDI1MgoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMyAvLyBhbW91bnRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg0OAoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgLT0gYW1vdW50UmVtb3ZlZAoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTMgLy8gYW1vdW50UmVtb3ZlZDogdWludDY0CgktCglieXRlYyA0IC8vICAic3Rha2VkIgoJc3dhcAoJYXBwX2dsb2JhbF9wdXQKCgkvLyAqaWYxNl9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTAKCS8vIHJld2FyZFJlbW92ZWQgPiAwCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0CglpbnRjIDAgLy8gMAoJPgoJYnogKmlmMTZfZWxzZQoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NTEKCS8vIHJld2FyZFRva2VuSUQgPSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuY29uZmlnLnJld2FyZFRva2VuSWQKCWludGMgMzcgLy8gMTUzCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODUyCgkvLyBhc3NlcnQocmV3YXJkVG9rZW5JRCAhPT0gMCwgInJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuISIpCglmcmFtZV9kaWcgMCAvLyByZXdhcmRUb2tlbklEOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHJld2FyZFJlbW92ZWQgY2FuJ3QgYmUgc2V0IGlmIHZhbGlkYXRvciBkb2Vzbid0IGhhdmUgcmV3YXJkIHRva2VuIQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg1MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayA+PSByZXdhcmRSZW1vdmVkLAoJLy8gICAgICAgICAncmV3YXJkIGJlaW5nIHJlbW92ZWQgbXVzdCBiZSBjb3ZlcmVkIGJ5IGhvbGQgYmFjayBhbW91bnQnCgkvLyAgICAgICApCglpbnRjIDEzIC8vIDI2MAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9kaWcgLTQgLy8gcmV3YXJkUmVtb3ZlZDogdWludDY0Cgk+PQoKCS8vIHJld2FyZCBiZWluZyByZW1vdmVkIG11c3QgYmUgY292ZXJlZCBieSBob2xkIGJhY2sgYW1vdW50Cglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODU5CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUuc3RhdGUucmV3YXJkVG9rZW5IZWxkQmFjayAtPSByZXdhcmRSZW1vdmVkCglpbnRjIDEzIC8vIDI2MAoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCS0KCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBwb29sS2V5LnBvb2xJZCAhPT0gMQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDEgLy8gMQoJIT0KCWJ6ICppZjE3X2VuZAoKCS8vICppZjE3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4NjUKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUucGF5VG9rZW5SZXdhcmQ+KHsKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1swXS5wb29sQXBwSWQpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFtzdGFrZXIsIHJld2FyZFRva2VuSUQsIHJld2FyZFJlbW92ZWRdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNCAvLyAgbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjg2NgoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKQoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODY3CgkvLyBtZXRob2RBcmdzOiBbc3Rha2VyLCByZXdhcmRUb2tlbklELCByZXdhcmRSZW1vdmVkXQoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSUQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtNCAvLyByZXdhcmRSZW1vdmVkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTdfZW5kOgoJYiAqaWYxNl9lbmQKCippZjE2X2Vsc2U6CgoqaWYxNl9lbmQ6CgkvLyAqaWYxOF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo4OTIKCS8vIHN0YWtlclJlbW92ZWQKCWZyYW1lX2RpZyAtNSAvLyBzdGFrZXJSZW1vdmVkOiBib29sZWFuCglieiAqaWYxOF9lbmQKCgkvLyAqaWYxOF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODk0CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbFN0YWtlcnMgLT0gMQoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAyIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpdG9iCglleHRyYWN0IDYgMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6ODk2CgkvLyByZW1vdmVSZXQgPSB0aGlzLnJlbW92ZUZyb21TdGFrZXJQb29sU2V0KHN0YWtlciwgPFZhbGlkYXRvclBvb2xLZXk+ewoJLy8gICAgICAgICBpZDogcG9vbEtleS5pZCwKCS8vICAgICAgICAgcG9vbElkOiBwb29sS2V5LnBvb2xJZCwKCS8vICAgICAgICAgcG9vbEFwcElkOiBwb29sS2V5LnBvb2xBcHBJZCwKCS8vICAgICAgIH0pCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMiAvLyBzdGFrZXI6IEFkZHJlc3MKCWNhbGxzdWIgcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQKCWZyYW1lX2J1cnkgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwMQoJLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yID0gcmVtb3ZlUmV0WzBdCglmcmFtZV9kaWcgMSAvLyByZW1vdmVSZXQ6IChib29sLGJvb2wpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDAKCWdldGJpdAoJZnJhbWVfYnVyeSAyIC8vIHN0YWtlck91dE9mVGhpc1ZhbGlkYXRvcjogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDIKCS8vIHN0YWtlck91dE9mUHJvdG9jb2wgPSByZW1vdmVSZXRbMV0KCWZyYW1lX2RpZyAxIC8vIHJlbW92ZVJldDogKGJvb2wsYm9vbCkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMQoJZ2V0Yml0CglmcmFtZV9idXJ5IDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwNAoJLy8gc3Rha2VyT3V0T2ZUaGlzVmFsaWRhdG9yCglmcmFtZV9kaWcgMiAvLyBzdGFrZXJPdXRPZlRoaXNWYWxpZGF0b3I6IGJvb2wKCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MDUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbFN0YWtlcnMgLT0gMQoJaW50YyAyMyAvLyAyNDQKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJLQoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjE5X2VuZDoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gc3Rha2VyT3V0T2ZQcm90b2NvbAoJZnJhbWVfZGlnIDMgLy8gc3Rha2VyT3V0T2ZQcm90b2NvbDogYm9vbAoJYnogKmlmMjBfZW5kCgoJLy8gKmlmMjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gdGhpcy5udW1TdGFrZXJzLnZhbHVlIC09IDEKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxCgktCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoqaWYyMF9lbmQ6CgoqaWYxOF9lbmQ6CglyZXRzdWIKCi8vIGZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpCiphYmlfcm91dGVfZmluZFBvb2xGb3JTdGFrZXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJYnRvaQoKCS8vIHN0YWtlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChzdGFrZXIpIGZvciBmaW5kUG9vbEZvclN0YWtlciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gdmFsaWRhdG9ySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZmluZFBvb2xGb3JTdGFrZXIodWludDY0LGFkZHJlc3MsdWludDY0KSgodWludDY0LHVpbnQ2NCx1aW50NjQpLGJvb2wsYm9vbCkKCWNhbGxzdWIgZmluZFBvb2xGb3JTdGFrZXIKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBmaW5kUG9vbEZvclN0YWtlcih2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBzdGFrZXI6IEFkZHJlc3MsIGFtb3VudFRvU3Rha2U6IHVpbnQ2NCk6IFtWYWxpZGF0b3JQb29sS2V5LCBib29sZWFuLCBib29sZWFuXQovLwovLyBGaW5kcyB0aGUgcG9vbCBmb3IgYSBzdGFrZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHZhbGlkYXRvciBpZCwgc3Rha2VyIGFkZHJlc3MsIGFuZCBhbW91bnQgdG8gc3Rha2UuCi8vIEZpcnN0IGNoZWNrcyB0aGUgc3Rha2VycyAnYWxyZWFkeSBzdGFrZWQgbGlzdCcgZm9yIHRoZSB2YWxpZGF0b3IgcHJlZmVycmluZyB0aG9zZSAoYWRkaW5nIGlmIHBvc3NpYmxlKSB0aGVuIGFkZHMKLy8gdG8gbmV3IHBvb2wgaWYgbmVjZXNzYXJ5LgovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHtBZGRyZXNzfSBzdGFrZXIgLSBUaGUgYWRkcmVzcyBvZiB0aGUgc3Rha2VyLgovLyBAcGFyYW0ge3VpbnQ2NH0gYW1vdW50VG9TdGFrZSAtIFRoZSBhbW91bnQgdG8gc3Rha2UuCi8vIEByZXR1cm5zIHtWYWxpZGF0b3JQb29sS2V5LCBib29sZWFuLCBib29sZWFufSAtIFRoZSBwb29sIGZvciB0aGUgc3Rha2VyLCB0cnVlL2ZhbHNlIG9uIHdoZXRoZXIgdGhlIHN0YWtlciBpcyAnbmV3JwovLyB0byB0aGlzIFZBTElEQVRPUiwgYW5kIHRydWUvZmFsc2UgaWYgc3Rha2VyIGlzIG5ldyB0byB0aGUgcHJvdG9jb2wuCmZpbmRQb29sRm9yU3Rha2VyOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gNwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzAKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3I6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTMxCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSB0cnVlCglpbnRjIDEgLy8gMQoJZnJhbWVfYnVyeSAxIC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5MzkKCS8vIG1heFBlclBvb2wgPSB0aGlzLmdldEN1ck1heFN0YWtlUGVyUG9vbCh2YWxpZGF0b3JJZCkKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCgljYWxsc3ViIGdldEN1ck1heFN0YWtlUGVyUG9vbAoJZnJhbWVfYnVyeSAyIC8vIG1heFBlclBvb2w6IHVpbnQ2NAoKCS8vICppZjIxX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0MgoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0yIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfbGVuCglzd2FwCglwb3AKCWJ6ICppZjIxX2VuZAoKCS8vICppZjIxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDMKCS8vIHBvb2xTZXQgPSBjbG9uZSh0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZSkKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTIgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NAoJLy8gYXNzZXJ0KHZhbGlkYXRvcklkICE9PSAwKQoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBwb29sU2V0Lmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfMzoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NDUKCS8vIGkgPCBwb29sU2V0Lmxlbmd0aAoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDcgLy8gNgoJPAoJYnogKmZvcl8zX2VuZAoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk0NgoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCAzMDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCWludGMgMjggLy8gMzAwCgk8CglieiAqaWYyMl9lbmQKCgkvLyAqaWYyMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgOCAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyAyNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMjJfZW5kOgoJLy8gKmlmMjNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ5CgkvLyBwb29sU2V0W2ldLmlkID09PSAwCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjIzX2VuZAoKCS8vICppZjIzX2NvbnNlcXVlbnQKCWIgKmZvcl8zX2NvbnRpbnVlCgoqaWYyM19lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTUyCgkvLyBpc05ld1N0YWtlclRvUHJvdG9jb2wgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCgkvLyAqaWYyNF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTMKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHZhbGlkYXRvcklkCglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJPT0KCWJ6ICppZjI0X2VuZAoKCS8vICppZjI0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NTUKCS8vIGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCgoJLy8gKmlmMjVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTU3CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnBvb2xzW3Bvb2xTZXRbaV0ucG9vbElkIC0gMV0udG90YWxBbGdvU3Rha2VkICsgYW1vdW50VG9TdGFrZSA8PQoJLy8gICAgICAgICAgICAgbWF4UGVyUG9vbAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgMyAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDExIC8vICBoZWFkT2Zmc2V0CgkrCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJKwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8PQoJYnogKmlmMjVfZW5kCgoJLy8gKmlmMjVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk2MAoJLy8gcmV0dXJuIFtwb29sU2V0W2ldLCBpc05ld1N0YWtlclRvVmFsaWRhdG9yLCBpc05ld1N0YWtlclRvUHJvdG9jb2xdOwoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAzIC8vIDI0CglleHRyYWN0MwoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoJYiAqZmluZFBvb2xGb3JTdGFrZXIqcmV0dXJuCgoqaWYyNV9lbmQ6CgoqaWYyNF9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTQ1CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoKKmlmMjFfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk2NwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgYW1vdW50VG9TdGFrZSA+PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5taW5FbnRyeVN0YWtlLAoJLy8gICAgICAgJ211c3Qgc3Rha2UgYXQgbGVhc3QgdGhlIG1pbmltdW0gZm9yIHRoaXMgcG9vbCcKCS8vICAgICApCglmcmFtZV9kaWcgLTMgLy8gYW1vdW50VG9TdGFrZTogdWludDY0CglpbnRjIDM4IC8vIDIwOQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCT49CgoJLy8gbXVzdCBzdGFrZSBhdCBsZWFzdCB0aGUgbWluaW11bSBmb3IgdGhpcyBwb29sCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTczCgkvLyBwb29scyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHMpCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjkgLy8gNDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDUgLy8gcG9vbHM6ICh1aW50NjQsdWludDE2LHVpbnQ2NClbMjRdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NAoJLy8gY3VyTnVtUG9vbHMgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLm51bVBvb2xzIGFzIHVpbnQ2NAoJaW50YyA4IC8vIDI0MgoJaW50YyAxMCAvLyAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzUKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgY3VyTnVtUG9vbHM7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDcgLy8gaTogdWludDY0CgoqZm9yXzQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTc1CgkvLyBpIDwgY3VyTnVtUG9vbHMKCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDYgLy8gY3VyTnVtUG9vbHM6IHVpbnQ2NAoJPAoJYnogKmZvcl80X2VuZAoKCS8vICppZjI2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NgoJLy8gcG9vbHNbaV0udG90YWxBbGdvU3Rha2VkICsgYW1vdW50VG9TdGFrZSA8PSBtYXhQZXJQb29sCglmcmFtZV9kaWcgNSAvLyBwb29sczogKHVpbnQ2NCx1aW50MTYsdWludDY0KVsyNF0KCWZyYW1lX2RpZyA3IC8vIGk6IHVpbnQ2NAoJaW50YyA1IC8vIDE4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMTEgLy8gIGhlYWRPZmZzZXQKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0zIC8vIGFtb3VudFRvU3Rha2U6IHVpbnQ2NAoJKwoJZnJhbWVfZGlnIDIgLy8gbWF4UGVyUG9vbDogdWludDY0Cgk8PQoJYnogKmlmMjZfZW5kCgoJLy8gKmlmMjZfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjk3NwoJLy8gcmV0dXJuIFsKCS8vICAgICAgICAgICB7IGlkOiB2YWxpZGF0b3JJZCwgcG9vbElkOiBpICsgMSwgcG9vbEFwcElkOiBwb29sc1tpXS5wb29sQXBwSWQgfSwKCS8vICAgICAgICAgICBpc05ld1N0YWtlclRvVmFsaWRhdG9yLAoJLy8gICAgICAgICAgIGlzTmV3U3Rha2VyVG9Qcm90b2NvbCwKCS8vICAgICAgICAgXTsKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCglmcmFtZV9kaWcgNyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyA1IC8vIHBvb2xzOiAodWludDY0LHVpbnQxNix1aW50NjQpWzI0XQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyA1IC8vIDB4MDAKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMCAvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yOiBib29sCglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMSAvLyBpc05ld1N0YWtlclRvUHJvdG9jb2w6IGJvb2wKCXNldGJpdAoJY29uY2F0CgliICpmaW5kUG9vbEZvclN0YWtlcipyZXR1cm4KCippZjI2X2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czo5NzUKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDcgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSA3IC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6OTg1CgkvLyByZXR1cm4gW3sgaWQ6IHZhbGlkYXRvcklkLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9LCBpc05ld1N0YWtlclRvVmFsaWRhdG9yLCBpc05ld1N0YWtlclRvUHJvdG9jb2xdOwoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDAgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbAoJc2V0Yml0CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDEgLy8gaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sCglzZXRiaXQKCWNvbmNhdAoKKmZpbmRQb29sRm9yU3Rha2VyKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDcKCXJldHN1YgoKLy8gbW92ZVBvb2xUb05vZGUodWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlOgoJLy8gbm9kZU51bTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgoJLy8gcG9vbEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG1vdmVQb29sVG9Ob2RlCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtb3ZlUG9vbFRvTm9kZSh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCBwb29sQXBwSWQ6IHVpbnQ2NCwgbm9kZU51bTogdWludDY0KTogdm9pZAovLwovLyBGaW5kIHRoZSBzcGVjaWZpZWQgcG9vbCAoaW4gYW55IG5vZGUgbnVtYmVyKSBhbmQgbW92ZSBpdCB0byB0aGUgc3BlY2lmaWVkIG5vZGUuCi8vIFRoZSBwb29sIGFjY291bnQgaXMgZm9yY2VkIG9mZmxpbmUgaWYgbW92ZWQgc28gcHJpb3Igbm9kZSB3aWxsIHN0aWxsIHJ1biBmb3IgMzIwIHJvdW5kcyBidXQKLy8gbmV3IGtleSBnb2VzIG9ubGluZSBvbiBuZXcgbm9kZSBzb29uIGFmdGVyICgzMjAgcm91bmRzIGFmdGVyIGl0IGdvZXMgb25saW5lKQovLyBOby1vcCBpZiBzdWNjZXNzLCBhc3NlcnRzIGlmIG5vdCBmb3VuZCBvciBjYW4ndCBtb3ZlICAobm8gc3BhY2UgaW4gdGFyZ2V0KQovLyBbIE9OTFkgT1dORVIgT1IgTUFOQUdFUiBDQU4gQ0hBTkdFIF0KLy8KLy8gQHBhcmFtIHtWYWxpZGF0b3JJZFR5cGV9IHZhbGlkYXRvcklkIC0gVGhlIGlkIG9mIHRoZSB2YWxpZGF0b3IuCi8vIEBwYXJhbSB7dWludDY0fSBwb29sQXBwSWQKLy8gQHBhcmFtIHt1aW50NjR9IG5vZGVOdW0KbW92ZVBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMDEKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIgfHwKCS8vICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZy5tYW5hZ2VyLAoJLy8gICAgICAgJ2NhbiBvbmx5IGJlIGNhbGxlZCBieSBvd25lciBvciBtYW5hZ2VyIG9mIHZhbGlkYXRvcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoJZHVwCglibnogKnNraXBfb3IzCgl0eG4gU2VuZGVyCglpbnRjIDE3IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCT09Cgl8fAoKKnNraXBfb3IzOgoJLy8gY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IG93bmVyIG9yIG1hbmFnZXIgb2YgdmFsaWRhdG9yCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAwNwoJLy8gbm9kZVBvb2xBc3NpZ25tZW50cyA9IGNsb25lKHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUubm9kZVBvb2xBc3NpZ25tZW50cykKCWludGMgMTYgLy8gIGhlYWRPZmZzZXQKCWludGMgMjIgLy8gMTkyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgb3V0IG9mIGFsbG93YWJsZSByYW5nZScpCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAyIC8vIDgKCTw9CgkmJgoKKnNraXBfYW5kMToKCS8vIG5vZGUgbnVtYmVyIG91dCBvZiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBmb3IgKGxldCBzcmNOb2RlSWR4ID0gMDsgc3JjTm9kZUlkeCA8IE1BWF9OT0RFUzsgc3JjTm9kZUlkeCArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCipmb3JfNToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEwCgkvLyBzcmNOb2RlSWR4IDwgTUFYX05PREVTCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMiAvLyA4Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgTUFYX1BPT0xTX1BFUl9OT0RFOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl82OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgPCBNQVhfUE9PTFNfUEVSX05PREUKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA5IC8vIDMKCTwKCWJ6ICpmb3JfNl9lbmQKCgkvLyAqaWYyN19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDEyCgkvLyBub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW3NyY05vZGVJZHhdLnBvb2xBcHBJZHNbaV0gPT09IHBvb2xBcHBJZAoJZnJhbWVfZGlnIDAgLy8gbm9kZVBvb2xBc3NpZ25tZW50czogKCh1aW50NjRbM10pWzhdKQoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAxIC8vIHNyY05vZGVJZHg6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0Cgk9PQoJYnogKmlmMjdfZW5kCgoJLy8gKmlmMjdfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTMKCS8vIGFzc2VydChub2RlTnVtIC0gMSAhPT0gc3JjTm9kZUlkeCwgImNhbid0IG1vdmUgdG8gc2FtZSBub2RlIikKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgktCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCSE9CgoJLy8gY2FuJ3QgbW92ZSB0byBzYW1lIG5vZGUKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDE1CgkvLyB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbc3JjTm9kZUlkeF0ucG9vbEFwcElkc1tpXSA9IDAKCWludGMgMTYgLy8gOTAwCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglieXRlYyAxMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxOAoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIFN0YWtpbmdQb29sLnByb3RvdHlwZS5nb09mZmxpbmU+KHsKCS8vICAgICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKSwKCS8vICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHg1MWVmM2IyMSAvLyBtZXRob2QgImdvT2ZmbGluZSgpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTkKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKQoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMjMKCS8vIHRoaXMuYWRkUG9vbFRvTm9kZSh2YWxpZGF0b3JJZCwgcG9vbEFwcElkLCBub2RlTnVtKQoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIHBvb2xBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJY2FsbHN1YiBhZGRQb29sVG9Ob2RlCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMjQKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmMjdfZW5kOgoKKmZvcl82X2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzYKCipmb3JfNl9lbmQ6CgoqZm9yXzVfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTAxMAoJLy8gc3JjTm9kZUlkeCArPSAxCglmcmFtZV9kaWcgMSAvLyBzcmNOb2RlSWR4OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gc3JjTm9kZUlkeDogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCS8vIGNvdWxkbid0IGZpbmQgcG9vbCBhcHAgaWQgaW4gbm9kZXMgdG8gbW92ZQoJZXJyCglyZXRzdWIKCi8vIGVtcHR5VG9rZW5SZXdhcmRzKHVpbnQ2NCxhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2VtcHR5VG9rZW5SZXdhcmRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyByZWNlaXZlcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChyZWNlaXZlcikgZm9yIGVtcHR5VG9rZW5SZXdhcmRzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyB2YWxpZGF0b3JJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQKCWNhbGxzdWIgZW1wdHlUb2tlblJld2FyZHMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBlbXB0eVRva2VuUmV3YXJkcyh2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlLCByZWNlaXZlcjogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBTZW5kcyB0aGUgcmV3YXJkIHRva2VucyBoZWxkIGluIHBvb2wgMSB0byBzcGVjaWZpZWQgcmVjZWl2ZXIuCi8vIFRoaXMgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSB0aGUgb3duZXIgd2hlbiB0aGV5IHdhbnQgdG8gZ2V0IHJld2FyZCB0b2tlbnMgJ2JhY2snIHdoaWNoIHRoZXkgc2VudCB0bwovLyB0aGUgZmlyc3QgcG9vbCAobGlrZWx5IGJlY2F1c2UgdmFsaWRhdG9yIGlzIHN1bnNldHRpbmcuICBBbnkgdG9rZW5zIGN1cnJlbnRseSAncmVzZXJ2ZWQnIGZvciBzdGFrZXJzIHRvIGNsYWltIHdpbGwKLy8gTk9UIGJlIHNlbnQgYXMgdGhleSBtdXN0IGJlIGhlbGQgYmFjayBmb3Igc3Rha2VycyB0byBsYXRlciBjbGFpbS4KLy8gWyBPTkxZIE9XTkVSIENBTiBDQUxMXQovLwovLyBAcGFyYW0ge1ZhbGlkYXRvcklkVHlwZX0gdmFsaWRhdG9ySWQgLSBUaGUgaWQgb2YgdGhlIHZhbGlkYXRvci4KLy8gQHBhcmFtIHtBZGRyZXNzfSByZWNlaXZlciAtIHRoZSBhY2NvdW50IHRvIHNlbmQgdGhlIHRva2VucyB0byAobXVzdCBhbHJlYWR5IGJlIG9wdGVkLWluIHRvIHRoZSByZXdhcmQgdG9rZW4pCi8vIEByZXR1cm5zIHt1aW50NjR9IHRoZSBhbW91bnQgb2YgcmV3YXJkIHRva2VuIHNlbnQKZW1wdHlUb2tlblJld2FyZHM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDMKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcub3duZXIsCgkvLyAgICAgICAnY2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHZhbGlkYXRvciBvd25lcicKCS8vICAgICApCgl0eG4gU2VuZGVyCglpbnRjIDIgLy8gOAoJaW50YyA0IC8vIDMyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0Cgk9PQoKCS8vIGNhbiBvbmx5IGJlIGNhbGxlZCBieSB2YWxpZGF0b3Igb3duZXIKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ3CgkvLyByZXdhcmRUb2tlbklkID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcucmV3YXJkVG9rZW5JZAoJaW50YyAzNyAvLyAxNTMKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNDgKCS8vIHJld2FyZFRva2VuSGVsZEJhY2sgPSB0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLnN0YXRlLnJld2FyZFRva2VuSGVsZEJhY2sKCWludGMgMTMgLy8gMjYwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDQ5CgkvLyBhc3NlcnQocmV3YXJkVG9rZW5JZCAhPT0gMCwgInRoaXMgdmFsaWRhdG9yIGRvZXNuJ3QgaGF2ZSBhIHJld2FyZCB0b2tlbiBkZWZpbmVkIikKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CgoJLy8gdGhpcyB2YWxpZGF0b3IgZG9lc24ndCBoYXZlIGEgcmV3YXJkIHRva2VuIGRlZmluZWQKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUwCgkvLyBwb29sT25lQXBwSWQgPSBBcHBJRC5mcm9tVWludDY0KHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUucG9vbHNbMF0ucG9vbEFwcElkKQoJaW50YyA2IC8vIDI2OAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBwb29sT25lQXBwSWQ6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDUyCgkvLyB0b2tlblJld2FyZEJhbCA9IHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpIC0gcmV3YXJkVG9rZW5IZWxkQmFjawoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIDEgLy8gcmV3YXJkVG9rZW5IZWxkQmFjazogdWludDY0CgktCglmcmFtZV9idXJ5IDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgU3Rha2luZ1Bvb2wucHJvdG90eXBlLnBheVRva2VuUmV3YXJkPih7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBwb29sT25lQXBwSWQsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglieXRlYyAxNCAvLyAgbWV0aG9kICJwYXlUb2tlblJld2FyZChhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTYKCS8vIGFwcGxpY2F0aW9uSUQ6IHBvb2xPbmVBcHBJZAoJZnJhbWVfZGlnIDIgLy8gcG9vbE9uZUFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMDU3CgkvLyBtZXRob2RBcmdzOiBbcmVjZWl2ZXIsIHJld2FyZFRva2VuSWQsIHRva2VuUmV3YXJkQmFsXQoJZnJhbWVfZGlnIC0yIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDAgLy8gcmV3YXJkVG9rZW5JZDogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDMgLy8gdG9rZW5SZXdhcmRCYWw6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNTkKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xPbmVBcHBJZC5hZGRyZXNzLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQocmV3YXJkVG9rZW5JZCkpID09PSByZXdhcmRUb2tlbkhlbGRCYWNrLAoJLy8gICAgICAgJ2JhbGFuY2Ugb2YgcmVtYWluaW5nIHJld2FyZCB0b2tlbnMgc2hvdWxkIG1hdGNoIHRoZSBoZWxkIGJhY2sgYW1vdW50JwoJLy8gICAgICkKCWZyYW1lX2RpZyAyIC8vIHBvb2xPbmVBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCWZyYW1lX2RpZyAwIC8vIHJld2FyZFRva2VuSWQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAxIC8vIHJld2FyZFRva2VuSGVsZEJhY2s6IHVpbnQ2NAoJPT0KCgkvLyBiYWxhbmNlIG9mIHJlbWFpbmluZyByZXdhcmQgdG9rZW5zIHNob3VsZCBtYXRjaCB0aGUgaGVsZCBiYWNrIGFtb3VudAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEwNjMKCS8vIHJldHVybiB0b2tlblJld2FyZEJhbDsKCWZyYW1lX2RpZyAzIC8vIHRva2VuUmV3YXJkQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIHZlcmlmeVBvb2xLZXlDYWxsZXIocG9vbEtleTogVmFsaWRhdG9yUG9vbEtleSk6IHZvaWQKLy8KLy8gTG9ncyB0aGUgYWRkaXRpb24gb2YgYSBuZXcgdmFsaWRhdG9yIHRvIHRoZSBzeXN0ZW0sIGl0cyBpbml0aWFsIG93bmVyIGFuZCBtYW5hZ2VyCi8vCi8vCi8vIHZlcmlmeVBvb2xLZXlDYWxsZXIgdmVyaWZpZXMgdGhlIHBhc3NlZCBpbiBrZXkgKGZyb20gYSBzdGFraW5nIHBvb2wgY2FsbGluZyB1cyB0byB1cGRhdGUgbWV0cmljcykgaXMgdmFsaWQKLy8gYW5kIG1hdGNoZXMgdGhlIGluZm9ybWF0aW9uIHdlIGhhdmUgaW4gb3VyIHN0YXRlLiAgJ0Zha2UnIHBvb2xzIGNvdWxkIGNhbGwgdXMgdG8gdXBkYXRlIG91ciBkYXRhLCBidXQgdGhleQovLyBjYW4ndCBmYWtlIHRoZSBpZHMgYW5kIG1vc3QgaW1wb3J0YW50bHkgYXBwbGljYXRpb24gaWQoISkgb2YgdGhlIGNhbGxlciB0aGF0IGhhcyB0byBtYXRjaC4KdmVyaWZ5UG9vbEtleUNhbGxlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTYxCgkvLyBhc3NlcnQodGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLmV4aXN0cywgInRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkIikKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIHRoZSBzcGVjaWZpZWQgdmFsaWRhdG9yIGlkIGlzbid0IHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MgoJLy8gYXNzZXJ0KHBvb2xLZXkucG9vbElkIDw9IE1BWF9QT09MUywgJ3Bvb2wgaWQgbm90IGluIHZhbGlkIHJhbmdlJykKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAzIC8vIDI0Cgk8PQoKCS8vIHBvb2wgaWQgbm90IGluIHZhbGlkIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE2MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgcG9vbEtleS5wb29sSWQgPiAwICYmIChwb29sS2V5LnBvb2xJZCBhcyB1aW50MTYpIDw9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS5udW1Qb29scywKCS8vICAgICAgICdwb29sIGlkIG91dHNpZGUgb2YgcmFuZ2Ugb2YgcG9vbHMgY3JlYXRlZCBmb3IgdGhpcyB2YWxpZGF0b3InCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgOCA4CglidG9pCglpbnRjIDAgLy8gMAoJPgoJZHVwCglieiAqc2tpcF9hbmQyCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgOCAvLyAyNDIKCWludGMgMTAgLy8gMgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCTw9CgkmJgoKKnNraXBfYW5kMjoKCS8vIHBvb2wgaWQgb3V0c2lkZSBvZiByYW5nZSBvZiBwb29scyBjcmVhdGVkIGZvciB0aGlzIHZhbGlkYXRvcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNjkKCS8vIGFzc2VydCgKCS8vICAgICAgIHBvb2xLZXkucG9vbEFwcElkID09PSB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS5wb29sQXBwSWQsCgkvLyAgICAgICAiVGhlIHBhc3NlZCBpbiBhcHAgaWQgZG9lc24ndCBtYXRjaCB0aGUgcGFzc2VkIGluIGlkcyIKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAxNiA4CglidG9pCglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCgk9PQoKCS8vIFRoZSBwYXNzZWQgaW4gYXBwIGlkIGRvZXNuJ3QgbWF0Y2ggdGhlIHBhc3NlZCBpbiBpZHMKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSBBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5hZGRyZXNzKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCgk9PQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExNzYKCS8vIGFzc2VydChwb29sS2V5LmlkID09PSAoQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJcHVzaGJ5dGVzIDB4NzY2MTZjNjk2NDYxNzQ2ZjcyNDk2NCAvLyAidmFsaWRhdG9ySWQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ZhbGlkYXRvcklkJykKCWFzc2VydAoJPT0KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTc3CgkvLyBhc3NlcnQocG9vbEtleS5wb29sSWQgPT09IChBcHBJRC5mcm9tVWludDY0KHBvb2xLZXkucG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgncG9vbElkJykgYXMgdWludDY0KSkKCWZyYW1lX2RpZyAtMSAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMTYgOAoJYnRvaQoJcHVzaGJ5dGVzIDB4NzA2ZjZmNmM0OTY0IC8vICJwb29sSWQiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwb29sS2V5LnBvb2xBcHBJZCkuZ2xvYmFsU3RhdGUoJ3Bvb2xJZCcpCglhc3NlcnQKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gcmV2ZXJpZnlORkRPd25lcnNoaXAodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSk6IHZvaWQKLy8KLy8gVGhpcyBtZXRob2QgdmVyaWZpZXMgdGhlIG93bmVyc2hpcCBvZiBORkQgKE5hbWVkIEZ1bmN0aW9uIERhdGEpIGJ5IGEgdmFsaWRhdG9yLgovLyBJZiB0aGUgb3duZXJzaGlwIGlzIG5vIGxvbmdlciB2YWxpZCwgaXQgcmVtb3ZlcyB0aGUgTkZEIGZyb20gdGhlIHZhbGlkYXRvcidzIGNvbmZpZ3VyYXRpb24uCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yIHdob3NlIGRhdGEgc2hvdWxkIGJlIHJlLWV2YWx1YXRlZC4KcmV2ZXJpZnlORkRPd25lcnNoaXA6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjExODcKCS8vIHZhbGlkYXRvckNvbmZpZyA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsaWRhdG9yQ29uZmlnCgoJLy8gKmlmMjhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE4OAoJLy8gdmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8gIT09IDAKCWludGMgMjEgLy8gNzIKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjI4X2VuZAoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMTkxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQodmFsaWRhdG9yQ29uZmlnLm5mZEZvckluZm8pLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzCglpbnRjIDIxIC8vIDcyCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJYnl0ZWMgOSAvLyAgImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHZhbGlkYXRvckNvbmZpZy5uZmRGb3JJbmZvKS5nbG9iYWxTdGF0ZSgnaS5vd25lci5hJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgoJLy8gKmlmMjlfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5MwoJLy8gdmFsaWRhdG9yQ29uZmlnLm93bmVyICE9PSBuZmRPd25lciAmJiB2YWxpZGF0b3JDb25maWcubWFuYWdlciAhPT0gbmZkT3duZXIKCWludGMgMiAvLyA4CglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQzCglpbnRjIDE3IC8vIDQwCglpbnRjIDQgLy8gMzIKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgkhPQoJJiYKCipza2lwX2FuZDM6CglieiAqaWYyOV9lbmQKCgkvLyAqaWYyOV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTE5NQoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcubmZkRm9ySW5mbyA9IDAKCWludGMgMjEgLy8gNzIKCWJ5dGVjIDEwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKKmlmMjlfZW5kOgoKKmlmMjhfZW5kOgoJcmV0c3ViCgovLyB2YWxpZGF0ZUNvbmZpZyhjb25maWc6IFZhbGlkYXRvckNvbmZpZyk6IHZvaWQKdmFsaWRhdGVDb25maWc6Cglwcm90byAxIDAKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIwMgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgY29uZmlnLmVudHJ5R2F0aW5nVHlwZSA+PSBHQVRJTkdfVFlQRV9OT05FICYmIGNvbmZpZy5lbnRyeUdhdGluZ1R5cGUgPD0gR0FUSU5HX1RZUEVfQ09OU1RfTUFYLAoJLy8gICAgICAgJ2dhdGluZyB0eXBlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgODAgMQoJYnRvaQoJaW50YyAwIC8vIDAKCT49CglkdXAKCWJ6ICpza2lwX2FuZDQKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCA4MCAxCglidG9pCglpbnRjIDIwIC8vIDQKCTw9CgkmJgoKKnNraXBfYW5kNDoKCS8vIGdhdGluZyB0eXBlIG5vdCB2YWxpZAoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMDYKCS8vIGFzc2VydCgKCS8vICAgICAgIGNvbmZpZy5lcG9jaFJvdW5kTGVuZ3RoID49IE1JTl9FUE9DSF9MRU5HVEggJiYgY29uZmlnLmVwb2NoUm91bmRMZW5ndGggPD0gTUFYX0VQT0NIX0xFTkdUSCwKCS8vICAgICAgICdlcG9jaCBsZW5ndGggbm90IGluIGFsbG93YWJsZSByYW5nZScKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTY5IDQKCWJ0b2kKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ1CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTY5IDQKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ1OgoJLy8gZXBvY2ggbGVuZ3RoIG5vdCBpbiBhbGxvd2FibGUgcmFuZ2UKCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjEwCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucGVyY2VudFRvVmFsaWRhdG9yID49IE1JTl9QQ1RfVE9fVkFMSURBVE9SICYmIGNvbmZpZy5wZXJjZW50VG9WYWxpZGF0b3IgPD0gTUFYX1BDVF9UT19WQUxJREFUT1IsCgkvLyAgICAgICAnY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZCcKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMCAvLyAwCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ2CglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMTczIDQKCWJ0b2kKCWludGMgMjQgLy8gMTAwMDAwMAoJPD0KCSYmCgoqc2tpcF9hbmQ2OgoJLy8gY29tbWlzc2lvbiBwZXJjZW50YWdlIG5vdCB2YWxpZAoJYXNzZXJ0CgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTIxNAoJLy8gY29uZmlnLnBlcmNlbnRUb1ZhbGlkYXRvciAhPT0gMAoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3MyA0CglidG9pCglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjE1CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIGNvbmZpZy52YWxpZGF0b3JDb21taXNzaW9uQWRkcmVzcyAhPT0gQWRkcmVzcy56ZXJvQWRkcmVzcywKCS8vICAgICAgICAgJ3ZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgc2V0IGlmIHBlcmNlbnQgdG8gdmFsaWRhdG9yIGlzIG5vdCAwJwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDE3NyAzMgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzIG11c3QgYmUgc2V0IGlmIHBlcmNlbnQgdG8gdmFsaWRhdG9yIGlzIG5vdCAwCglhc3NlcnQKCippZjMwX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjIwCgkvLyBhc3NlcnQoY29uZmlnLm1pbkVudHJ5U3Rha2UgPj0gTUlOX0FMR09fU1RBS0VfUEVSX1BPT0wsICdzdGFraW5nIHBvb2wgbXVzdCBoYXZlIG1pbmltdW0gZW50cnkgb2YgMSBhbGdvJykKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMDkgOAoJYnRvaQoJaW50YyAyNCAvLyAxMDAwMDAwCgk+PQoKCS8vIHN0YWtpbmcgcG9vbCBtdXN0IGhhdmUgbWluaW11bSBlbnRyeSBvZiAxIGFsZ28KCWFzc2VydAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjIyCgkvLyBhc3NlcnQoCgkvLyAgICAgICBjb25maWcucG9vbHNQZXJOb2RlID4gMCAmJiBjb25maWcucG9vbHNQZXJOb2RlIDw9IE1BWF9QT09MU19QRVJfTk9ERSwKCS8vICAgICAgICdudW1iZXIgb2YgcG9vbHMgcGVyIG5vZGUgZXhjZWVkcyBhbGxvd2VkIG51bWJlcicKCS8vICAgICApCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI1IDEKCWJ0b2kKCWludGMgMCAvLyAwCgk+CglkdXAKCWJ6ICpza2lwX2FuZDcKCWZyYW1lX2RpZyAtMSAvLyBjb25maWc6IFZhbGlkYXRvckNvbmZpZwoJZXh0cmFjdCAyMjUgMQoJYnRvaQoJaW50YyA5IC8vIDMKCTw9CgkmJgoKKnNraXBfYW5kNzoKCS8vIG51bWJlciBvZiBwb29scyBwZXIgbm9kZSBleGNlZWRzIGFsbG93ZWQgbnVtYmVyCglhc3NlcnQKCgkvLyAqaWYzMV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjI2CgkvLyBjb25maWcuc3Vuc2V0dGluZ09uICE9PSAwCglmcmFtZV9kaWcgLTEgLy8gY29uZmlnOiBWYWxpZGF0b3JDb25maWcKCWV4dHJhY3QgMjI2IDgKCWJ0b2kKCWludGMgMCAvLyAwCgkhPQoJYnogKmlmMzFfZW5kCgoJLy8gKmlmMzFfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyMjcKCS8vIGFzc2VydChjb25maWcuc3Vuc2V0dGluZ09uID4gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAsICdzdW5zZXR0aW5nT24gbXVzdCBiZSBsYXRlciB0aGFuIG5vdyBpZiBzZXQnKQoJZnJhbWVfZGlnIC0xIC8vIGNvbmZpZzogVmFsaWRhdG9yQ29uZmlnCglleHRyYWN0IDIyNiA4CglidG9pCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCgk+CgoJLy8gc3Vuc2V0dGluZ09uIG11c3QgYmUgbGF0ZXIgdGhhbiBub3cgaWYgc2V0Cglhc3NlcnQKCippZjMxX2VuZDoKCXJldHN1YgoKLy8gY2FsbFBvb2xBZGRTdGFrZShzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4sIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXksIG1ickFtdFBhaWQ6IHVpbnQ2NCwgaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbGVhbiwgaXNOZXdTdGFrZXJUb1Byb3RvY29sOiBib29sZWFuKTogdm9pZAovLwovLyBBZGRzIGEgc3Rha2VycyBhbW91bnQgb2YgYWxnbyB0byBhIHZhbGlkYXRvciBwb29sLCB0cmFuc2ZlcnJpbmcgdGhlIGFsZ28gd2UgcmVjZWl2ZWQgZnJvbSB0aGVtIChhbHJlYWR5IHZlcmlmaWVkCi8vIGJ5IG91ciBjYWxsZXIpIHRvIHRoZSBzdGFraW5nIHBvb2wgYWNjb3VudCwgYW5kIHRoZW4gdGVsbGluZyBpdCBhYm91dCB0aGUgYW1vdW50IGJlaW5nIGFkZGVkIGZvciB0aGUgc3BlY2lmaWVkCi8vIHN0YWtlci4KLy8KLy8gQHBhcmFtIHtQYXlUeG59IHN0YWtlZEFtb3VudFBheW1lbnQgLSBwYXltZW50IGNvbWluZyBmcm9tIHN0YWtlciB0byBwbGFjZSBpbnRvIGEgcG9vbAovLyBAcGFyYW0ge1ZhbGlkYXRvclBvb2xLZXl9IHBvb2xLZXkgLSBUaGUga2V5IG9mIHRoZSB2YWxpZGF0b3IgcG9vbC4KLy8gQHBhcmFtIHt1aW50NjR9IG1ickFtdFBhaWQgLSBBbW91bnQgdGhlIHVzZXIgaXMgbGVhdmluZyBiZWhpbmQgaW4gdGhlIHZhbGlkYXRvciB0byBwYXkgZm9yIHRoZWlyIHN0YWtlciBNQlIgY29zdAovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTmV3U3Rha2VyVG9WYWxpZGF0b3IgLSBpZiB0aGlzIGlzIGEgbmV3LCBmaXJzdC10aW1lIHN0YWtlciB0byB0aGUgdmFsaWRhdG9yCi8vIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdTdGFrZXJUb1Byb3RvY29sIC0gaWYgdGhpcyBpcyBhIG5ldywgZmlyc3QtdGltZSBzdGFrZXIgdG8gdGhlIHByb3RvY29sCmNhbGxQb29sQWRkU3Rha2U6Cglwcm90byA1IDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNDkKCS8vIHBvb2xBcHBJZCA9IHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5wb29sc1twb29sS2V5LnBvb2xJZCAtIDFdLnBvb2xBcHBJZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHBvb2xBcHBJZDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTMKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBTdGFraW5nUG9vbC5wcm90b3R5cGUuYWRkU3Rha2UsIHVpbnQ2ND4oewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICAvLyA9PT09PT09CgkvLyAgICAgICAgIC8vIFRISVMgSVMgQSBTRU5EIG9mIHRoZSBhbW91bnQgcmVjZWl2ZWQgcmlnaHQgYmFjayBvdXQgYW5kIGludG8gdGhlIHN0YWtpbmcgcG9vbCBjb250cmFjdCBhY2NvdW50LgoJLy8gICAgICAgICB7IGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkLCByZWNlaXZlcjogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmFkZHJlc3MgfSwKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICBzdGFrZWRBbW91bnRQYXltZW50LnNlbmRlciwKCS8vICAgICAgIF0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTgKCS8vIGFtb3VudDogc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyAtMyAvLyBtYnJBbXRQYWlkOiB1aW50NjQKCS0KCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTgKCS8vIHJlY2VpdmVyOiBBcHBJRC5mcm9tVWludDY0KHBvb2xBcHBJZCkuYWRkcmVzcwoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDcgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGY5YzcwY2JkIC8vIG1ldGhvZCAiYWRkU3Rha2UocGF5LGFkZHJlc3MpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI1NAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpCglmcmFtZV9kaWcgMCAvLyBwb29sQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNTUKCS8vIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgLy8gPT09PT09PQoJLy8gICAgICAgICAvLyBUSElTIElTIEEgU0VORCBvZiB0aGUgYW1vdW50IHJlY2VpdmVkIHJpZ2h0IGJhY2sgb3V0IGFuZCBpbnRvIHRoZSBzdGFraW5nIHBvb2wgY29udHJhY3QgYWNjb3VudC4KCS8vICAgICAgICAgeyBhbW91bnQ6IHN0YWtlZEFtb3VudFBheW1lbnQuYW1vdW50IC0gbWJyQW10UGFpZCwgcmVjZWl2ZXI6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5hZGRyZXNzIH0sCgkvLyAgICAgICAgIC8vID09PT09PT0KCS8vICAgICAgICAgc3Rha2VkQW1vdW50UGF5bWVudC5zZW5kZXIsCgkvLyAgICAgICBdCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VkQW1vdW50UGF5bWVudDogUGF5VHhuCglndHhucyBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJaXR4biBOdW1Mb2dzCglpbnRjIDEgLy8gMQoJLQoJaXR4bmFzIExvZ3MKCWV4dHJhY3QgNCAwCglidG9pCgoJLy8gKmlmMzJfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2MwoJLy8gZ2xvYmFscy5vcGNvZGVCdWRnZXQgPCA1MDAKCWdsb2JhbCBPcGNvZGVCdWRnZXQKCXB1c2hpbnQgNTAwCgk8CglieiAqaWYzMl9lbmQKCgkvLyAqaWYzMl9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI2NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDggLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgMjYgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCippZjMyX2VuZDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjY4CgkvLyBwb29sTnVtU3Rha2VycyA9IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnbnVtU3Rha2VycycpIGFzIHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gcG9vbEFwcElkOiB1aW50NjQKCWJ5dGVjIDcgLy8gICJudW1TdGFrZXJzIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnbnVtU3Rha2VycycpCglhc3NlcnQKCWZyYW1lX2J1cnkgMSAvLyBwb29sTnVtU3Rha2VyczogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNjkKCS8vIHBvb2xBbGdvU3Rha2VkID0gQXBwSUQuZnJvbVVpbnQ2NChwb29sQXBwSWQpLmdsb2JhbFN0YXRlKCdzdGFrZWQnKSBhcyB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIHBvb2xBcHBJZDogdWludDY0CglieXRlYyA0IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocG9vbEFwcElkKS5nbG9iYWxTdGF0ZSgnc3Rha2VkJykKCWFzc2VydAoJZnJhbWVfYnVyeSAyIC8vIHBvb2xBbGdvU3Rha2VkOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI3MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHBvb2xLZXkuaWQpLnZhbHVlLnBvb2xzW3Bvb2xLZXkucG9vbElkIC0gMV0udG90YWxTdGFrZXJzID0gcG9vbE51bVN0YWtlcnMgYXMgdWludDE2CglpbnRjIDYgLy8gIGhlYWRPZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDggOAoJYnRvaQoJaW50YyAxIC8vIDEKCS0KCWludGMgNSAvLyAxOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDIgLy8gIGhlYWRPZmZzZXQKCSsKCWZyYW1lX2RpZyAxIC8vIHBvb2xOdW1TdGFrZXJzOiB1aW50NjQKCWl0b2IKCWV4dHJhY3QgNiAyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfcmVwbGFjZQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyB0aGlzLnZhbGlkYXRvckxpc3QocG9vbEtleS5pZCkudmFsdWUucG9vbHNbcG9vbEtleS5wb29sSWQgLSAxXS50b3RhbEFsZ29TdGFrZWQgPSBwb29sQWxnb1N0YWtlZAoJaW50YyA2IC8vICBoZWFkT2Zmc2V0CglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMSAvLyAxCgktCglpbnRjIDUgLy8gMTgKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJKwoJaW50YyAxMSAvLyAgaGVhZE9mZnNldAoJKwoJZnJhbWVfZGlnIDIgLy8gcG9vbEFsZ29TdGFrZWQ6IHVpbnQ2NAoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjc0CgkvLyBpc05ld1N0YWtlclRvVmFsaWRhdG9yCglmcmFtZV9kaWcgLTQgLy8gaXNOZXdTdGFrZXJUb1ZhbGlkYXRvcjogYm9vbGVhbgoJYnogKmlmMzNfZW5kCgoJLy8gKmlmMzNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzUKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbFN0YWtlcnMgKz0gMQoJaW50YyAyMyAvLyAyNDQKCWR1cAoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0yIC8vIHBvb2xLZXk6IFZhbGlkYXRvclBvb2xLZXkKCWV4dHJhY3QgMCA4CglidG9pCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglpbnRjIDEgLy8gMQoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCippZjMzX2VuZDoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzcKCS8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbAoJZnJhbWVfZGlnIC01IC8vIGlzTmV3U3Rha2VyVG9Qcm90b2NvbDogYm9vbGVhbgoJYnogKmlmMzRfZW5kCgoJLy8gKmlmMzRfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyNzgKCS8vIHRoaXMubnVtU3Rha2Vycy52YWx1ZSArPSAxCglieXRlYyA3IC8vICAibnVtU3Rha2VycyIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMQoJKwoJYnl0ZWMgNyAvLyAgIm51bVN0YWtlcnMiCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKKmlmMzRfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODAKCS8vIHRoaXMudmFsaWRhdG9yTGlzdChwb29sS2V5LmlkKS52YWx1ZS5zdGF0ZS50b3RhbEFsZ29TdGFrZWQgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglpbnRjIDEyIC8vIDI1MgoJZHVwCglpbnRjIDIgLy8gOAoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIG1ickFtdFBhaWQ6IHVpbnQ2NAoJLQoJKwoJaXRvYgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4MQoJLy8gdGhpcy50b3RhbEFsZ29TdGFrZWQudmFsdWUgKz0gc3Rha2VkQW1vdW50UGF5bWVudC5hbW91bnQgLSBtYnJBbXRQYWlkCglieXRlYyA0IC8vICAic3Rha2VkIgoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZWRBbW91bnRQYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIC0zIC8vIG1ickFtdFBhaWQ6IHVpbnQ2NAoJLQoJKwoJYnl0ZWMgNCAvLyAgInN0YWtlZCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIHVwZGF0ZVN0YWtlclBvb2xTZXQoc3Rha2VyOiBBZGRyZXNzLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogdm9pZAp1cGRhdGVTdGFrZXJQb29sU2V0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gMgoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg1CgkvLyBhc3NlcnQodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikuZXhpc3RzKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gcG9vbFNldCA9IGNsb25lKHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlKQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI4OAoJLy8gZmlyc3RFbXB0eSA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDEgLy8gZmlyc3RFbXB0eTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl83OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyODkKCS8vIGkgPCB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyA3IC8vIDYKCTwKCWJ6ICpmb3JfN19lbmQKCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjkwCgkvLyBwb29sU2V0W2ldID09PSBwb29sS2V5CglmcmFtZV9kaWcgMCAvLyBwb29sU2V0OiAodWludDY0LHVpbnQ2NCx1aW50NjQpWzZdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDMgLy8gMjQKCWV4dHJhY3QzCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJPT0KCWJ6ICppZjM1X2VuZAoKCS8vICppZjM1X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjkyCgkvLyByZXR1cm47CglyZXRzdWIKCippZjM1X2VuZDoKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEyOTQKCS8vIGZpcnN0RW1wdHkgPT09IDAgJiYgcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWR1cAoJYnogKnNraXBfYW5kOAoJZnJhbWVfZGlnIDAgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CgkmJgoKKnNraXBfYW5kODoKCWJ6ICppZjM2X2VuZAoKCS8vICppZjM2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjk1CgkvLyBmaXJzdEVtcHR5ID0gaSArIDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBmaXJzdEVtcHR5OiB1aW50NjQKCippZjM2X2VuZDoKCipmb3JfN19jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMjg5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl83CgoqZm9yXzdfZW5kOgoJLy8gKmlmMzdfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTI5OAoJLy8gZmlyc3RFbXB0eSA9PT0gMAoJZnJhbWVfZGlnIDEgLy8gZmlyc3RFbXB0eTogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICppZjM3X2VuZAoKCS8vICppZjM3X2NvbnNlcXVlbnQKCS8vIE5vIGVtcHR5IHNsb3QgYXZhaWxhYmxlIGluIHRoZSBzdGFrZXIgcG9vbCBzZXQKCWVycgoKKmlmMzdfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMDEKCS8vIHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlW2ZpcnN0RW1wdHkgLSAxXSA9IHBvb2xLZXkKCWZyYW1lX2RpZyAxIC8vIGZpcnN0RW1wdHk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglmcmFtZV9kaWcgLTIgLy8gcG9vbEtleTogVmFsaWRhdG9yUG9vbEtleQoJYnl0ZWMgMyAvLyAgInNwcyIKCWZyYW1lX2RpZyAtMSAvLyBzdGFrZXI6IEFkZHJlc3MKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCXJldHN1YgoKLy8gcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQoc3Rha2VyOiBBZGRyZXNzLCBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5KTogW2Jvb2xlYW4sIGJvb2xlYW5dCi8vCi8vIFJlbW92ZXMgYSBwb29sIGtleSBmcm9tIHRoZSBzdGFrZXIncyBhY3RpdmUgcG9vbCBzZXQgLSBmYWlscyBpZiBub3QgZm91bmQgKCEpCi8vCi8vIEBwYXJhbSB7QWRkcmVzc30gc3Rha2VyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIHN0YWtlci4KLy8gQHBhcmFtIHtWYWxpZGF0b3JQb29sS2V5fSBwb29sS2V5IC0gVGhlIHBvb2wga2V5IHRoZXkgc2hvdWxkIGJlIHN0b3JlZCBpbgovLwovLyBAcmV0dXJuIFtib29sZWFuLCBib29sZWFuXSBbaXMgdGhlIHN0YWtlciBnb25lIGZyb20gQUxMIHBvb2xzIG9mIHRoZSBnaXZlbiBWQUxJREFUT1IsIGFuZCBpcyBzdGFrZXIgZ29uZSBmcm9tIEFMTCBwb29sc10KcmVtb3ZlRnJvbVN0YWtlclBvb2xTZXQ6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiA0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMTQKCS8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxNQoJLy8gaW5BbnlQb29sQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMxNgoJLy8gZm91bmQgPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBmb3VuZDogYm9vbAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE4CgkvLyBwb29sU2V0ID0gY2xvbmUodGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUpCglieXRlYyAzIC8vICAic3BzIgoJZnJhbWVfZGlnIC0xIC8vIHN0YWtlcjogQWRkcmVzcwoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnN0YWtlclBvb2xTZXQoc3Rha2VyKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc3Rha2VyUG9vbFNldChzdGFrZXIpLnZhbHVlLmxlbmd0aDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCipmb3JfODoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpIDwgdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWUubGVuZ3RoCglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgNyAvLyA2Cgk8CglieiAqZm9yXzhfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyMAoJLy8gcG9vbFNldFtpXS5pZCA9PT0gMAoJZnJhbWVfZGlnIDMgLy8gcG9vbFNldDogKHVpbnQ2NCx1aW50NjQsdWludDY0KVs2XQoJZnJhbWVfZGlnIDQgLy8gaTogdWludDY0CglpbnRjIDMgLy8gMjQKCSogLy8gYWNjICogdHlwZUxlbmd0aAoJaW50YyAwIC8vIDAKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWYzOF9lbmQKCgkvLyAqaWYzOF9jb25zZXF1ZW50CgliICpmb3JfOF9jb250aW51ZQoKKmlmMzhfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGluQW55UG9vbENvdW50ICs9IDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gaW5BbnlQb29sQ291bnQ6IHVpbnQ2NAoKCS8vICppZjM5X2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIHBvb2xTZXRbaV0uaWQgPT09IHBvb2xLZXkuaWQKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAwCgkrCglpbnRjIDIgLy8gOAoJZXh0cmFjdDMKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5CglleHRyYWN0IDAgOAoJYnRvaQoJPT0KCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vICppZjQwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzMjUKCS8vIHBvb2xTZXRbaV0gPT09IHBvb2xLZXkKCWZyYW1lX2RpZyAzIC8vIHBvb2xTZXQ6ICh1aW50NjQsdWludDY0LHVpbnQ2NClbNl0KCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMyAvLyAyNAoJZXh0cmFjdDMKCWZyYW1lX2RpZyAtMiAvLyBwb29sS2V5OiBWYWxpZGF0b3JQb29sS2V5Cgk9PQoJYnogKmlmNDBfZWxzZQoKCS8vICppZjQwX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzI2CgkvLyBmb3VuZCA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDIgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gdGhpcy5zdGFrZXJQb29sU2V0KHN0YWtlcikudmFsdWVbaV0gPSB7IGlkOiAwLCBwb29sSWQ6IDAsIHBvb2xBcHBJZDogMCB9CglmcmFtZV9kaWcgNCAvLyBpOiB1aW50NjQKCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gICJzcHMiCglmcmFtZV9kaWcgLTEgLy8gc3Rha2VyOiBBZGRyZXNzCgljb25jYXQKCWNvdmVyIDIKCWJveF9yZXBsYWNlCgliICppZjQwX2VuZAoKKmlmNDBfZWxzZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzMwCgkvLyBpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaW5TYW1lVmFsaWRhdG9yUG9vbENvdW50OiB1aW50NjQKCippZjQwX2VuZDoKCippZjM5X2VuZDoKCipmb3JfOF9jb250aW51ZToKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzE5CgkvLyBpICs9IDEKCWZyYW1lX2RpZyA0IC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgNCAvLyBpOiB1aW50NjQKCWIgKmZvcl84CgoqZm9yXzhfZW5kOgoJLy8gKmlmNDFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzNAoJLy8gIWZvdW5kCglmcmFtZV9kaWcgMiAvLyBmb3VuZDogYm9vbAoJIQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gTm8gbWF0Y2hpbmcgc2xvdCBmb3VuZCB3aGVuIHRvbGQgdG8gcmVtb3ZlIGEgcG9vbCBmcm9tIHRoZSBzdGFrZXJzIHNldAoJZXJyCgoqaWY0MV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTMzOAoJLy8gcmV0dXJuIFtpblNhbWVWYWxpZGF0b3JQb29sQ291bnQgPT09IDAsIGluQW55UG9vbENvdW50ID09PSAwXTsKCWJ5dGVjIDUgLy8gMHgwMAoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGluU2FtZVZhbGlkYXRvclBvb2xDb3VudDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCXNldGJpdAoJaW50YyAxIC8vIDEKCWZyYW1lX2RpZyAxIC8vIGluQW55UG9vbENvdW50OiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJc2V0Yml0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBhZGRQb29sVG9Ob2RlKHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUsIHBvb2xBcHBJZDogdWludDY0LCBub2RlTnVtOiB1aW50NjQpOiB2b2lkCmFkZFBvb2xUb05vZGU6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDIKCS8vIG5vZGVQb29sQXNzaWdubWVudHMgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLm5vZGVQb29sQXNzaWdubWVudHMpCglpbnRjIDE2IC8vICBoZWFkT2Zmc2V0CglpbnRjIDIyIC8vIDE5MgoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0MwoJLy8gbWF4UG9vbHNQZXJOb2RlRm9yVGhpc1ZhbGlkYXRvciA9IHRoaXMudmFsaWRhdG9yTGlzdCh2YWxpZGF0b3JJZCkudmFsdWUuY29uZmlnLnBvb2xzUGVyTm9kZSBhcyB1aW50NjQKCXB1c2hpbnQgMjI1CglpbnRjIDEgLy8gMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAxIC8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzQ1CgkvLyBhc3NlcnQobm9kZU51bSA+PSAxICYmIG5vZGVOdW0gPD0gTUFYX05PREVTLCAnbm9kZSBudW1iZXIgbm90IGluIHZhbGlkIHJhbmdlJykKCWZyYW1lX2RpZyAtMyAvLyBub2RlTnVtOiB1aW50NjQKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQ5CglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDIgLy8gOAoJPD0KCSYmCgoqc2tpcF9hbmQ5OgoJLy8gbm9kZSBudW1iZXIgbm90IGluIHZhbGlkIHJhbmdlCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yOyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl85OgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDcKCS8vIGkgPCBtYXhQb29sc1Blck5vZGVGb3JUaGlzVmFsaWRhdG9yCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIG1heFBvb2xzUGVyTm9kZUZvclRoaXNWYWxpZGF0b3I6IHVpbnQ2NAoJPAoJYnogKmZvcl85X2VuZAoKCS8vICppZjQyX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNDgKCS8vIG5vZGVQb29sQXNzaWdubWVudHMubm9kZXNbbm9kZU51bSAtIDFdLnBvb2xBcHBJZHNbaV0gPT09IDAKCWZyYW1lX2RpZyAwIC8vIG5vZGVQb29sQXNzaWdubWVudHM6ICgodWludDY0WzNdKVs4XSkKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgLTMgLy8gbm9kZU51bTogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJaW50YyAzIC8vIDI0CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMCAvLyAwCgkrCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJaW50YyAwIC8vIDAKCT09CglieiAqaWY0Ml9lbmQKCgkvLyAqaWY0Ml9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM1MAoJLy8gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5ub2RlUG9vbEFzc2lnbm1lbnRzLm5vZGVzW25vZGVOdW0gLSAxXS5wb29sQXBwSWRzW2ldID0gcG9vbEFwcElkCglpbnRjIDE2IC8vIDkwMAoJZnJhbWVfZGlnIC0zIC8vIG5vZGVOdW06IHVpbnQ2NAoJaW50YyAxIC8vIDEKCS0KCWludGMgMyAvLyAyNAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglpbnRjIDAgLy8gMAoJKwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCgkrCglmcmFtZV9kaWcgLTIgLy8gcG9vbEFwcElkOiB1aW50NjQKCWl0b2IKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM1MQoJLy8gcmV0dXJuOwoJcmV0c3ViCgoqaWY0Ml9lbmQ6CgoqZm9yXzlfY29udGludWU6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM0NwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfOQoKKmZvcl85X2VuZDoKCS8vIG5vIGF2YWlsYWJsZSBzcGFjZSBpbiBzcGVjaWZpZWQgbm9kZSBmb3IgdGhpcyBwb29sCgllcnIKCXJldHN1YgoKLy8gZG9lc1N0YWtlck1lZXRHYXRpbmcodmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZSwgdmFsdWVUb1ZlcmlmeTogdWludDY0KTogdm9pZAovLwovLyBDaGVja3MgaWYgYSBzdGFrZXIgbWVldHMgdGhlIGdhdGluZyByZXF1aXJlbWVudHMgc3BlY2lmaWVkIGJ5IHRoZSB2YWxpZGF0b3IuCi8vCi8vIEBwYXJhbSB7VmFsaWRhdG9ySWRUeXBlfSB2YWxpZGF0b3JJZCAtIFRoZSBpZCBvZiB0aGUgdmFsaWRhdG9yLgovLyBAcGFyYW0ge3VpbnQ2NH0gdmFsdWVUb1ZlcmlmeSAtIFRoZSB2YWx1ZSB0byB2ZXJpZnkgYWdhaW5zdCB0aGUgZ2F0aW5nIHJlcXVpcmVtZW50cy4KLy8gQHJldHVybnMge3ZvaWR9IG9yIGFzc2VydHMgaWYgcmVxdWlyZW1lbnRzIG5vdCBtZXQuCmRvZXNTdGFrZXJNZWV0R2F0aW5nOgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCWR1cG4gOAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzY1CgkvLyB0eXBlID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZW50cnlHYXRpbmdUeXBlCglpbnRjIDM1IC8vIDgwCglpbnRjIDEgLy8gMQoJYnl0ZWMgMCAvLyAgInYiCglmcmFtZV9kaWcgLTEgLy8gdmFsaWRhdG9ySWQ6IFZhbGlkYXRvcklkVHlwZQoJaXRvYgoJY29uY2F0Cgljb3ZlciAyCglib3hfZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAwIC8vIHR5cGU6IHVpbnQ4CgoJLy8gKmlmNDNfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM2NgoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfTk9ORQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjcKCS8vIHJldHVybjsKCXJldHN1YgoKKmlmNDNfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNjkKCS8vIHN0YWtlciA9IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJZnJhbWVfYnVyeSAxIC8vIHN0YWtlcjogYWRkcmVzcwoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzcwCgkvLyBjb25maWcgPSBjbG9uZSh0aGlzLnZhbGlkYXRvckxpc3QodmFsaWRhdG9ySWQpLnZhbHVlLmNvbmZpZykKCWludGMgMCAvLyAwCglpbnRjIDggLy8gMjQyCglieXRlYyAwIC8vICAidiIKCWZyYW1lX2RpZyAtMSAvLyB2YWxpZGF0b3JJZDogVmFsaWRhdG9ySWRUeXBlCglpdG9iCgljb25jYXQKCWNvdmVyIDIKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVFNfQ1JFQVRFRF9CWSB8fAoJLy8gICAgICAgdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRfSUQgfHwKCS8vICAgICAgIHR5cGUgPT09IEdBVElOR19UWVBFX0NSRUFURURfQllfTkZEX0FERFJFU1NFUwoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMSAvLyAxCgk9PQoJZHVwCglibnogKnNraXBfb3I0CglmcmFtZV9kaWcgMCAvLyB0eXBlOiB1aW50OAoJaW50YyAxMCAvLyAyCgk9PQoJfHwKCipza2lwX29yNDoKCWR1cAoJYm56ICpza2lwX29yNQoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgOSAvLyAzCgk9PQoJfHwKCipza2lwX29yNToKCWJ6ICppZjQ0X2VuZAoKCS8vICppZjQ0X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzc4CgkvLyBhc3NlcnQodmFsdWVUb1ZlcmlmeSAhPT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzNzkKCS8vIGJhbFJlcXVpcmVkID0gdGhpcy52YWxpZGF0b3JMaXN0KHZhbGlkYXRvcklkKS52YWx1ZS5jb25maWcuZ2F0aW5nQXNzZXRNaW5CYWxhbmNlCglpbnRjIDM2IC8vIDE0NQoJaW50YyAyIC8vIDgKCWJ5dGVjIDAgLy8gICJ2IgoJZnJhbWVfZGlnIC0xIC8vIHZhbGlkYXRvcklkOiBWYWxpZGF0b3JJZFR5cGUKCWl0b2IKCWNvbmNhdAoJY292ZXIgMgoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CgoJLy8gKmlmNDVfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MAoJLy8gYmFsUmVxdWlyZWQgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNDVfZW5kCgoJLy8gKmlmNDVfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzODEKCS8vIGJhbFJlcXVpcmVkID0gMQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgMyAvLyBiYWxSZXF1aXJlZDogdWludDY0CgoqaWY0NV9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICBzdGFrZXIuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KSkgPj0gYmFsUmVxdWlyZWQsCgkvLyAgICAgICAgICdtdXN0IGhhdmUgcmVxdWlyZWQgbWluaW11bSBiYWxhbmNlIG9mIHZhbGlkYXRvciBkZWZpbmVkIHRva2VuIHRvIGFkZCBzdGFrZScKCS8vICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAzIC8vIGJhbFJlcXVpcmVkOiB1aW50NjQKCT49CgoJLy8gbXVzdCBoYXZlIHJlcXVpcmVkIG1pbmltdW0gYmFsYW5jZSBvZiB2YWxpZGF0b3IgZGVmaW5lZCB0b2tlbiB0byBhZGQgc3Rha2UKCWFzc2VydAoKKmlmNDRfZW5kOgoJLy8gKmlmNDZfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM4OAoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfQVNTRVRTX0NSRUFURURfQlkKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjQ2X2VuZAoKCS8vICppZjQ2X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzg5CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIEFzc2V0SUQuZnJvbVVpbnQ2NCh2YWx1ZVRvVmVyaWZ5KS5jcmVhdG9yID09PSBjb25maWcuZW50cnlHYXRpbmdBZGRyZXNzLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgdGhlIHZhbGlkYXRvciBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnCgkvLyAgICAgICApCglmcmFtZV9kaWcgLTIgLy8gdmFsdWVUb1ZlcmlmeTogdWludDY0Cglhc3NldF9wYXJhbXNfZ2V0IEFzc2V0Q3JlYXRvcgoJcG9wCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA4MSAzMgoJPT0KCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBjcmVhdGVkIGJ5IGNyZWF0b3IgdGhhdCB0aGUgdmFsaWRhdG9yIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0Nl9lbmQ6CgkvLyAqaWY0N19jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk0CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9BU1NFVF9JRAoJZnJhbWVfZGlnIDAgLy8gdHlwZTogdWludDgKCWludGMgMTAgLy8gMgoJPT0KCWJ6ICppZjQ3X2VuZAoKCS8vICppZjQ3X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxMzk1CgkvLyBhc3NlcnQodmFsdWVUb1ZlcmlmeSAhPT0gMCkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTYKCS8vIGZvdW5kID0gZmFsc2UKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5NwoJLy8gY29uZmlnLmVudHJ5R2F0aW5nQXNzZXRzCglmcmFtZV9kaWcgMiAvLyBjb25maWc6ICh1aW50NjQsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50OCxhZGRyZXNzLHVpbnQ2NFs0XSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50MzIsdWludDMyLGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50OCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAxMTMgMzIKCWR1cAoJZnJhbWVfYnVyeSA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgNiAvLyBhc3NldElkOiB1aW50NjQKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JPZl8wOgoJLy8gKmlmNDhfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTM5OAoJLy8gdmFsdWVUb1ZlcmlmeSA9PT0gYXNzZXRJZAoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlVG9WZXJpZnk6IHVpbnQ2NAoJZnJhbWVfZGlnIDYgLy8gYXNzZXRJZDogdWludDY0Cgk9PQoJYnogKmlmNDhfZW5kCgoJLy8gKmlmNDhfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjEzOTkKCS8vIGZvdW5kID0gdHJ1ZQoJaW50YyAxIC8vIDEKCWZyYW1lX2J1cnkgNCAvLyBmb3VuZDogYm9vbAoJYiAqZm9yT2ZfMF9lbmQKCippZjQ4X2VuZDoKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCWludGMgNCAvLyAgb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyA1IC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDcgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDYgLy8gYXNzZXRJZDogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQwMwoJLy8gYXNzZXJ0KGZvdW5kLCAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgaWRlbnRpY2FsIHRvIHRoZSBhc3NldCBpZCBkZWZpbmVkIGFzIGEgcmVxdWlyZW1lbnQgdG8gc3Rha2UnKQoJZnJhbWVfZGlnIDQgLy8gZm91bmQ6IGJvb2wKCgkvLyBzcGVjaWZpZWQgYXNzZXQgbXVzdCBiZSBpZGVudGljYWwgdG8gdGhlIGFzc2V0IGlkIGRlZmluZWQgYXMgYSByZXF1aXJlbWVudCB0byBzdGFrZQoJYXNzZXJ0CgoqaWY0N19lbmQ6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA1CgkvLyB0eXBlID09PSBHQVRJTkdfVFlQRV9DUkVBVEVEX0JZX05GRF9BRERSRVNTRVMKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDkgLy8gMwoJPT0KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDA4CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwgQXNzZXRJRC5mcm9tVWludDY0KHZhbHVlVG9WZXJpZnkpLmNyZWF0b3IpLAoJLy8gICAgICAgICAnc3BlY2lmaWVkIGFzc2V0IG11c3QgYmUgY3JlYXRlZCBieSBjcmVhdG9yIHRoYXQgaXMgb25lIG9mIHRoZSBsaW5rZWQgYWRkcmVzc2VzIGluIGFuIG5mZCcKCS8vICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWZyYW1lX2RpZyAyIC8vIGNvbmZpZzogKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDExMyA4CglidG9pCgljYWxsc3ViIGlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdAoKCS8vIHNwZWNpZmllZCBhc3NldCBtdXN0IGJlIGNyZWF0ZWQgYnkgY3JlYXRvciB0aGF0IGlzIG9uZSBvZiB0aGUgbGlua2VkIGFkZHJlc3NlcyBpbiBhbiBuZmQKCWFzc2VydAoKKmlmNDlfZW5kOgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gdHlwZSA9PT0gR0FUSU5HX1RZUEVfU0VHTUVOVF9PRl9ORkQKCWZyYW1lX2RpZyAwIC8vIHR5cGU6IHVpbnQ4CglpbnRjIDIwIC8vIDQKCT09CglieiAqaWY1MF9lbmQKCgkvLyAqaWY1MF9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxNQoJLy8gdXNlck9mZmVyZWRORkRBcHBJRCA9IHZhbHVlVG9WZXJpZnkKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZVRvVmVyaWZ5OiB1aW50NjQKCWZyYW1lX2J1cnkgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxNgoJLy8gYXNzZXJ0KHRoaXMuaXNORkRBcHBJRFZhbGlkKHVzZXJPZmZlcmVkTkZEQXBwSUQpLCAncHJvdmlkZWQgTkZEIG11c3QgYmUgdmFsaWQnKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CgljYWxsc3ViIGlzTkZEQXBwSURWYWxpZAoKCS8vIHByb3ZpZGVkIE5GRCBtdXN0IGJlIHZhbGlkCglhc3NlcnQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQxOQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICByYXdCeXRlcyhBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm93bmVyLmEnKSBhcyBBZGRyZXNzKSA9PT0gcmF3Qnl0ZXMoc3Rha2VyKSB8fAoJLy8gICAgICAgICAgIHRoaXMuaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KHVzZXJPZmZlcmVkTkZEQXBwSUQsIHN0YWtlciksCgkvLyAgICAgICAgICJwcm92aWRlZCBuZmQgZm9yIGVudHJ5IGlzbid0IG93bmVkIG9yIGxpbmtlZCB0byB0aGUgc3Rha2VyIgoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CglieXRlYyA5IC8vICAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodXNlck9mZmVyZWRORkRBcHBJRCkuZ2xvYmFsU3RhdGUoJ2kub3duZXIuYScpCglhc3NlcnQKCWZyYW1lX2RpZyAxIC8vIHN0YWtlcjogYWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yNgoJZnJhbWVfZGlnIDEgLy8gc3Rha2VyOiBhZGRyZXNzCglmcmFtZV9kaWcgOCAvLyB1c2VyT2ZmZXJlZE5GREFwcElEOiB1aW50NjQKCWNhbGxzdWIgaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0Cgl8fAoKKnNraXBfb3I2OgoJLy8gcHJvdmlkZWQgbmZkIGZvciBlbnRyeSBpc24ndCBvd25lZCBvciBsaW5rZWQgdG8gdGhlIHN0YWtlcgoJYXNzZXJ0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0MjYKCS8vIGFzc2VydCgKCS8vICAgICAgICAgYnRvaShBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLnBhcmVudEFwcElEJykgYXMgYnl0ZXMpID09PQoJLy8gICAgICAgICAgIGNvbmZpZy5lbnRyeUdhdGluZ0Fzc2V0c1swXSwKCS8vICAgICAgICAgJ3NwZWNpZmllZCBuZmQgbXVzdCBiZSBhIHNlZ21lbnQgb2YgdGhlIG5mZCB0aGUgdmFsaWRhdG9yIHNwZWNpZmllZCBhcyBhIHJlcXVpcmVtZW50JwoJLy8gICAgICAgKQoJZnJhbWVfZGlnIDggLy8gdXNlck9mZmVyZWRORkRBcHBJRDogdWludDY0CglwdXNoYnl0ZXMgMHg2OTJlNzA2MTcyNjU2ZTc0NDE3MDcwNDk0NCAvLyAiaS5wYXJlbnRBcHBJRCIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHVzZXJPZmZlcmVkTkZEQXBwSUQpLmdsb2JhbFN0YXRlKCdpLnBhcmVudEFwcElEJykKCWFzc2VydAoJYnRvaQoJZnJhbWVfZGlnIDIgLy8gY29uZmlnOiAodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgMTEzIDgKCWJ0b2kKCT09CgoJLy8gc3BlY2lmaWVkIG5mZCBtdXN0IGJlIGEgc2VnbWVudCBvZiB0aGUgbmZkIHRoZSB2YWxpZGF0b3Igc3BlY2lmaWVkIGFzIGEgcmVxdWlyZW1lbnQKCWFzc2VydAoKKmlmNTBfZW5kOgoJcmV0c3ViCgovLyBpc05GREFwcElEVmFsaWQobmZkQXBwSUQ6IHVpbnQ2NCk6IGJvb2xlYW4KLy8KLy8gQ2hlY2tzIGlmIHRoZSBnaXZlbiBORkQgQXBwIGlkIGlzIHZhbGlkLiAgVXNpbmcgb25seSB0aGUgQXBwIGlkIHRoZXJlJ3Mgbm8gdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBuYW1lIChpZTogdGhhdCBuZmQgWCBpcyBuYW1lIFkpCi8vIFNvIGl0J3MgYXNzdW1lZCBmb3IgdGhlIGNhbGxlciwgdGhlIGFwcCBpZCBhbG9uZSBpcyBmaW5lLiAgVGhlIG5hbWUgaXMgZmV0Y2hlZCBmcm9tIHRoZSBzcGVjaWZpZWQgYXBwIGlkIGFuZCB0aGUgdHdvCi8vIHRvZ2V0aGVyIGFyZSB1c2VkIGZvciB2YWxpZGl0eSBjaGVjayBjYWxsIHRvIHRoZSBuZmQgcmVnaXN0cnkuCi8vCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBORkQgQXBwIGlkIHRvIHZlcmlmeS4KLy8KLy8gQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBORkQgQXBwIGlkIGlzIHZhbGlkLCBvdGhlcndpc2UgZmFsc2UuCmlzTkZEQXBwSURWYWxpZDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDUKCS8vIHVzZXJPZmZlcmVkTkZETmFtZSA9IEFwcElELmZyb21VaW50NjQobmZkQXBwSUQpLmdsb2JhbFN0YXRlKCdpLm5hbWUnKSBhcyBzdHJpbmcKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJRDogdWludDY0CglwdXNoYnl0ZXMgMHg2OTJlNmU2MTZkNjUgLy8gImkubmFtZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKS5nbG9iYWxTdGF0ZSgnaS5uYW1lJykKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDcKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydpc192YWxpZF9uZmRfYXBwaWQnLCB1c2VyT2ZmZXJlZE5GRE5hbWUsIGl0b2IobmZkQXBwSUQpXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyA3IC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NDgKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQodGhpcy5uZmRSZWdpc3RyeUFwcElkKQoJaW50YyAxOSAvLyBUTVBMX25mZFJlZ2lzdHJ5QXBwSWQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDQ5CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnaXNfdmFsaWRfbmZkX2FwcGlkJywgdXNlck9mZmVyZWRORkROYW1lLCBpdG9iKG5mZEFwcElEKV0KCWJ5dGVjIDEzIC8vICAiaXNfdmFsaWRfbmZkX2FwcGlkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAwIC8vIHVzZXJPZmZlcmVkTkZETmFtZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NTAKCS8vIGFwcGxpY2F0aW9uczogW0FwcElELmZyb21VaW50NjQobmZkQXBwSUQpXQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDUyCgkvLyByZXR1cm4gYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDE7CglpdHhuIExhc3RMb2cKCWJ0b2kKCWludGMgMSAvLyAxCgk9PQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QobmZkQXBwSUQ6IHVpbnQ2NCwgYWRkclRvRmluZDogQWRkcmVzcyk6IGJvb2xlYW4KLy8KLy8gQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgYWRkcmVzcyBpcyBwcmVzZW50IGluIGFuIE5GRHMgbGlzdCBvZiB2ZXJpZmllZCBhZGRyZXNzZXMuCi8vIFRoZSBORkQgaXMgYXNzdW1lZCB0byBoYXZlIGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXMgb2ZmaWNpYWwuCi8vCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJRCAtIFRoZSBORkQgYXBwbGljYXRpb24gaWQuCi8vIEBwYXJhbSB7QWRkcmVzc30gYWRkclRvRmluZCAtIFRoZSBhZGRyZXNzIHRvIGZpbmQgaW4gdGhlIHYuY2FBbGdvLjAuYXMgcHJvcGVydHkKLy8gQHJldHVybiB7Ym9vbGVhbn0gLSBgdHJ1ZWAgaWYgdGhlIGFkZHJlc3MgaXMgcHJlc2VudCwgYGZhbHNlYCBvdGhlcndpc2UuCmlzQWRkcmVzc0luTkZEQ0FBbGdvTGlzdDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXBuIDIKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ2NAoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJRCksCgkvLyAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElEKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElEOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY2CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsncmVhZF9wcm9wZXJ0eScsICd2LmNhQWxnby4wLmFzJ10KCXB1c2hieXRlcyAweDcyNjU2MTY0NWY3MDcyNmY3MDY1NzI3NDc5IC8vICJyZWFkX3Byb3BlcnR5IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDc2MmU2MzYxNDE2YzY3NmYyZTMwMmU2MTczIC8vICJ2LmNhQWxnby4wLmFzIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjgKCS8vIGNhQWxnb0RhdGEgPSB0aGlzLml0eG4ubGFzdExvZwoJaXR4biBMYXN0TG9nCglmcmFtZV9idXJ5IDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgY2FBbGdvRGF0YS5sZW5ndGg7IGkgKz0gMzIpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGk6IHVpbnQ2NAoKKmZvcl8xMDoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDY5CgkvLyBpIDwgY2FBbGdvRGF0YS5sZW5ndGgKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gY2FBbGdvRGF0YTogYnl0ZVtdCglsZW4KCTwKCWJ6ICpmb3JfMTBfZW5kCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzAKCS8vIGFkZHIgPSBleHRyYWN0MyhjYUFsZ29EYXRhLCBpLCAzMikKCWZyYW1lX2RpZyAwIC8vIGNhQWxnb0RhdGE6IGJ5dGVbXQoJZnJhbWVfZGlnIDEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMzIKCWV4dHJhY3QzCglmcmFtZV9idXJ5IDIgLy8gYWRkcjogYnl0ZVtdCgoJLy8gKmlmNTFfY29uZGl0aW9uCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ3MQoJLy8gYWRkciAhPT0gcmF3Qnl0ZXMoZ2xvYmFscy56ZXJvQWRkcmVzcykgJiYgYWRkciA9PT0gcmF3Qnl0ZXMoYWRkclRvRmluZCkKCWZyYW1lX2RpZyAyIC8vIGFkZHI6IGJ5dGVbXQoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJZHVwCglieiAqc2tpcF9hbmQxMAoJZnJhbWVfZGlnIDIgLy8gYWRkcjogYnl0ZVtdCglmcmFtZV9kaWcgLTIgLy8gYWRkclRvRmluZDogQWRkcmVzcwoJPT0KCSYmCgoqc2tpcF9hbmQxMDoKCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDcyCgkvLyByZXR1cm4gdHJ1ZTsKCWludGMgMSAvLyAxCgliICppc0FkZHJlc3NJbk5GRENBQWxnb0xpc3QqcmV0dXJuCgoqaWY1MV9lbmQ6CgoqZm9yXzEwX2NvbnRpbnVlOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NjkKCS8vIGkgKz0gMzIKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJaW50YyA0IC8vIDMyCgkrCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgliICpmb3JfMTAKCipmb3JfMTBfZW5kOgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0NzUKCS8vIHJldHVybiBmYWxzZTsKCWludGMgMCAvLyAwCgoqaXNBZGRyZXNzSW5ORkRDQUFsZ29MaXN0KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gYWxnb1NhdHVyYXRpb25MZXZlbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgbWF4aW11bSBhbGxvd2VkIHN0YWtlIHBlciB2YWxpZGF0b3IgYmFzZWQgb24gYSBwZXJjZW50YWdlIG9mIGFsbCBjdXJyZW50IG9ubGluZSBzdGFrZSBiZWZvcmUKLy8gdGhlIHZhbGlkYXRvciBpcyBjb25zaWRlcmVkIHNhdHVyYXRlZCAtIHdoZXJlIHJld2FyZHMgYXJlIGRpbWluaXNoZWQuCi8vIE5PVEU6IHRoaXMgZnVuY3Rpb24gaXMgZGVmaW5lZCB0d2ljZSAtIGhlcmUgYW5kIGluIHN0YWtpbmcgcG9vbCBjb250cmFjdC4gIEJvdGggbXVzdCBiZSBpZGVudGljYWwuCmFsZ29TYXR1cmF0aW9uTGV2ZWw6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNDg0CgkvLyBvbmxpbmUgPSB0aGlzLmdldEN1cnJlbnRPbmxpbmVTdGFrZSgpCgljYWxsc3ViIGdldEN1cnJlbnRPbmxpbmVTdGFrZQoJZnJhbWVfYnVyeSAwIC8vIG9ubGluZTogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0ODYKCS8vIHJldHVybiB3aWRlUmF0aW8oW29ubGluZSwgTUFYX1ZBTElEQVRPUl9TT0ZUX1BDVF9PRl9PTkxJTkVfMURFQ0lNQUxdLCBbMTAwMF0pOwoJZnJhbWVfZGlnIDAgLy8gb25saW5lOiB1aW50NjQKCXB1c2hpbnQgMTAwCgltdWx3CglpbnRjIDAgLy8gMAoJaW50YyAzMSAvLyAxMDAwCglkaXZtb2R3Cglwb3AKCXBvcAoJc3dhcAoJIQoKCS8vIHdpZGVSYXRpbyBmYWlsZWQKCWFzc2VydAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBtYXhBbGxvd2VkU3Rha2UoKTogdWludDY0Ci8vCi8vIFJldHVybnMgdGhlIE1BWElNVU0gYWxsb3dlZCBzdGFrZSBwZXIgdmFsaWRhdG9yIGJhc2VkIG9uIGEgcGVyY2VudGFnZSBvZiBhbGwgY3VycmVudCBvbmxpbmUgc3Rha2UuCi8vIEFkZGluZyBzdGFrZSBpcyBjb21wbGV0ZWx5IGJsb2NrZWQgYXQgdGhpcyBhbW91bnQuCm1heEFsbG93ZWRTdGFrZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE0OTQKCS8vIG9ubGluZSA9IHRoaXMuZ2V0Q3VycmVudE9ubGluZVN0YWtlKCkKCWNhbGxzdWIgZ2V0Q3VycmVudE9ubGluZVN0YWtlCglmcmFtZV9idXJ5IDAgLy8gb25saW5lOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTQ5NgoJLy8gcmV0dXJuIHdpZGVSYXRpbyhbb25saW5lLCBNQVhfVkFMSURBVE9SX0hBUkRfUENUX09GX09OTElORV8xREVDSU1BTF0sIFsxMDAwXSk7CglmcmFtZV9kaWcgMCAvLyBvbmxpbmU6IHVpbnQ2NAoJcHVzaGludCAxNTAKCW11bHcKCWludGMgMCAvLyAwCglpbnRjIDMxIC8vIDEwMDAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIG1heEFsZ29BbGxvd2VkUGVyUG9vbCgpOiB1aW50NjQKLy8KLy8gUmV0dXJucyB0aGUgTUFYSU1VTSBhbGxvd2VkIHN0YWtlIHBlciBwb29sIGFuZCBzdGlsbCByZWNlaXZlIGluY2VudGl2ZXMgLSB3ZSdsbCB0cmVhdCB0aGlzIGFzIHRoZSAnbWF4IHBlciBwb29sJwptYXhBbGdvQWxsb3dlZFBlclBvb2w6Cglwcm90byAwIDEKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUwNAoJLy8gcmV0dXJuIDcwXzAwMF8wMDBfMDAwXzAwMDsKCXB1c2hpbnQgNzBfMDAwXzAwMF8wMDBfMDAwCglyZXRzdWIKCi8vIGdldEN1cnJlbnRPbmxpbmVTdGFrZSgpOiB1aW50NjQKZ2V0Q3VycmVudE9ubGluZVN0YWtlOgoJcHJvdG8gMCAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiAyXzAwMF8wMDBfMDAwXzAwMF8wMDA7CglwdXNoaW50IDJfMDAwXzAwMF8wMDBfMDAwXzAwMAoJcmV0c3ViCgovLyBtaW5CYWxhbmNlRm9yQWNjb3VudChjb250cmFjdHM6IHVpbnQ2NCwgZXh0cmFQYWdlczogdWludDY0LCBhc3NldHM6IHVpbnQ2NCwgbG9jYWxJbnRzOiB1aW50NjQsIGxvY2FsQnl0ZXM6IHVpbnQ2NCwgZ2xvYmFsSW50czogdWludDY0LCBnbG9iYWxCeXRlczogdWludDY0KTogdWludDY0Cm1pbkJhbGFuY2VGb3JBY2NvdW50OgoJcHJvdG8gNyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMQoJLy8gbWluQmFsID0gQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRQoJaW50YyAxNSAvLyAxMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTIyCgkvLyBtaW5CYWwgKz0gY29udHJhY3RzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gY29udHJhY3RzOiB1aW50NjQKCWludGMgMTUgLy8gMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyMwoJLy8gbWluQmFsICs9IGV4dHJhUGFnZXMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBleHRyYVBhZ2VzOiB1aW50NjQKCWludGMgMTUgLy8gMTAwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyNAoJLy8gbWluQmFsICs9IGFzc2V0cyAqIEFTU0VUX0hPTERJTkdfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFzc2V0czogdWludDY0CglpbnRjIDE1IC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjUKCS8vIG1pbkJhbCArPSBsb2NhbEludHMgKiBTU0NfVkFMVUVfVUlOVAoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtNCAvLyBsb2NhbEludHM6IHVpbnQ2NAoJaW50YyAzMiAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MjYKCS8vIG1pbkJhbCArPSBnbG9iYWxJbnRzICogU1NDX1ZBTFVFX1VJTlQKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTYgLy8gZ2xvYmFsSW50czogdWludDY0CglpbnRjIDMyIC8vIDI4NTAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyNwoJLy8gbWluQmFsICs9IGxvY2FsQnl0ZXMgKiBTU0NfVkFMVUVfQllURVMKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTUgLy8gbG9jYWxCeXRlczogdWludDY0CglpbnRjIDMzIC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBleGFtcGxlcy9yZXRpL3ZhbGlkYXRvclJlZ2lzdHJ5LmFsZ28udHM6MTUyOAoJLy8gbWluQmFsICs9IGdsb2JhbEJ5dGVzICogU1NDX1ZBTFVFX0JZVEVTCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC03IC8vIGdsb2JhbEJ5dGVzOiB1aW50NjQKCWludGMgMzMgLy8gNTAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGV4YW1wbGVzL3JldGkvdmFsaWRhdG9yUmVnaXN0cnkuYWxnby50czoxNTI5CgkvLyByZXR1cm4gbWluQmFsOwoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UodG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gZXhhbXBsZXMvcmV0aS92YWxpZGF0b3JSZWdpc3RyeS5hbGdvLnRzOjE1MzYKCS8vIHJldHVybiBTQ0JPWF9QRVJCT1ggKyB0b3RhbE51bUJ5dGVzICogU0NCT1hfUEVSQllURTsKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIHRvdGFsTnVtQnl0ZXM6IHVpbnQ2NAoJcHVzaGludCA0MDAKCSoKCSsKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFiNWU4MmM2IC8vIG1ldGhvZCAiaW5pdFN0YWtpbmdDb250cmFjdCh1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc5NDcyZDgzIC8vIG1ldGhvZCAibG9hZFN0YWtpbmdDb250cmFjdERhdGEodWludDY0LGJ5dGVbXSl2b2lkIgoJcHVzaGJ5dGVzIDB4NWY3YWNmZDkgLy8gbWV0aG9kICJmaW5hbGl6ZVN0YWtpbmdDb250cmFjdCgpdm9pZCIKCXB1c2hieXRlcyAweDMxNzJjYTlkIC8vIG1ldGhvZCAiZ2FzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGE4NzE0MmQgLy8gbWV0aG9kICJnZXRNYnJBbW91bnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KSIKCXB1c2hieXRlcyAweGQxMzY2Y2MzIC8vIG1ldGhvZCAiZ2V0UHJvdG9jb2xDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4M2IwNDVjNWMgLy8gbWV0aG9kICJnZXROdW1WYWxpZGF0b3JzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NWFmZjYxZCAvLyBtZXRob2QgImdldFZhbGlkYXRvckNvbmZpZyh1aW50NjQpKHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQzMix1aW50MzIsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ4LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MWYyZjAxMDkgLy8gbWV0aG9kICJnZXRWYWxpZGF0b3JTdGF0ZSh1aW50NjQpKHVpbnQxNix1aW50NjQsdWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgyZmEyMmM0YiAvLyBtZXRob2QgImdldFZhbGlkYXRvck93bmVyQW5kTWFuYWdlcih1aW50NjQpKGFkZHJlc3MsYWRkcmVzcykiCglwdXNoYnl0ZXMgMHg5MTBlOTRhYyAvLyBtZXRob2QgImdldFBvb2xzKHVpbnQ2NCkodWludDY0LHVpbnQxNix1aW50NjQpW10iCglwdXNoYnl0ZXMgMHg1NzI3NjdkMSAvLyBtZXRob2QgImdldFBvb2xBcHBJZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDliNTA0YWFmIC8vIG1ldGhvZCAiZ2V0UG9vbEluZm8oKHVpbnQ2NCx1aW50NjQsdWludDY0KSkodWludDY0LHVpbnQxNix1aW50NjQpIgoJcHVzaGJ5dGVzIDB4ZmJjNjMxNzggLy8gbWV0aG9kICJnZXRDdXJNYXhTdGFrZVBlclBvb2wodWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI0NDk4Y2Y0IC8vIG1ldGhvZCAiZG9lc1N0YWtlck5lZWRUb1BheU1CUihhZGRyZXNzKWJvb2wiCglwdXNoYnl0ZXMgMHhmODQ2ZGQ3YSAvLyBtZXRob2QgImdldFN0YWtlZFBvb2xzRm9yQWNjb3VudChhZGRyZXNzKSh1aW50NjQsdWludDY0LHVpbnQ2NClbXSIKCXB1c2hieXRlcyAweDgzMDUwNTAxIC8vIG1ldGhvZCAiZ2V0VG9rZW5QYXlvdXRSYXRpbyh1aW50NjQpKHVpbnQ2NFsyNF0sdWludDY0KSIKCXB1c2hieXRlcyAweDdiYmI2YzhkIC8vIG1ldGhvZCAiZ2V0Tm9kZVBvb2xBc3NpZ25tZW50cyh1aW50NjQpKCh1aW50NjRbM10pWzhdKSIKCXB1c2hieXRlcyAweGY4Mzk0MTRhIC8vIG1ldGhvZCAiZ2V0TkZEUmVnaXN0cnlJRCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MGMzMTdjZmIgLy8gbWV0aG9kICJhZGRWYWxpZGF0b3IocGF5LHN0cmluZywodWludDY0LGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDgsYWRkcmVzcyx1aW50NjRbNF0sdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDMyLHVpbnQzMixhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDgsdWludDY0LHVpbnQ2NCkpdWludDY0IgoJcHVzaGJ5dGVzIDB4M2UyODg5NzIgLy8gbWV0aG9kICJjaGFuZ2VWYWxpZGF0b3JNYW5hZ2VyKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhkZDVmYWFkYSAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvclN1bnNldEluZm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDE4YWFjN2E3IC8vIG1ldGhvZCAiY2hhbmdlVmFsaWRhdG9yTkZEKHVpbnQ2NCx1aW50NjQsc3RyaW5nKXZvaWQiCglwdXNoYnl0ZXMgMHhmOTllZjU0ZCAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvckNvbW1pc3Npb25BZGRyZXNzKHVpbnQ2NCxhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgxMDgwOWQ0ZCAvLyBtZXRob2QgImNoYW5nZVZhbGlkYXRvclJld2FyZEluZm8odWludDY0LHVpbnQ4LGFkZHJlc3MsdWludDY0WzRdLHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGU3NzhkZDVhIC8vIG1ldGhvZCAiYWRkUG9vbChwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4YmY1MjU5ZDAgLy8gbWV0aG9kICJhZGRTdGFrZShwYXksdWludDY0LHVpbnQ2NCkodWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4NGRmOGQ4NmUgLy8gbWV0aG9kICJzZXRUb2tlblBheW91dFJhdGlvKHVpbnQ2NCkodWludDY0WzI0XSx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4NDE4ZmNlZmMgLy8gbWV0aG9kICJzdGFrZVVwZGF0ZWRWaWFSZXdhcmRzKCh1aW50NjQsdWludDY0LHVpbnQ2NCksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHhhMmRjNTFiNSAvLyBtZXRob2QgInN0YWtlUmVtb3ZlZCgodWludDY0LHVpbnQ2NCx1aW50NjQpLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxib29sKXZvaWQiCglwdXNoYnl0ZXMgMHgyODczZjUwNCAvLyBtZXRob2QgImZpbmRQb29sRm9yU3Rha2VyKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkoKHVpbnQ2NCx1aW50NjQsdWludDY0KSxib29sLGJvb2wpIgoJcHVzaGJ5dGVzIDB4MDU0N2Y0ZmUgLy8gbWV0aG9kICJtb3ZlUG9vbFRvTm9kZSh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2I2NjgzNTggLy8gbWV0aG9kICJlbXB0eVRva2VuUmV3YXJkcyh1aW50NjQsYWRkcmVzcyl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2luaXRTdGFraW5nQ29udHJhY3QgKmFiaV9yb3V0ZV9sb2FkU3Rha2luZ0NvbnRyYWN0RGF0YSAqYWJpX3JvdXRlX2ZpbmFsaXplU3Rha2luZ0NvbnRyYWN0ICphYmlfcm91dGVfZ2FzICphYmlfcm91dGVfZ2V0TWJyQW1vdW50cyAqYWJpX3JvdXRlX2dldFByb3RvY29sQ29uc3RyYWludHMgKmFiaV9yb3V0ZV9nZXROdW1WYWxpZGF0b3JzICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yQ29uZmlnICphYmlfcm91dGVfZ2V0VmFsaWRhdG9yU3RhdGUgKmFiaV9yb3V0ZV9nZXRWYWxpZGF0b3JPd25lckFuZE1hbmFnZXIgKmFiaV9yb3V0ZV9nZXRQb29scyAqYWJpX3JvdXRlX2dldFBvb2xBcHBJZCAqYWJpX3JvdXRlX2dldFBvb2xJbmZvICphYmlfcm91dGVfZ2V0Q3VyTWF4U3Rha2VQZXJQb29sICphYmlfcm91dGVfZG9lc1N0YWtlck5lZWRUb1BheU1CUiAqYWJpX3JvdXRlX2dldFN0YWtlZFBvb2xzRm9yQWNjb3VudCAqYWJpX3JvdXRlX2dldFRva2VuUGF5b3V0UmF0aW8gKmFiaV9yb3V0ZV9nZXROb2RlUG9vbEFzc2lnbm1lbnRzICphYmlfcm91dGVfZ2V0TkZEUmVnaXN0cnlJRCAqYWJpX3JvdXRlX2FkZFZhbGlkYXRvciAqYWJpX3JvdXRlX2NoYW5nZVZhbGlkYXRvck1hbmFnZXIgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JTdW5zZXRJbmZvICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yTkZEICphYmlfcm91dGVfY2hhbmdlVmFsaWRhdG9yQ29tbWlzc2lvbkFkZHJlc3MgKmFiaV9yb3V0ZV9jaGFuZ2VWYWxpZGF0b3JSZXdhcmRJbmZvICphYmlfcm91dGVfYWRkUG9vbCAqYWJpX3JvdXRlX2FkZFN0YWtlICphYmlfcm91dGVfc2V0VG9rZW5QYXlvdXRSYXRpbyAqYWJpX3JvdXRlX3N0YWtlVXBkYXRlZFZpYVJld2FyZHMgKmFiaV9yb3V0ZV9zdGFrZVJlbW92ZWQgKmFiaV9yb3V0ZV9maW5kUG9vbEZvclN0YWtlciAqYWJpX3JvdXRlX21vdmVQb29sVG9Ob2RlICphYmlfcm91dGVfZW1wdHlUb2tlblJld2FyZHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipjYWxsX1VwZGF0ZUFwcGxpY2F0aW9uOgoJcHVzaGJ5dGVzIDB4NDZmNzY1MzMgLy8gbWV0aG9kICJ1cGRhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBVcGRhdGVBcHBsaWNhdGlvbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { diff --git a/examples/reti/artifacts/ValidatorRegistry.src_map.json b/examples/reti/artifacts/ValidatorRegistry.src_map.json index 52abaa366..472ec845c 100644 --- a/examples/reti/artifacts/ValidatorRegistry.src_map.json +++ b/examples/reti/artifacts/ValidatorRegistry.src_map.json @@ -12,7 +12,7 @@ "source": "examples/reti/validatorRegistry.algo.ts:168" }, { - "teal": 11, + "teal": 15, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ 1, @@ -20,54 +20,48 @@ ] }, { - "teal": 18, + "teal": 16, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 3, - 4 + 3 ] }, { - "teal": 19, + "teal": 17, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 4, 5 ] }, { - "teal": 20, + "teal": 18, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 6, - 7 + 6 ] }, { - "teal": 21, + "teal": 19, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 7, 8 ] }, { - "teal": 22, - "source": "examples/reti/validatorRegistry.algo.ts:168", - "pc": [ - 9, - 10 - ] - }, - { - "teal": 23, + "teal": 20, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 11 + 9 ] }, { - "teal": 24, + "teal": 21, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 10, + 11, 12, 13, 14, @@ -91,63 +85,63 @@ 32, 33, 34, - 35, - 36, - 37 + 35 ] }, { - "teal": 28, + "teal": 25, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 38 + 36 ] }, { - "teal": 33, + "teal": 30, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 39, - 40, - 41 + 37, + 38, + 39 ] }, { - "teal": 34, + "teal": 31, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 42 + 40 ] }, { - "teal": 35, + "teal": 32, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 43 + 41 ] }, { - "teal": 39, + "teal": 36, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 44, - 45, - 46 + 42, + 43, + 44 ] }, { - "teal": 43, + "teal": 40, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 47, - 48 + 45, + 46 ] }, { - "teal": 44, + "teal": 41, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ + 47, + 48, 49, 50, 51, @@ -179,306 +173,312 @@ 77, 78, 79, - 80, - 81, - 82 + 80 ] }, { - "teal": 45, + "teal": 42, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 83 + 81 ] }, { - "teal": 46, + "teal": 43, "source": "examples/reti/validatorRegistry.algo.ts:202", "pc": [ - 84 + 82 ] }, { - "teal": 50, + "teal": 47, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ - 85, - 86 + 83, + 84 ] }, { - "teal": 51, + "teal": 48, "source": "examples/reti/validatorRegistry.algo.ts:204", "pc": [ - 87 + 85 ] }, { - "teal": 55, + "teal": 52, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 88, - 89 + 86, + 87 ] }, { - "teal": 56, + "teal": 53, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 90 + 88 ] }, { - "teal": 57, + "teal": 54, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 91, - 92 + 89, + 90 ] }, { - "teal": 58, + "teal": 55, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 93 + 91 ] }, { - "teal": 59, + "teal": 56, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 94, - 95 + 92, + 93 ] }, { - "teal": 60, + "teal": 57, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 96 + 94 ] }, { - "teal": 61, + "teal": 58, "source": "examples/reti/validatorRegistry.algo.ts:205", "pc": [ - 97 + 95 ] }, { - "teal": 62, + "teal": 59, "source": "examples/reti/validatorRegistry.algo.ts:201", "pc": [ - 98 + 96 ] }, { - "teal": 67, + "teal": 64, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 99, - 100, - 101 + 97, + 98, + 99 ] }, { - "teal": 68, + "teal": 65, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 102 + 100 ] }, { - "teal": 69, + "teal": 66, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 103 + 101 ] }, { - "teal": 73, + "teal": 70, "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 104, + 102, + 103, + 104 + ] + }, + { + "teal": 74, + "source": "examples/reti/validatorRegistry.algo.ts:209", + "pc": [ 105, 106 ] }, { - "teal": 77, + "teal": 75, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 107, - 108 + 107 ] }, { - "teal": 78, + "teal": 76, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ + 108, 109 ] }, { - "teal": 79, + "teal": 77, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 110, - 111 + 110 ] }, { - "teal": 80, + "teal": 78, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ + 111, 112 ] }, { - "teal": 81, + "teal": 79, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 113, - 114 + 113 ] }, { - "teal": 82, + "teal": 80, "source": "examples/reti/validatorRegistry.algo.ts:209", "pc": [ - 115 + 114 ] }, { - "teal": 83, - "source": "examples/reti/validatorRegistry.algo.ts:209", + "teal": 84, + "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ + 115, 116 ] }, { - "teal": 87, + "teal": 85, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ - 117, - 118 + 117 ] }, { - "teal": 88, + "teal": 86, "source": "examples/reti/validatorRegistry.algo.ts:210", "pc": [ - 119 + 118 ] }, { - "teal": 89, - "source": "examples/reti/validatorRegistry.algo.ts:210", + "teal": 90, + "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ + 119, 120 ] }, { - "teal": 93, + "teal": 91, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ - 121, - 122 + 121 ] }, { - "teal": 94, + "teal": 92, "source": "examples/reti/validatorRegistry.algo.ts:211", "pc": [ - 123 + 122 ] }, { - "teal": 95, - "source": "examples/reti/validatorRegistry.algo.ts:211", + "teal": 96, + "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ + 123, 124 ] }, { - "teal": 99, + "teal": 97, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ - 125, - 126 + 125 ] }, { - "teal": 100, + "teal": 98, "source": "examples/reti/validatorRegistry.algo.ts:212", "pc": [ - 127 + 126 ] }, { - "teal": 101, - "source": "examples/reti/validatorRegistry.algo.ts:212", + "teal": 99, + "source": "examples/reti/validatorRegistry.algo.ts:208", "pc": [ - 128 + 127 ] }, { - "teal": 102, - "source": "examples/reti/validatorRegistry.algo.ts:208", + "teal": 104, + "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 129 + 128, + 129, + 130 ] }, { - "teal": 107, + "teal": 105, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 130, - 131, - 132 + 131 ] }, { "teal": 108, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 133 + 132, + 133, + 134 ] }, { - "teal": 111, + "teal": 109, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 134, - 135, - 136 + 135 ] }, { - "teal": 112, + "teal": 110, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 137 + 136 ] }, { - "teal": 113, + "teal": 114, "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 138 + 137, + 138, + 139 ] }, { - "teal": 117, - "source": "examples/reti/validatorRegistry.algo.ts:215", + "teal": 118, + "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 139, 140, 141 ] }, { - "teal": 121, + "teal": 119, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ 142, @@ -486,145 +486,145 @@ ] }, { - "teal": 122, + "teal": 120, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 144, - 145 + 144 ] }, { - "teal": 123, + "teal": 121, "source": "examples/reti/validatorRegistry.algo.ts:217", "pc": [ - 146 + 145 ] }, { - "teal": 124, - "source": "examples/reti/validatorRegistry.algo.ts:217", + "teal": 122, + "source": "examples/reti/validatorRegistry.algo.ts:215", "pc": [ - 147 + 146 ] }, { - "teal": 125, - "source": "examples/reti/validatorRegistry.algo.ts:215", + "teal": 127, + "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 148 + 147, + 148, + 149 ] }, { - "teal": 130, + "teal": 128, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 149, 150, - 151 + 151, + 152 ] }, { "teal": 131, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 152, 153, - 154 + 154, + 155 ] }, { - "teal": 134, + "teal": 132, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 155, - 156, - 157 + 156 ] }, { "teal": 135, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 158 + 157, + 158, + 159 ] }, { - "teal": 138, + "teal": 136, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 159, - 160, - 161 + 160 ] }, { - "teal": 139, + "teal": 137, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 162 + 161 ] }, { - "teal": 140, + "teal": 141, "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 163 + 162, + 163, + 164 ] }, { - "teal": 144, - "source": "examples/reti/validatorRegistry.algo.ts:220", + "teal": 145, + "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 164, 165, 166 ] }, { - "teal": 148, + "teal": 146, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 167, - 168 + 167 ] }, { - "teal": 149, + "teal": 147, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 169 + 168 ] }, { - "teal": 150, + "teal": 148, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 170 + 169 ] }, { - "teal": 151, + "teal": 149, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 171 + 170 ] }, { - "teal": 152, + "teal": 150, "source": "examples/reti/validatorRegistry.algo.ts:221", "pc": [ - 172 + 171 ] }, { - "teal": 153, - "source": "examples/reti/validatorRegistry.algo.ts:221", + "teal": 154, + "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ + 172, 173 ] }, { - "teal": 157, + "teal": 155, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 174, @@ -632,7 +632,7 @@ ] }, { - "teal": 158, + "teal": 156, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ 176, @@ -640,447 +640,441 @@ ] }, { - "teal": 159, + "teal": 157, "source": "examples/reti/validatorRegistry.algo.ts:222", "pc": [ - 178, - 179 + 178 ] }, { - "teal": 160, - "source": "examples/reti/validatorRegistry.algo.ts:222", + "teal": 158, + "source": "examples/reti/validatorRegistry.algo.ts:220", "pc": [ - 180 + 179 ] }, { - "teal": 161, - "source": "examples/reti/validatorRegistry.algo.ts:220", + "teal": 163, + "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 181 + 180, + 181, + 182 ] }, { - "teal": 166, + "teal": 164, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 182, - 183, - 184 + 183 ] }, { - "teal": 167, + "teal": 165, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 185 + 184 ] }, { - "teal": 168, + "teal": 169, "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 186 + 185, + 186, + 187 ] }, { - "teal": 172, - "source": "examples/reti/validatorRegistry.algo.ts:225", + "teal": 173, + "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 187, 188, 189 ] }, { - "teal": 176, + "teal": 174, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 190, - 191 + 190 ] }, { - "teal": 177, + "teal": 175, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ + 191, 192 ] }, { - "teal": 178, + "teal": 176, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 193, - 194 + 193 ] }, { - "teal": 179, + "teal": 177, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ + 194, 195 ] }, { - "teal": 180, + "teal": 178, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 196, - 197 + 196 ] }, { - "teal": 181, + "teal": 179, "source": "examples/reti/validatorRegistry.algo.ts:226", "pc": [ - 198 + 197 ] }, { - "teal": 182, - "source": "examples/reti/validatorRegistry.algo.ts:226", + "teal": 180, + "source": "examples/reti/validatorRegistry.algo.ts:225", "pc": [ - 199 + 198 ] }, { - "teal": 183, - "source": "examples/reti/validatorRegistry.algo.ts:225", + "teal": 185, + "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 200 + 199, + 200, + 201 ] }, { - "teal": 188, + "teal": 186, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 201, - 202, - 203 + 202 ] }, { - "teal": 189, + "teal": 187, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 204 + 203 ] }, { - "teal": 190, + "teal": 193, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 205 + 204, + 205, + 206 ] }, { - "teal": 196, + "teal": 194, "source": "examples/reti/validatorRegistry.algo.ts:232", "pc": [ - 206, - 207, - 208 + 207 ] }, { - "teal": 197, - "source": "examples/reti/validatorRegistry.algo.ts:232", + "teal": 199, + "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 209 + 208 ] }, { "teal": 202, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 210 + 209, + 210, + 211 ] }, { - "teal": 205, + "teal": 203, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 211, - 212, - 213 + 212 ] }, { - "teal": 206, + "teal": 204, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 214 + 213 ] }, { - "teal": 207, + "teal": 205, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 215 + 214 ] }, { - "teal": 208, + "teal": 206, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 216 + 215 ] }, { - "teal": 209, + "teal": 218, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 217 + 216, + 217, + 218 ] }, { - "teal": 221, - "source": "examples/reti/validatorRegistry.algo.ts:243", + "teal": 241, + "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 218, 219, - 220 + 220, + 221 ] }, { - "teal": 244, + "teal": 242, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 221, 222, - 223 + 223, + 224 ] }, { - "teal": 245, + "teal": 243, "source": "examples/reti/validatorRegistry.algo.ts:247", "pc": [ - 224, - 225, - 226 + 225 ] }, { - "teal": 246, - "source": "examples/reti/validatorRegistry.algo.ts:247", + "teal": 244, + "source": "examples/reti/validatorRegistry.algo.ts:257", "pc": [ + 226, 227 ] }, { - "teal": 247, - "source": "examples/reti/validatorRegistry.algo.ts:257", + "teal": 245, + "source": "examples/reti/validatorRegistry.algo.ts:256", "pc": [ 228, 229 ] }, { - "teal": 248, - "source": "examples/reti/validatorRegistry.algo.ts:256", + "teal": 246, + "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ - 230, - 231 + 230 ] }, { - "teal": 249, + "teal": 247, "source": "examples/reti/validatorRegistry.algo.ts:255", "pc": [ + 231, 232 ] }, { - "teal": 250, - "source": "examples/reti/validatorRegistry.algo.ts:255", + "teal": 248, + "source": "examples/reti/validatorRegistry.algo.ts:252", "pc": [ 233, 234 ] }, { - "teal": 251, - "source": "examples/reti/validatorRegistry.algo.ts:252", - "pc": [ - 235, - 236 - ] - }, - { - "teal": 252, + "teal": 249, "source": "examples/reti/validatorRegistry.algo.ts:249", "pc": [ - 237 + 235 ] }, { - "teal": 253, + "teal": 250, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 238, - 239, - 240 + 236, + 237, + 238 ] }, { - "teal": 254, + "teal": 251, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 241 + 239 ] }, { - "teal": 255, + "teal": 252, "source": "examples/reti/validatorRegistry.algo.ts:248", "pc": [ - 242 + 240 ] }, { - "teal": 256, + "teal": 253, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 243, - 244 + 241, + 242 ] }, { - "teal": 257, + "teal": 254, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ - 245, - 246, - 247 + 243, + 244, + 245 ] }, { - "teal": 258, + "teal": 255, "source": "examples/reti/validatorRegistry.algo.ts:261", "pc": [ - 248, - 249, - 250 + 246, + 247, + 248 ] }, { - "teal": 259, + "teal": 256, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 251 + 249 ] }, { - "teal": 260, + "teal": 257, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 252 + 250 ] }, { - "teal": 261, + "teal": 258, "source": "examples/reti/validatorRegistry.algo.ts:260", "pc": [ - 253 + 251 ] }, { - "teal": 262, + "teal": 259, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 254, - 255, - 256 + 252, + 253, + 254 ] }, { - "teal": 263, + "teal": 260, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 257, - 258, - 259 + 255, + 256, + 257 ] }, { - "teal": 264, + "teal": 261, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 260 + 258 ] }, { - "teal": 265, + "teal": 262, "source": "examples/reti/validatorRegistry.algo.ts:264", "pc": [ - 261 + 259 ] }, { - "teal": 266, + "teal": 263, "source": "examples/reti/validatorRegistry.algo.ts:243", "pc": [ - 262 + 260 ] }, { - "teal": 271, + "teal": 268, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 263 + 261 ] }, { - "teal": 274, + "teal": 271, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 264, - 265, - 266 + 262, + 263, + 264 ] }, { - "teal": 275, + "teal": 272, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 267 + 265 ] }, { - "teal": 276, + "teal": 273, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 268 + 266 ] }, { - "teal": 277, + "teal": 274, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 269 + 267 ] }, { - "teal": 278, + "teal": 275, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 270 + 268 ] }, { - "teal": 284, + "teal": 281, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 271, - 272, - 273 + 269, + 270, + 271 ] }, { - "teal": 300, + "teal": 297, "source": "examples/reti/validatorRegistry.algo.ts:277", "pc": [ + 272, + 273, 274, 275, 276, @@ -1120,84 +1114,84 @@ 310, 311, 312, - 313, - 314, - 315 + 313 ] }, { - "teal": 301, + "teal": 298, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 316, - 317, - 318 + 314, + 315, + 316 ] }, { - "teal": 302, + "teal": 299, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 319 + 317 ] }, { - "teal": 303, + "teal": 300, "source": "examples/reti/validatorRegistry.algo.ts:278", "pc": [ - 320 + 318 ] }, { - "teal": 304, + "teal": 301, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 321, - 322, - 323 + 319, + 320, + 321 ] }, { - "teal": 305, + "teal": 302, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 324 + 322 ] }, { - "teal": 306, + "teal": 303, "source": "examples/reti/validatorRegistry.algo.ts:279", "pc": [ - 325 + 323 ] }, { - "teal": 307, + "teal": 304, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 326, - 327, - 328 + 324, + 325, + 326 ] }, { - "teal": 308, + "teal": 305, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 329 + 327 ] }, { - "teal": 309, + "teal": 306, "source": "examples/reti/validatorRegistry.algo.ts:280", "pc": [ - 330 + 328 ] }, { - "teal": 310, + "teal": 307, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ + 329, + 330, 331, 332, 333, @@ -1205,22 +1199,22 @@ 335, 336, 337, - 338, - 339, - 340 + 338 ] }, { - "teal": 311, + "teal": 308, "source": "examples/reti/validatorRegistry.algo.ts:281", "pc": [ - 341 + 339 ] }, { - "teal": 312, + "teal": 309, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ + 340, + 341, 342, 343, 344, @@ -1228,22 +1222,22 @@ 346, 347, 348, - 349, - 350, - 351 + 349 ] }, { - "teal": 313, + "teal": 310, "source": "examples/reti/validatorRegistry.algo.ts:282", "pc": [ - 352 + 350 ] }, { - "teal": 314, + "teal": 311, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ + 351, + 352, 353, 354, 355, @@ -1251,313 +1245,319 @@ 357, 358, 359, - 360, - 361, - 362 + 360 ] }, { - "teal": 315, + "teal": 312, "source": "examples/reti/validatorRegistry.algo.ts:283", "pc": [ - 363 + 361 ] }, { - "teal": 316, + "teal": 313, "source": "examples/reti/validatorRegistry.algo.ts:271", "pc": [ - 364 + 362 ] }, { - "teal": 321, + "teal": 318, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 365 + 363 ] }, { - "teal": 324, + "teal": 321, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 366, - 367, - 368 + 364, + 365, + 366 ] }, { - "teal": 325, + "teal": 322, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 369 + 367 ] }, { - "teal": 326, + "teal": 323, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 370 + 368 ] }, { - "teal": 327, + "teal": 324, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 371 + 369 ] }, { - "teal": 328, + "teal": 325, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 372 + 370 ] }, { - "teal": 329, + "teal": 326, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 373 + 371 ] }, { - "teal": 335, + "teal": 332, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 374, - 375, - 376 + 372, + 373, + 374 ] }, { - "teal": 339, + "teal": 336, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ - 377, - 378 + 375, + 376 ] }, { - "teal": 340, + "teal": 337, "source": "examples/reti/validatorRegistry.algo.ts:292", "pc": [ - 379 + 377 ] }, { - "teal": 341, + "teal": 338, "source": "examples/reti/validatorRegistry.algo.ts:291", "pc": [ - 380 + 378 + ] + }, + { + "teal": 343, + "source": "examples/reti/validatorRegistry.algo.ts:296", + "pc": [ + 379 ] }, { "teal": 346, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 381 + 380, + 381, + 382 ] }, { - "teal": 349, + "teal": 347, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 382, - 383, - 384 + 383 ] }, { "teal": 350, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 385 + 384, + 385, + 386 ] }, { - "teal": 353, + "teal": 351, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 386, - 387, - 388 + 387 ] }, { - "teal": 354, + "teal": 352, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 389 + 388 ] }, { - "teal": 355, + "teal": 353, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 390 + 389 ] }, { - "teal": 356, + "teal": 354, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 391 + 390 ] }, { - "teal": 357, + "teal": 358, "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 392 + 391, + 392, + 393 ] }, { - "teal": 361, - "source": "examples/reti/validatorRegistry.algo.ts:296", + "teal": 362, + "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 393, - 394, - 395 + 394 ] }, { - "teal": 365, + "teal": 363, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 395, 396 ] }, { - "teal": 366, + "teal": 364, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 397, - 398 + 397 ] }, { - "teal": 367, + "teal": 365, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 398, 399 ] }, { - "teal": 368, + "teal": 366, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 400, - 401 + 400 ] }, { - "teal": 369, + "teal": 367, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 402 + 401 ] }, { - "teal": 370, + "teal": 368, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ + 402, 403 ] }, { - "teal": 371, + "teal": 369, "source": "examples/reti/validatorRegistry.algo.ts:297", "pc": [ - 404, - 405 + 404 ] }, { - "teal": 372, - "source": "examples/reti/validatorRegistry.algo.ts:297", + "teal": 370, + "source": "examples/reti/validatorRegistry.algo.ts:296", "pc": [ - 406 + 405 ] }, { - "teal": 373, - "source": "examples/reti/validatorRegistry.algo.ts:296", + "teal": 375, + "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 407 + 406 ] }, { "teal": 378, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 408 + 407, + 408, + 409 ] }, { - "teal": 381, + "teal": 379, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 409, - 410, - 411 + 410 ] }, { "teal": 382, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 412 + 411, + 412, + 413 ] }, { - "teal": 385, + "teal": 383, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 413, - 414, - 415 + 414 ] }, { - "teal": 386, + "teal": 384, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 416 + 415 ] }, { - "teal": 387, + "teal": 385, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 417 + 416 ] }, { - "teal": 388, + "teal": 386, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 418 + 417 ] }, { - "teal": 389, + "teal": 390, "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 419 + 418, + 419, + 420 ] }, { - "teal": 393, - "source": "examples/reti/validatorRegistry.algo.ts:301", + "teal": 394, + "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 420, 421, 422 ] }, { - "teal": 397, + "teal": 395, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ 423, @@ -1565,426 +1565,426 @@ ] }, { - "teal": 398, + "teal": 396, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 425, - 426 + 425 ] }, { - "teal": 399, + "teal": 397, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ + 426, 427 ] }, { - "teal": 400, + "teal": 398, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 428, - 429 + 428 ] }, { - "teal": 401, + "teal": 399, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 430 + 429 ] }, { - "teal": 402, + "teal": 400, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ + 430, 431 ] }, { - "teal": 403, + "teal": 401, "source": "examples/reti/validatorRegistry.algo.ts:302", "pc": [ - 432, - 433 + 432 ] }, { - "teal": 404, - "source": "examples/reti/validatorRegistry.algo.ts:302", + "teal": 402, + "source": "examples/reti/validatorRegistry.algo.ts:301", "pc": [ - 434 + 433 ] }, { - "teal": 405, - "source": "examples/reti/validatorRegistry.algo.ts:301", + "teal": 407, + "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 435 + 434 ] }, { "teal": 410, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 436 + 435, + 436, + 437 ] }, { - "teal": 413, + "teal": 411, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 437, - 438, - 439 + 438 ] }, { "teal": 414, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 440 + 439, + 440, + 441 ] }, { - "teal": 417, + "teal": 415, + "source": "examples/reti/validatorRegistry.algo.ts:306", + "pc": [ + 442 + ] + }, + { + "teal": 416, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 441, - 442, 443 ] }, { - "teal": 418, + "teal": 417, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 444 ] }, { - "teal": 419, + "teal": 418, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ 445 ] }, { - "teal": 420, + "teal": 422, "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 446 + 446, + 447, + 448 ] }, { - "teal": 421, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 426, + "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 447 + 449 ] }, { - "teal": 425, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 427, + "source": "examples/reti/validatorRegistry.algo.ts:307", + "pc": [ + 450, + 451 + ] + }, + { + "teal": 428, + "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 448, - 449, - 450 + 452 ] }, { "teal": 429, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 451 + 453, + 454 ] }, { "teal": 430, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 452, - 453 + 455 ] }, { "teal": 431, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 454 + 456 ] }, { "teal": 432, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 455, - 456 + 457, + 458 ] }, { "teal": 433, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 457 + 459 ] }, { "teal": 434, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 458 + 460, + 461 ] }, { "teal": 435, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 459, - 460 + 462, + 463 ] }, { "teal": 436, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 461 + 464 ] }, { "teal": 437, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 462, - 463 + 465, + 466 ] }, { "teal": 438, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 464, - 465 + 467 ] }, { "teal": 439, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 466 + 468 ] }, { "teal": 440, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 467, - 468 + 469, + 470 ] }, { "teal": 441, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 469 + 471 ] }, { "teal": 442, "source": "examples/reti/validatorRegistry.algo.ts:307", "pc": [ - 470 + 472 ] }, { "teal": 443, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "source": "examples/reti/validatorRegistry.algo.ts:306", "pc": [ - 471, - 472 + 473 ] }, { - "teal": 444, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "teal": 448, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 473 + 474 ] }, { - "teal": 445, - "source": "examples/reti/validatorRegistry.algo.ts:307", + "teal": 451, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 474 + 475, + 476, + 477 ] }, { - "teal": 446, - "source": "examples/reti/validatorRegistry.algo.ts:306", + "teal": 452, + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 475 + 478 ] }, { - "teal": 451, + "teal": 455, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 476 + 479, + 480, + 481 ] }, { - "teal": 454, + "teal": 456, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 477, - 478, - 479 + 482 ] }, { - "teal": 455, + "teal": 457, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 480 + 483 ] }, { "teal": 458, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 481, - 482, - 483 + 484, + 485 ] }, { "teal": 459, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 484 + 486 ] }, { "teal": 460, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 485 + 487 ] }, { "teal": 461, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 486, - 487 + 488, + 489, + 490 ] }, { "teal": 462, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 488 + 491 ] }, { "teal": 463, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 489 - ] - }, - { - "teal": 464, - "source": "examples/reti/validatorRegistry.algo.ts:317", - "pc": [ - 490, - 491, 492 ] }, { - "teal": 465, + "teal": 464, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 493 ] }, { - "teal": 466, + "teal": 465, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 494 ] }, { - "teal": 467, + "teal": 466, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 495 ] }, { - "teal": 468, + "teal": 467, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 496 ] }, { - "teal": 469, - "source": "examples/reti/validatorRegistry.algo.ts:317", - "pc": [ - 497 - ] - }, - { - "teal": 470, + "teal": 476, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 498 + 497, + 498, + 499 ] }, { "teal": 479, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 499, - 500, - 501 + 500 ] }, { - "teal": 482, + "teal": 480, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ + 501, 502 ] }, { - "teal": 483, - "source": "examples/reti/validatorRegistry.algo.ts:317", + "teal": 484, + "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ - 503, - 504 + 503 ] }, { - "teal": 487, + "teal": 485, "source": "examples/reti/validatorRegistry.algo.ts:318", "pc": [ + 504, 505 ] }, { - "teal": 488, - "source": "examples/reti/validatorRegistry.algo.ts:318", + "teal": 489, + "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 506, 507 ] }, { - "teal": 492, + "teal": 490, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ 508, @@ -1992,74 +1992,74 @@ ] }, { - "teal": 493, + "teal": 491, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 510, - 511 + 510 ] }, { - "teal": 494, + "teal": 492, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 511, 512 ] }, { - "teal": 495, + "teal": 493, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 513, - 514 + 513 ] }, { - "teal": 496, + "teal": 494, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 515 + 514 ] }, { - "teal": 497, + "teal": 495, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 515, 516 ] }, { - "teal": 498, + "teal": 496, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ - 517, - 518 + 517 ] }, { - "teal": 499, + "teal": 497, "source": "examples/reti/validatorRegistry.algo.ts:319", "pc": [ + 518, 519 ] }, { - "teal": 500, - "source": "examples/reti/validatorRegistry.algo.ts:319", + "teal": 501, + "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 520, - 521 + 520 ] }, { - "teal": 504, + "teal": 502, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ + 521, 522 ] }, { - "teal": 505, + "teal": 507, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 523, @@ -2067,38 +2067,38 @@ ] }, { - "teal": 510, + "teal": 508, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 525, - 526 + 525 ] }, { - "teal": 511, + "teal": 509, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 527 + 526 ] }, { - "teal": 512, + "teal": 510, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 528 + 527, + 528, + 529 ] }, { - "teal": 513, - "source": "examples/reti/validatorRegistry.algo.ts:320", + "teal": 515, + "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 529, 530, 531 ] }, { - "teal": 518, + "teal": 516, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 532, @@ -2106,7 +2106,7 @@ ] }, { - "teal": 519, + "teal": 517, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ 534, @@ -2114,89 +2114,89 @@ ] }, { - "teal": 520, + "teal": 518, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 536, - 537 + 536 ] }, { - "teal": 521, + "teal": 519, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 538 + 537 ] }, { - "teal": 522, + "teal": 520, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 539 + 538 ] }, { - "teal": 523, + "teal": 521, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 540 + 539 ] }, { - "teal": 524, + "teal": 522, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 541 + 540 ] }, { - "teal": 525, + "teal": 523, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 542 + 541 ] }, { - "teal": 526, + "teal": 524, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 543 + 542 ] }, { - "teal": 527, + "teal": 525, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 544 + 543 ] }, { - "teal": 528, + "teal": 526, "source": "examples/reti/validatorRegistry.algo.ts:321", "pc": [ - 545 + 544, + 545, + 546 ] }, { "teal": 529, - "source": "examples/reti/validatorRegistry.algo.ts:321", + "source": "examples/reti/validatorRegistry.algo.ts:323", "pc": [ - 546, 547, - 548 + 548, + 549 ] }, { - "teal": 532, - "source": "examples/reti/validatorRegistry.algo.ts:323", + "teal": 534, + "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 549, 550, 551 ] }, { - "teal": 537, + "teal": 535, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 552, @@ -2204,7 +2204,7 @@ ] }, { - "teal": 538, + "teal": 536, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 554, @@ -2212,7 +2212,7 @@ ] }, { - "teal": 539, + "teal": 537, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ 556, @@ -2220,92 +2220,92 @@ ] }, { - "teal": 540, + "teal": 538, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 558, - 559 + 558 ] }, { - "teal": 541, + "teal": 539, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ + 559, 560 ] }, { - "teal": 542, + "teal": 540, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 561, - 562 + 561 ] }, { - "teal": 543, + "teal": 541, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ - 563 + 562 ] }, { - "teal": 544, + "teal": 542, "source": "examples/reti/validatorRegistry.algo.ts:325", "pc": [ + 563, 564 ] }, { - "teal": 545, - "source": "examples/reti/validatorRegistry.algo.ts:325", + "teal": 547, + "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 565, 566 ] }, { - "teal": 550, + "teal": 548, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 567, - 568 + 567 ] }, { - "teal": 551, + "teal": 549, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ - 569 + 568 ] }, { - "teal": 552, + "teal": 550, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ + 569, 570 ] }, { - "teal": 553, + "teal": 551, "source": "examples/reti/validatorRegistry.algo.ts:320", "pc": [ 571, - 572 + 572, + 573 ] }, { - "teal": 554, - "source": "examples/reti/validatorRegistry.algo.ts:320", + "teal": 556, + "source": "examples/reti/validatorRegistry.algo.ts:327", "pc": [ - 573, 574, 575 ] }, { "teal": 559, - "source": "examples/reti/validatorRegistry.algo.ts:327", + "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ 576, 577 @@ -2320,652 +2320,652 @@ ] }, { - "teal": 565, + "teal": 563, "source": "examples/reti/validatorRegistry.algo.ts:317", "pc": [ - 580, - 581 + 580 ] }, { - "teal": 566, - "source": "examples/reti/validatorRegistry.algo.ts:317", + "teal": 568, + "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 582 + 581 ] }, { "teal": 571, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 583 + 582, + 583, + 584 ] }, { - "teal": 574, + "teal": 572, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 584, - 585, - 586 + 585 ] }, { "teal": 575, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 587 + 586, + 587, + 588 ] }, { - "teal": 578, + "teal": 576, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 588, - 589, - 590 + 589 ] }, { "teal": 579, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 591 + 590, + 591, + 592 ] }, { - "teal": 582, + "teal": 580, + "source": "examples/reti/validatorRegistry.algo.ts:334", + "pc": [ + 593 + ] + }, + { + "teal": 581, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 592, - 593, 594 ] }, { - "teal": 583, + "teal": 582, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 595 ] }, { - "teal": 584, + "teal": 583, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 596 ] }, { - "teal": 585, + "teal": 584, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 597 ] }, { - "teal": 586, + "teal": 588, "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ - 598 + 598, + 599, + 600 ] }, { - "teal": 587, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 595, + "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 599 + 601, + 602 ] }, { - "teal": 591, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 596, + "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 600, - 601, - 602 + 603 ] }, { - "teal": 598, + "teal": 597, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 603, 604 ] }, { - "teal": 599, + "teal": 598, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 605 ] }, { - "teal": 600, + "teal": 599, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 606 + 606, + 607, + 608 ] }, { - "teal": 601, + "teal": 600, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 607 + 609, + 610 ] }, { - "teal": 602, + "teal": 601, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 608, - 609, - 610 + 611 ] }, { - "teal": 603, + "teal": 602, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ - 611, 612 ] }, { - "teal": 604, + "teal": 603, "source": "examples/reti/validatorRegistry.algo.ts:336", "pc": [ 613 ] }, { - "teal": 605, - "source": "examples/reti/validatorRegistry.algo.ts:336", + "teal": 607, + "source": "examples/reti/validatorRegistry.algo.ts:335", + "errorMessage": "pool id must be between 1 and number of pools for this validator", "pc": [ 614 ] }, { - "teal": 606, - "source": "examples/reti/validatorRegistry.algo.ts:336", + "teal": 611, + "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 615 + 615, + 616 ] }, { - "teal": 610, - "source": "examples/reti/validatorRegistry.algo.ts:335", - "errorMessage": "pool id must be between 1 and number of pools for this validator", + "teal": 612, + "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 616 + 617, + 618 + ] + }, + { + "teal": 613, + "source": "examples/reti/validatorRegistry.algo.ts:339", + "pc": [ + 619 ] }, { "teal": 614, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 617, - 618 + 620 ] }, { "teal": 615, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 619, - 620 + 621, + 622 ] }, { "teal": 616, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 621 + 623 ] }, { "teal": 617, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 622 + 624 ] }, { "teal": 618, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 623, - 624 + 625 ] }, { "teal": 619, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 625 + 626 ] }, { "teal": 620, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 626 + 627 ] }, { "teal": 621, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 627 + 628 ] }, { "teal": 622, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 628 + 629, + 630 ] }, { "teal": 623, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 629 + 631 ] }, { "teal": 624, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 630 + 632 ] }, { "teal": 625, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 631, - 632 + 633, + 634 ] }, { "teal": 626, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 633 + 635 ] }, { "teal": 627, "source": "examples/reti/validatorRegistry.algo.ts:339", "pc": [ - 634 - ] - }, - { - "teal": 628, - "source": "examples/reti/validatorRegistry.algo.ts:339", - "pc": [ - 635, 636 ] }, { - "teal": 629, - "source": "examples/reti/validatorRegistry.algo.ts:339", + "teal": 628, + "source": "examples/reti/validatorRegistry.algo.ts:334", "pc": [ 637 ] }, { - "teal": 630, - "source": "examples/reti/validatorRegistry.algo.ts:339", + "teal": 633, + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 638 ] }, { - "teal": 631, - "source": "examples/reti/validatorRegistry.algo.ts:334", + "teal": 636, + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 639 + 639, + 640, + 641 ] }, { - "teal": 636, + "teal": 637, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 640 + 642 ] }, { - "teal": 639, + "teal": 638, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 641, - 642, 643 ] }, { - "teal": 640, + "teal": 639, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 644 ] }, { - "teal": 641, + "teal": 640, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 645 ] }, { - "teal": 642, + "teal": 643, "source": "examples/reti/validatorRegistry.algo.ts:343", + "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)", "pc": [ 646 ] }, { - "teal": 643, + "teal": 646, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 647 + 647, + 648, + 649 ] }, { - "teal": 646, + "teal": 647, "source": "examples/reti/validatorRegistry.algo.ts:343", - "errorMessage": "argument 0 (poolKey) for getPoolInfo must be a (uint64,uint64,uint64)", "pc": [ - 648 + 650 ] }, { - "teal": 649, + "teal": 648, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 649, - 650, 651 ] }, { - "teal": 650, + "teal": 649, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 652 ] }, { - "teal": 651, + "teal": 650, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ 653 ] }, { - "teal": 652, + "teal": 654, "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 654 + 654, + 655, + 656 ] }, { - "teal": 653, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 658, + "source": "examples/reti/validatorRegistry.algo.ts:344", + "pc": [ + 657, + 658 + ] + }, + { + "teal": 659, + "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 655 + 659, + 660 ] }, { - "teal": 657, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 660, + "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 656, - 657, - 658 + 661, + 662, + 663 ] }, { "teal": 661, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 659, - 660 + 664 ] }, { "teal": 662, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 661, - 662 + 665 ] }, { "teal": 663, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 663, - 664, - 665 + 666 ] }, { "teal": 664, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 666 + 667, + 668 ] }, { "teal": 665, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 667 + 669 ] }, { "teal": 666, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 668 + 670 ] }, { "teal": 667, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 669, - 670 + 671, + 672 ] }, { "teal": 668, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 671 + 673 ] }, { "teal": 669, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 672 + 674, + 675 ] }, { "teal": 670, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 673, - 674 + 676, + 677, + 678 ] }, { "teal": 671, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 675 + 679 ] }, { "teal": 672, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 676, - 677 + 680 ] }, { "teal": 673, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 678, - 679, - 680 + 681 ] }, { "teal": 674, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 681 + 682, + 683 ] }, { "teal": 675, "source": "examples/reti/validatorRegistry.algo.ts:344", "pc": [ - 682 + 684 ] }, { "teal": 676, - "source": "examples/reti/validatorRegistry.algo.ts:344", - "pc": [ - 683 - ] - }, - { - "teal": 677, - "source": "examples/reti/validatorRegistry.algo.ts:344", + "source": "examples/reti/validatorRegistry.algo.ts:343", "pc": [ - 684, 685 ] }, { - "teal": 678, - "source": "examples/reti/validatorRegistry.algo.ts:344", + "teal": 681, + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 686 ] }, { - "teal": 679, - "source": "examples/reti/validatorRegistry.algo.ts:343", + "teal": 684, + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 687 + 687, + 688, + 689 ] }, { - "teal": 684, + "teal": 685, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 688 + 690 ] }, { - "teal": 687, + "teal": 688, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 689, - 690, - 691 + 691, + 692, + 693 ] }, { - "teal": 688, + "teal": 689, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 692 + 694 ] }, { - "teal": 691, + "teal": 690, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 693, - 694, 695 ] }, { - "teal": 692, + "teal": 691, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 696 ] }, { - "teal": 693, + "teal": 692, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 697 ] }, { - "teal": 694, + "teal": 693, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 698 ] }, { - "teal": 695, - "source": "examples/reti/validatorRegistry.algo.ts:354", - "pc": [ - 699 - ] - }, - { - "teal": 696, + "teal": 703, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 700 + 699, + 700, + 701 ] }, { "teal": 706, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 701, - 702, - 703 + 702 ] }, { - "teal": 709, + "teal": 707, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ + 703, 704 ] }, { - "teal": 710, - "source": "examples/reti/validatorRegistry.algo.ts:354", + "teal": 711, + "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 705, 706 ] }, { - "teal": 714, + "teal": 712, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ 707, @@ -2973,229 +2973,229 @@ ] }, { - "teal": 715, + "teal": 713, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 709, - 710 + 709 ] }, { - "teal": 716, + "teal": 714, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 710, 711 ] }, { - "teal": 717, + "teal": 715, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 712, - 713 + 712 ] }, { - "teal": 718, + "teal": 716, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 714 + 713 ] }, { - "teal": 719, + "teal": 717, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 714, 715 ] }, { - "teal": 720, + "teal": 718, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 716, - 717 + 716 ] }, { - "teal": 721, + "teal": 719, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ - 718 + 717 ] }, { - "teal": 722, + "teal": 720, "source": "examples/reti/validatorRegistry.algo.ts:355", "pc": [ + 718, 719 ] }, { - "teal": 723, - "source": "examples/reti/validatorRegistry.algo.ts:355", + "teal": 724, + "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ 720, - 721 + 721, + 722 ] }, { - "teal": 727, + "teal": 725, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ - 722, 723, 724 ] }, { - "teal": 728, + "teal": 726, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ - 725, - 726 + 725 ] }, { - "teal": 729, + "teal": 727, "source": "examples/reti/validatorRegistry.algo.ts:356", "pc": [ + 726, 727 ] }, { - "teal": 730, - "source": "examples/reti/validatorRegistry.algo.ts:356", + "teal": 731, + "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ 728, - 729 + 729, + 730 ] }, { - "teal": 734, + "teal": 732, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 730, - 731, - 732 + 731 ] }, { - "teal": 735, + "teal": 733, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 733 + 732 ] }, { - "teal": 736, + "teal": 734, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 733, 734 ] }, { - "teal": 737, + "teal": 735, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 735, - 736 + 735 ] }, { - "teal": 738, + "teal": 736, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 737 + 736 ] }, { - "teal": 739, + "teal": 737, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 737, 738 ] }, { - "teal": 740, + "teal": 738, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 739, - 740 + 739 ] }, { - "teal": 741, + "teal": 739, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ - 741 + 740 ] }, { - "teal": 742, + "teal": 740, "source": "examples/reti/validatorRegistry.algo.ts:357", "pc": [ + 741, 742 ] }, { - "teal": 743, - "source": "examples/reti/validatorRegistry.algo.ts:357", + "teal": 745, + "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ 743, 744 ] }, { - "teal": 748, + "teal": 746, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 745, - 746 + 745 ] }, { - "teal": 749, + "teal": 747, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 747 + 746 ] }, { - "teal": 750, + "teal": 748, "source": "examples/reti/validatorRegistry.algo.ts:358", "pc": [ - 748 + 747, + 748, + 749 ] }, { - "teal": 751, - "source": "examples/reti/validatorRegistry.algo.ts:358", + "teal": 753, + "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ - 749, 750, - 751 + 751, + 752 ] }, { - "teal": 756, + "teal": 754, "source": "examples/reti/validatorRegistry.algo.ts:359", "pc": [ - 752, 753, 754 ] }, { - "teal": 757, - "source": "examples/reti/validatorRegistry.algo.ts:359", + "teal": 760, + "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 755, 756 ] }, { - "teal": 763, + "teal": 761, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ 757, @@ -3203,31 +3203,31 @@ ] }, { - "teal": 764, + "teal": 762, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ - 759, - 760 + 759 ] }, { - "teal": 765, + "teal": 763, "source": "examples/reti/validatorRegistry.algo.ts:361", "pc": [ - 761 + 760, + 761, + 762 ] }, { - "teal": 766, - "source": "examples/reti/validatorRegistry.algo.ts:361", + "teal": 768, + "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ - 762, 763, 764 ] }, { - "teal": 771, + "teal": 769, "source": "examples/reti/validatorRegistry.algo.ts:362", "pc": [ 765, @@ -3235,8 +3235,8 @@ ] }, { - "teal": 772, - "source": "examples/reti/validatorRegistry.algo.ts:362", + "teal": 774, + "source": "examples/reti/validatorRegistry.algo.ts:364", "pc": [ 767, 768 @@ -3244,7 +3244,7 @@ }, { "teal": 777, - "source": "examples/reti/validatorRegistry.algo.ts:364", + "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ 769, 770 @@ -3259,522 +3259,522 @@ ] }, { - "teal": 783, + "teal": 781, "source": "examples/reti/validatorRegistry.algo.ts:354", "pc": [ - 773, - 774 + 773 ] }, { - "teal": 784, - "source": "examples/reti/validatorRegistry.algo.ts:354", + "teal": 786, + "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 775 + 774 ] }, { "teal": 789, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 776 + 775, + 776, + 777 ] }, { - "teal": 792, + "teal": 790, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 777, - 778, - 779 + 778 ] }, { - "teal": 793, + "teal": 791, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 780 + 779 ] }, { - "teal": 794, + "teal": 792, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ + 780, 781 ] }, { - "teal": 795, + "teal": 793, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 782, - 783 + 782 ] }, { "teal": 796, "source": "examples/reti/validatorRegistry.algo.ts:372", + "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address", "pc": [ - 784 + 783 ] }, { "teal": 799, "source": "examples/reti/validatorRegistry.algo.ts:372", - "errorMessage": "argument 0 (staker) for doesStakerNeedToPayMBR must be a address", "pc": [ - 785 + 784, + 785, + 786 ] }, { - "teal": 802, + "teal": 800, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 786, 787, 788 ] }, { - "teal": 803, + "teal": 801, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 789, - 790 + 789 ] }, { - "teal": 804, + "teal": 802, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ + 790, 791 ] }, { - "teal": 805, + "teal": 803, + "source": "examples/reti/validatorRegistry.algo.ts:372", + "pc": [ + 792 + ] + }, + { + "teal": 804, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 792, 793 ] }, { - "teal": 806, + "teal": 805, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 794 ] }, { - "teal": 807, + "teal": 806, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 795 ] }, { - "teal": 808, + "teal": 807, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 796 ] }, { - "teal": 809, + "teal": 814, "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ - 797 + 797, + 798, + 799 ] }, { - "teal": 810, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 818, + "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 798 + 800 ] }, { - "teal": 817, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 819, + "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 799, - 800, - 801 + 801, + 802 ] }, { - "teal": 821, + "teal": 820, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 802 + 803 ] }, { - "teal": 822, + "teal": 821, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ - 803, 804 ] }, { - "teal": 823, + "teal": 822, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 805 ] }, { - "teal": 824, + "teal": 823, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 806 ] }, { - "teal": 825, + "teal": 824, "source": "examples/reti/validatorRegistry.algo.ts:373", "pc": [ 807 ] }, { - "teal": 826, - "source": "examples/reti/validatorRegistry.algo.ts:373", + "teal": 825, + "source": "examples/reti/validatorRegistry.algo.ts:372", "pc": [ 808 ] }, { - "teal": 827, - "source": "examples/reti/validatorRegistry.algo.ts:373", + "teal": 830, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 809 ] }, { - "teal": 828, - "source": "examples/reti/validatorRegistry.algo.ts:372", + "teal": 833, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 810 + 810, + 811, + 812 ] }, { - "teal": 833, + "teal": 834, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 811 + 813 ] }, { - "teal": 836, + "teal": 835, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 812, - 813, 814 ] }, { - "teal": 837, + "teal": 836, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 815 + 815, + 816 ] }, { - "teal": 838, + "teal": 837, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 816 + 817 ] }, { - "teal": 839, + "teal": 840, "source": "examples/reti/validatorRegistry.algo.ts:382", + "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address", "pc": [ - 817, 818 ] }, { - "teal": 840, + "teal": 843, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 819 + 819, + 820, + 821 ] }, { - "teal": 843, + "teal": 844, "source": "examples/reti/validatorRegistry.algo.ts:382", - "errorMessage": "argument 0 (staker) for getStakedPoolsForAccount must be a address", "pc": [ - 820 + 822 ] }, { - "teal": 846, + "teal": 845, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 821, - 822, 823 ] }, { - "teal": 847, + "teal": 846, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 824 ] }, { - "teal": 848, + "teal": 847, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 825 ] }, { - "teal": 849, + "teal": 848, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 826 ] }, { - "teal": 850, + "teal": 849, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 827 + 827, + 828, + 829 ] }, { - "teal": 851, + "teal": 850, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 828 + 830 ] }, { - "teal": 852, + "teal": 851, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 829, - 830, 831 ] }, { - "teal": 853, + "teal": 852, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 832 ] }, { - "teal": 854, + "teal": 853, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 833 ] }, { - "teal": 855, + "teal": 854, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 834 ] }, { - "teal": 856, + "teal": 855, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 835 ] }, { - "teal": 857, - "source": "examples/reti/validatorRegistry.algo.ts:382", - "pc": [ - 836 - ] - }, - { - "teal": 858, + "teal": 864, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 837 + 836, + 837, + 838 ] }, { "teal": 867, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 838, - 839, - 840 + 839 ] }, { - "teal": 870, + "teal": 868, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ + 840, 841 ] }, { - "teal": 871, - "source": "examples/reti/validatorRegistry.algo.ts:382", + "teal": 873, + "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 842, - 843 + 842 ] }, { - "teal": 876, + "teal": 874, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ + 843, 844 ] }, { - "teal": 877, + "teal": 875, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 845, - 846 + 845 ] }, { - "teal": 878, + "teal": 876, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 847 + 846 ] }, { - "teal": 879, + "teal": 877, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 848 + 847 ] }, { - "teal": 880, + "teal": 878, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 849 + 848 ] }, { - "teal": 881, + "teal": 879, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 850 + 849 ] }, { - "teal": 882, + "teal": 880, "source": "examples/reti/validatorRegistry.algo.ts:383", "pc": [ - 851 + 850, + 851, + 852 ] }, { - "teal": 883, - "source": "examples/reti/validatorRegistry.algo.ts:383", + "teal": 885, + "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ - 852, - 853, - 854 + 853 ] }, { - "teal": 888, + "teal": 886, "source": "examples/reti/validatorRegistry.algo.ts:384", "pc": [ - 855 + 854, + 855, + 856 ] }, { - "teal": 889, - "source": "examples/reti/validatorRegistry.algo.ts:384", + "teal": 891, + "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ - 856, - 857, - 858 + 857 ] }, { - "teal": 894, + "teal": 892, "source": "examples/reti/validatorRegistry.algo.ts:386", "pc": [ + 858, 859 ] }, { - "teal": 895, - "source": "examples/reti/validatorRegistry.algo.ts:386", + "teal": 896, + "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 860, - 861 + 860 ] }, { - "teal": 899, + "teal": 897, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ + 861, 862 ] }, { - "teal": 900, + "teal": 898, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 863, - 864 + 863 ] }, { - "teal": 901, + "teal": 899, "source": "examples/reti/validatorRegistry.algo.ts:387", "pc": [ - 865 + 864 ] }, { "teal": 902, "source": "examples/reti/validatorRegistry.algo.ts:387", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 866 + 865 ] }, { - "teal": 905, + "teal": 903, "source": "examples/reti/validatorRegistry.algo.ts:387", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 866, 867 ] }, { - "teal": 906, - "source": "examples/reti/validatorRegistry.algo.ts:387", + "teal": 907, + "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 868, - 869 + 868 ] }, { - "teal": 910, + "teal": 908, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ + 869, 870 ] }, { - "teal": 911, + "teal": 913, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 871, @@ -3782,7 +3782,7 @@ ] }, { - "teal": 916, + "teal": 914, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 873, @@ -3790,31 +3790,31 @@ ] }, { - "teal": 917, + "teal": 915, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 875, - 876 + 875 ] }, { - "teal": 918, + "teal": 916, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 877 + 876, + 877, + 878 ] }, { - "teal": 919, - "source": "examples/reti/validatorRegistry.algo.ts:388", + "teal": 921, + "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 878, 879, 880 ] }, { - "teal": 924, + "teal": 922, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 881, @@ -3822,87 +3822,87 @@ ] }, { - "teal": 925, + "teal": 923, + "source": "examples/reti/validatorRegistry.algo.ts:389", + "pc": [ + 883 + ] + }, + { + "teal": 924, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 883, 884 ] }, { - "teal": 926, + "teal": 925, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 885 ] }, { - "teal": 927, + "teal": 926, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 886 ] }, { - "teal": 928, + "teal": 927, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 887 ] }, { - "teal": 929, + "teal": 928, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 888 ] }, { - "teal": 930, + "teal": 929, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 889 ] }, { - "teal": 931, + "teal": 930, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 890 ] }, { - "teal": 932, + "teal": 931, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ 891 ] }, { - "teal": 933, - "source": "examples/reti/validatorRegistry.algo.ts:389", - "pc": [ - 892 - ] - }, - { - "teal": 934, + "teal": 932, "source": "examples/reti/validatorRegistry.algo.ts:389", "pc": [ - 893 + 892, + 893, + 894 ] }, { - "teal": 935, - "source": "examples/reti/validatorRegistry.algo.ts:389", + "teal": 937, + "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 894, 895, 896 ] }, { - "teal": 940, + "teal": 938, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 897, @@ -3910,7 +3910,7 @@ ] }, { - "teal": 941, + "teal": 939, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ 899, @@ -3918,98 +3918,98 @@ ] }, { - "teal": 942, + "teal": 940, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 901, - 902 + 901 ] }, { - "teal": 943, + "teal": 941, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 903 + 902 ] }, { - "teal": 944, + "teal": 942, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 904 + 903 ] }, { - "teal": 945, + "teal": 943, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 905 + 904 ] }, { - "teal": 946, + "teal": 944, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ - 906 + 905 ] }, { - "teal": 947, + "teal": 945, "source": "examples/reti/validatorRegistry.algo.ts:390", "pc": [ + 906, 907 ] }, { - "teal": 948, - "source": "examples/reti/validatorRegistry.algo.ts:390", + "teal": 952, + "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 908, 909 ] }, { - "teal": 955, + "teal": 953, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 910, - 911 + 910 ] }, { - "teal": 956, + "teal": 954, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ - 912 + 911 ] }, { - "teal": 957, + "teal": 955, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ + 912, 913 ] }, { - "teal": 958, + "teal": 956, "source": "examples/reti/validatorRegistry.algo.ts:388", "pc": [ 914, - 915 + 915, + 916 ] }, { - "teal": 959, - "source": "examples/reti/validatorRegistry.algo.ts:388", + "teal": 961, + "source": "examples/reti/validatorRegistry.algo.ts:393", "pc": [ - 916, 917, 918 ] }, { - "teal": 964, - "source": "examples/reti/validatorRegistry.algo.ts:393", + "teal": 965, + "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ 919, 920 @@ -4024,91 +4024,91 @@ ] }, { - "teal": 971, + "teal": 969, "source": "examples/reti/validatorRegistry.algo.ts:382", "pc": [ - 923, - 924 + 923 ] }, { - "teal": 972, - "source": "examples/reti/validatorRegistry.algo.ts:382", + "teal": 974, + "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 925 + 924 ] }, { "teal": 977, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 926 + 925, + 926, + 927 ] }, { - "teal": 980, + "teal": 978, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 927, - 928, - 929 + 928 ] }, { "teal": 981, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 930 + 929, + 930, + 931 ] }, { - "teal": 984, + "teal": 982, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 931, - 932, - 933 + 932 ] }, { - "teal": 985, + "teal": 983, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 934 + 933 ] }, { - "teal": 986, + "teal": 984, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 935 + 934 ] }, { - "teal": 987, + "teal": 985, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 936 + 935 ] }, { - "teal": 988, + "teal": 995, "source": "examples/reti/validatorRegistry.algo.ts:404", "pc": [ - 937 + 936, + 937, + 938 ] }, { - "teal": 998, - "source": "examples/reti/validatorRegistry.algo.ts:404", + "teal": 999, + "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 938, 939, 940 ] }, { - "teal": 1002, + "teal": 1000, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ 941, @@ -4116,193 +4116,193 @@ ] }, { - "teal": 1003, + "teal": 1001, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 943, - 944 + 943 ] }, { - "teal": 1004, + "teal": 1002, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ + 944, 945 ] }, { - "teal": 1005, + "teal": 1003, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 946, - 947 + 946 ] }, { - "teal": 1006, + "teal": 1004, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 948 + 947 ] }, { - "teal": 1007, + "teal": 1005, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ + 948, 949 ] }, { - "teal": 1008, + "teal": 1006, "source": "examples/reti/validatorRegistry.algo.ts:405", "pc": [ - 950, - 951 + 950 ] }, { - "teal": 1009, - "source": "examples/reti/validatorRegistry.algo.ts:405", - "pc": [ - 952 + "teal": 1007, + "source": "examples/reti/validatorRegistry.algo.ts:404", + "pc": [ + 951 ] }, { - "teal": 1010, - "source": "examples/reti/validatorRegistry.algo.ts:404", + "teal": 1012, + "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 953 + 952 ] }, { "teal": 1015, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 954 + 953, + 954, + 955 ] }, { - "teal": 1018, + "teal": 1016, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 955, - 956, - 957 + 956 ] }, { "teal": 1019, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 958 + 957, + 958, + 959 ] }, { - "teal": 1022, + "teal": 1020, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 959, - 960, - 961 + 960 ] }, { - "teal": 1023, + "teal": 1021, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 962 + 961 ] }, { - "teal": 1024, + "teal": 1022, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 963 + 962 ] }, { - "teal": 1025, + "teal": 1023, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 964 + 963 ] }, { - "teal": 1026, + "teal": 1027, "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 965 + 964, + 965, + 966 ] }, { - "teal": 1030, - "source": "examples/reti/validatorRegistry.algo.ts:409", + "teal": 1031, + "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 966, - 967, - 968 + 967 ] }, { - "teal": 1034, + "teal": 1032, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ + 968, 969 ] }, { - "teal": 1035, + "teal": 1033, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 970, - 971 + 970 ] }, { - "teal": 1036, + "teal": 1034, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 972 + 971 ] }, { - "teal": 1037, + "teal": 1035, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 973 + 972 ] }, { - "teal": 1038, + "teal": 1036, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 974 + 973 ] }, { - "teal": 1039, + "teal": 1037, "source": "examples/reti/validatorRegistry.algo.ts:410", "pc": [ - 975 + 974 ] }, { "teal": 1040, "source": "examples/reti/validatorRegistry.algo.ts:410", + "errorMessage": "the specified validator id doesn't exist", "pc": [ - 976 + 975 ] }, { - "teal": 1043, - "source": "examples/reti/validatorRegistry.algo.ts:410", - "errorMessage": "the specified validator id doesn't exist", + "teal": 1044, + "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 976, 977 ] }, { - "teal": 1047, + "teal": 1045, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ 978, @@ -4310,426 +4310,426 @@ ] }, { - "teal": 1048, + "teal": 1046, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 980, - 981 + 980 ] }, { - "teal": 1049, + "teal": 1047, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 981, 982 ] }, { - "teal": 1050, + "teal": 1048, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 983, - 984 + 983 ] }, { - "teal": 1051, + "teal": 1049, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 985 + 984 ] }, { - "teal": 1052, + "teal": 1050, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ + 985, 986 ] }, { - "teal": 1053, + "teal": 1051, "source": "examples/reti/validatorRegistry.algo.ts:412", "pc": [ - 987, - 988 + 987 ] }, { - "teal": 1054, - "source": "examples/reti/validatorRegistry.algo.ts:412", + "teal": 1052, + "source": "examples/reti/validatorRegistry.algo.ts:409", "pc": [ - 989 + 988 ] }, { - "teal": 1055, - "source": "examples/reti/validatorRegistry.algo.ts:409", + "teal": 1057, + "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 990 + 989 ] }, { "teal": 1060, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 991 + 990, + 991, + 992 ] }, { - "teal": 1063, + "teal": 1061, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 992, - 993, - 994 + 993 ] }, { - "teal": 1064, + "teal": 1062, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 995 + 994 ] }, { - "teal": 1065, + "teal": 1063, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 996 + 995 ] }, { - "teal": 1066, + "teal": 1064, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 997 + 996 ] }, { - "teal": 1067, + "teal": 1065, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 998 + 997 ] }, { - "teal": 1068, + "teal": 1069, "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 999 + 998, + 999, + 1000 ] }, { - "teal": 1072, - "source": "examples/reti/validatorRegistry.algo.ts:415", + "teal": 1073, + "source": "examples/reti/validatorRegistry.algo.ts:416", "pc": [ - 1000, 1001, 1002 ] }, { - "teal": 1076, - "source": "examples/reti/validatorRegistry.algo.ts:416", + "teal": 1074, + "source": "examples/reti/validatorRegistry.algo.ts:415", "pc": [ - 1003, - 1004 + 1003 ] }, { - "teal": 1077, - "source": "examples/reti/validatorRegistry.algo.ts:415", + "teal": 1079, + "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1005 + 1004 ] }, { "teal": 1082, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1006 + 1005, + 1006, + 1007 ] }, { - "teal": 1085, + "teal": 1083, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1007, - 1008, - 1009 + 1008 ] }, { - "teal": 1086, + "teal": 1084, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1010 + 1009 ] }, { - "teal": 1087, + "teal": 1085, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ + 1010, 1011 ] }, { - "teal": 1088, + "teal": 1086, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1012, - 1013 + 1012 ] }, { "teal": 1089, "source": "examples/reti/validatorRegistry.algo.ts:427", + "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "pc": [ - 1014 + 1013 ] }, { "teal": 1092, "source": "examples/reti/validatorRegistry.algo.ts:427", - "errorMessage": "argument 0 (config) for addValidator must be a (uint64,address,address,uint64,uint8,address,uint64[4],uint64,uint64,uint64,uint32,uint32,address,uint64,uint64,uint8,uint64,uint64)", "pc": [ - 1015 + 1014, + 1015, + 1016 ] }, { - "teal": 1095, + "teal": 1093, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1016, 1017, - 1018 + 1018, + 1019 ] }, { "teal": 1096, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1019, 1020, 1021 ] }, { - "teal": 1099, + "teal": 1097, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1022, - 1023 + 1022 ] }, { - "teal": 1100, + "teal": 1098, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1024 + 1023 ] }, { - "teal": 1101, + "teal": 1099, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1025 + 1024 ] }, { - "teal": 1102, + "teal": 1100, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ + 1025, 1026 ] }, { - "teal": 1103, + "teal": 1101, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1027, - 1028 + 1027 ] }, { - "teal": 1104, + "teal": 1102, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1029 + 1028 ] }, { "teal": 1105, "source": "examples/reti/validatorRegistry.algo.ts:427", + "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction", "pc": [ - 1030 + 1029 ] }, { "teal": 1108, "source": "examples/reti/validatorRegistry.algo.ts:427", - "errorMessage": "argument 2 (mbrPayment) for addValidator must be a pay transaction", "pc": [ - 1031 + 1030, + 1031, + 1032 ] }, { - "teal": 1111, + "teal": 1109, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1032, - 1033, - 1034 + 1033 ] }, { - "teal": 1112, + "teal": 1110, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1035 + 1034 ] }, { - "teal": 1113, + "teal": 1111, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1036 + 1035 ] }, { - "teal": 1114, + "teal": 1112, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1037 + 1036 ] }, { - "teal": 1115, + "teal": 1113, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1038 + 1037 ] }, { - "teal": 1116, + "teal": 1125, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1039 + 1038, + 1039, + 1040 ] }, { "teal": 1128, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1040, - 1041, - 1042 + 1041 ] }, { - "teal": 1131, - "source": "examples/reti/validatorRegistry.algo.ts:427", + "teal": 1132, + "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ + 1042, 1043 ] }, { - "teal": 1135, + "teal": 1133, "source": "examples/reti/validatorRegistry.algo.ts:428", "pc": [ 1044, - 1045 + 1045, + 1046 ] }, { - "teal": 1136, - "source": "examples/reti/validatorRegistry.algo.ts:428", + "teal": 1137, + "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1046, 1047, 1048 ] }, { - "teal": 1140, + "teal": 1138, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ 1049, - 1050 + 1050, + 1051 ] }, { - "teal": 1141, + "teal": 1139, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1051, 1052, 1053 ] }, { - "teal": 1142, + "teal": 1140, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1054, - 1055 + 1054 ] }, { - "teal": 1143, + "teal": 1141, "source": "examples/reti/validatorRegistry.algo.ts:429", "pc": [ - 1056 + 1055 ] }, { - "teal": 1144, - "source": "examples/reti/validatorRegistry.algo.ts:429", + "teal": 1145, + "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ + 1056, 1057 ] }, { - "teal": 1148, + "teal": 1146, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ 1058, - 1059 + 1059, + 1060 ] }, { - "teal": 1149, + "teal": 1147, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1060, 1061, 1062 ] }, { - "teal": 1150, + "teal": 1148, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1063, - 1064 + 1063 ] }, { - "teal": 1151, + "teal": 1149, "source": "examples/reti/validatorRegistry.algo.ts:430", "pc": [ - 1065 + 1064 ] }, { - "teal": 1152, - "source": "examples/reti/validatorRegistry.algo.ts:430", + "teal": 1153, + "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ + 1065, 1066 ] }, { - "teal": 1156, + "teal": 1154, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1067, @@ -4737,39 +4737,39 @@ ] }, { - "teal": 1157, + "teal": 1155, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ 1069, - 1070 + 1070, + 1071 ] }, { - "teal": 1158, + "teal": 1156, "source": "examples/reti/validatorRegistry.algo.ts:431", "pc": [ - 1071, - 1072, - 1073 + 1072 ] }, { "teal": 1159, "source": "examples/reti/validatorRegistry.algo.ts:431", + "errorMessage": "sender must be owner to add new validator", "pc": [ - 1074 + 1073 ] }, { - "teal": 1162, - "source": "examples/reti/validatorRegistry.algo.ts:431", - "errorMessage": "sender must be owner to add new validator", + "teal": 1164, + "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ + 1074, 1075 ] }, { - "teal": 1167, + "teal": 1165, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1076, @@ -4777,55 +4777,55 @@ ] }, { - "teal": 1168, + "teal": 1166, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ 1078, - 1079 + 1079, + 1080 ] }, { - "teal": 1169, + "teal": 1167, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1080, 1081, - 1082 + 1082, + 1083 ] }, { - "teal": 1170, + "teal": 1168, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1083, - 1084, - 1085 + 1084 ] }, { - "teal": 1171, + "teal": 1169, "source": "examples/reti/validatorRegistry.algo.ts:433", "pc": [ - 1086 + 1085 ] }, { "teal": 1172, "source": "examples/reti/validatorRegistry.algo.ts:433", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}", "pc": [ - 1087 + 1086 ] }, { - "teal": 1175, - "source": "examples/reti/validatorRegistry.algo.ts:433", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addValidatorMbr\"}", + "teal": 1176, + "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ + 1087, 1088 ] }, { - "teal": 1179, + "teal": 1177, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1089, @@ -4833,78 +4833,78 @@ ] }, { - "teal": 1180, + "teal": 1178, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ 1091, - 1092 + 1092, + 1093, + 1094, + 1095 ] }, { - "teal": 1181, + "teal": 1179, "source": "examples/reti/validatorRegistry.algo.ts:435", "pc": [ - 1093, - 1094, - 1095, - 1096, - 1097 + 1096 ] }, { "teal": 1182, "source": "examples/reti/validatorRegistry.algo.ts:435", + "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators", "pc": [ - 1098 + 1097 ] }, { - "teal": 1185, - "source": "examples/reti/validatorRegistry.algo.ts:435", - "errorMessage": "fee must be 10 ALGO or more to prevent spamming of validators", + "teal": 1186, + "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ + 1098, 1099 ] }, { - "teal": 1189, + "teal": 1187, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1100, - 1101 + 1100 ] }, { - "teal": 1190, + "teal": 1188, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1102 + 1101 ] }, { - "teal": 1191, + "teal": 1189, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ - 1103 + 1102 ] }, { - "teal": 1192, + "teal": 1190, "source": "examples/reti/validatorRegistry.algo.ts:438", "pc": [ + 1103, 1104 ] }, { - "teal": 1193, - "source": "examples/reti/validatorRegistry.algo.ts:438", + "teal": 1194, + "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1105, 1106 ] }, { - "teal": 1197, + "teal": 1195, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ 1107, @@ -4912,253 +4912,253 @@ ] }, { - "teal": 1198, + "teal": 1196, "source": "examples/reti/validatorRegistry.algo.ts:439", "pc": [ - 1109, - 1110 + 1109 ] }, { - "teal": 1199, - "source": "examples/reti/validatorRegistry.algo.ts:439", + "teal": 1200, + "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1111 + 1110 ] }, { - "teal": 1203, + "teal": 1201, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ + 1111, 1112 ] }, { - "teal": 1204, + "teal": 1202, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1113, - 1114 + 1113 ] }, { - "teal": 1205, + "teal": 1203, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1115 + 1114 ] }, { - "teal": 1206, + "teal": 1204, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1116 + 1115, + 1116, + 1117 ] }, { - "teal": 1207, + "teal": 1205, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1117, - 1118, - 1119 + 1118 ] }, { - "teal": 1208, + "teal": 1206, "source": "examples/reti/validatorRegistry.algo.ts:441", "pc": [ - 1120 + 1119 ] }, { - "teal": 1209, - "source": "examples/reti/validatorRegistry.algo.ts:441", + "teal": 1210, + "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1121 + 1120 ] }, { - "teal": 1213, + "teal": 1211, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1121, 1122 ] }, { - "teal": 1214, + "teal": 1212, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1123, - 1124 + 1123 ] }, { - "teal": 1215, + "teal": 1213, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1124, 1125 ] }, { - "teal": 1216, + "teal": 1214, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1126, - 1127 + 1126 ] }, { - "teal": 1217, + "teal": 1215, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1128 + 1127 ] }, { - "teal": 1218, + "teal": 1216, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ + 1128, 1129 ] }, { - "teal": 1219, + "teal": 1217, "source": "examples/reti/validatorRegistry.algo.ts:442", "pc": [ - 1130, - 1131 + 1130 ] }, { - "teal": 1220, - "source": "examples/reti/validatorRegistry.algo.ts:442", + "teal": 1221, + "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1132 + 1131 ] }, { - "teal": 1224, + "teal": 1222, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1132, 1133 ] }, { - "teal": 1225, + "teal": 1223, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1134, - 1135 + 1134 ] }, { - "teal": 1226, + "teal": 1224, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1136 + 1135 ] }, { - "teal": 1227, + "teal": 1225, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1136, 1137 ] }, { - "teal": 1228, + "teal": 1226, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1138, - 1139 + 1138 ] }, { - "teal": 1229, + "teal": 1227, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1140 + 1139 ] }, { - "teal": 1230, + "teal": 1228, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ + 1140, 1141 ] }, { - "teal": 1231, + "teal": 1229, "source": "examples/reti/validatorRegistry.algo.ts:443", "pc": [ - 1142, - 1143 + 1142 ] }, { - "teal": 1232, - "source": "examples/reti/validatorRegistry.algo.ts:443", + "teal": 1234, + "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ + 1143, 1144 ] }, { - "teal": 1237, + "teal": 1235, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ 1145, - 1146 + 1146, + 1147 ] }, { - "teal": 1238, + "teal": 1236, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1147, - 1148, - 1149 + 1148 ] }, { - "teal": 1239, + "teal": 1237, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1150 + 1149 ] }, { - "teal": 1240, + "teal": 1238, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1151 + 1150 ] }, { - "teal": 1241, + "teal": 1239, "source": "examples/reti/validatorRegistry.algo.ts:446", "pc": [ - 1152 + 1151, + 1152, + 1153 ] }, { - "teal": 1242, - "source": "examples/reti/validatorRegistry.algo.ts:446", + "teal": 1248, + "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1153, - 1154, - 1155 + 1154 ] }, { - "teal": 1251, + "teal": 1249, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ + 1155, 1156 ] }, { - "teal": 1252, + "teal": 1250, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ 1157, @@ -5166,15 +5166,15 @@ ] }, { - "teal": 1253, - "source": "examples/reti/validatorRegistry.algo.ts:448", + "teal": 1254, + "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1159, 1160 ] }, { - "teal": 1257, + "teal": 1255, "source": "examples/reti/validatorRegistry.algo.ts:449", "pc": [ 1161, @@ -5182,15 +5182,15 @@ ] }, { - "teal": 1258, - "source": "examples/reti/validatorRegistry.algo.ts:449", + "teal": 1259, + "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1163, 1164 ] }, { - "teal": 1262, + "teal": 1260, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1165, @@ -5198,7 +5198,7 @@ ] }, { - "teal": 1263, + "teal": 1261, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1167, @@ -5206,7 +5206,7 @@ ] }, { - "teal": 1264, + "teal": 1262, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1169, @@ -5214,7 +5214,7 @@ ] }, { - "teal": 1265, + "teal": 1263, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1171, @@ -5222,80 +5222,80 @@ ] }, { - "teal": 1266, + "teal": 1264, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ 1173, - 1174 + 1174, + 1175 ] }, { - "teal": 1267, + "teal": 1265, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ - 1175, - 1176, - 1177 + 1176 ] }, { - "teal": 1268, + "teal": 1266, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ - 1178 + 1177 ] }, { - "teal": 1269, + "teal": 1267, "source": "examples/reti/validatorRegistry.algo.ts:450", "pc": [ + 1178, 1179 ] }, { - "teal": 1270, - "source": "examples/reti/validatorRegistry.algo.ts:450", + "teal": 1271, + "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1180, 1181 ] }, { - "teal": 1274, + "teal": 1272, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ 1182, - 1183 + 1183, + 1184 ] }, { - "teal": 1275, + "teal": 1273, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ - 1184, - 1185, - 1186 + 1185 ] }, { - "teal": 1276, + "teal": 1274, "source": "examples/reti/validatorRegistry.algo.ts:451", "pc": [ + 1186, 1187 ] }, { "teal": 1277, - "source": "examples/reti/validatorRegistry.algo.ts:451", + "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1188, - 1189 + 1188 ] }, { - "teal": 1280, + "teal": 1278, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ + 1189, 1190 ] }, @@ -5303,56 +5303,56 @@ "teal": 1281, "source": "examples/reti/validatorRegistry.algo.ts:448", "pc": [ - 1191, - 1192 + 1191 ] }, { - "teal": 1284, - "source": "examples/reti/validatorRegistry.algo.ts:448", + "teal": 1285, + "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ + 1192, 1193 ] }, { - "teal": 1288, + "teal": 1286, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1194, - 1195 + 1194 ] }, { - "teal": 1289, + "teal": 1287, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1196 + 1195 ] }, { - "teal": 1290, + "teal": 1288, "source": "examples/reti/validatorRegistry.algo.ts:453", "pc": [ - 1197 + 1196 ] }, { "teal": 1291, "source": "examples/reti/validatorRegistry.algo.ts:453", + "errorMessage": "provided NFD isn't valid", "pc": [ - 1198 + 1197 ] }, { - "teal": 1294, - "source": "examples/reti/validatorRegistry.algo.ts:453", - "errorMessage": "provided NFD isn't valid", + "teal": 1298, + "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ + 1198, 1199 ] }, { - "teal": 1301, + "teal": 1299, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1200, @@ -5360,419 +5360,419 @@ ] }, { - "teal": 1302, + "teal": 1300, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ 1202, - 1203 + 1203, + 1204 ] }, { - "teal": 1303, + "teal": 1301, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ - 1204, - 1205, - 1206 + 1205 ] }, { - "teal": 1304, + "teal": 1302, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ + 1206, 1207 ] }, { - "teal": 1305, + "teal": 1303, "source": "examples/reti/validatorRegistry.algo.ts:456", "pc": [ - 1208, - 1209 + 1208 ] }, { "teal": 1306, "source": "examples/reti/validatorRegistry.algo.ts:456", + "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')", "pc": [ - 1210 + 1209 ] }, { - "teal": 1309, + "teal": 1307, "source": "examples/reti/validatorRegistry.algo.ts:456", - "errorMessage": "global state value does not exist: AppID.fromUint64(config.nfdForInfo).globalState('i.owner.a')", "pc": [ - 1211 + 1210 ] }, { "teal": 1310, - "source": "examples/reti/validatorRegistry.algo.ts:456", + "source": "examples/reti/validatorRegistry.algo.ts:455", + "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ - 1212 + 1211 ] }, { - "teal": 1313, - "source": "examples/reti/validatorRegistry.algo.ts:455", - "errorMessage": "If specifying NFD, account adding validator must be owner", + "teal": 1317, + "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ + 1212, 1213 ] }, { - "teal": 1320, + "teal": 1318, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ 1214, - 1215 + 1215, + 1216 ] }, { - "teal": 1321, + "teal": 1319, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1216, - 1217, - 1218 + 1217 ] }, { - "teal": 1322, + "teal": 1320, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ + 1218, 1219 ] }, { - "teal": 1323, + "teal": 1321, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1220, - 1221 + 1220 ] }, { - "teal": 1324, + "teal": 1322, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1222 + 1221 ] }, { - "teal": 1325, + "teal": 1323, "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1223 + 1222, + 1223, + 1224 ] }, { - "teal": 1326, - "source": "examples/reti/validatorRegistry.algo.ts:461", + "teal": 1324, + "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1224, 1225, 1226 ] }, { - "teal": 1327, + "teal": 1325, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ 1227, - 1228 + 1228, + 1229 ] }, { - "teal": 1328, + "teal": 1326, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1229, - 1230, - 1231 + 1230 ] }, { - "teal": 1329, + "teal": 1327, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ + 1231, 1232 ] }, { - "teal": 1330, + "teal": 1328, "source": "examples/reti/validatorRegistry.algo.ts:462", "pc": [ - 1233, - 1234 + 1233 ] }, { - "teal": 1331, - "source": "examples/reti/validatorRegistry.algo.ts:462", + "teal": 1329, + "source": "examples/reti/validatorRegistry.algo.ts:461", "pc": [ - 1235 + 1234 ] }, { "teal": 1332, - "source": "examples/reti/validatorRegistry.algo.ts:461", + "source": "examples/reti/validatorRegistry.algo.ts:460", "pc": [ - 1236 + 1235, + 1236, + 1237 ] }, { - "teal": 1335, - "source": "examples/reti/validatorRegistry.algo.ts:460", + "teal": 1337, + "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1237, 1238, 1239 ] }, { - "teal": 1340, + "teal": 1338, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ 1240, - 1241 + 1241, + 1242 ] }, { - "teal": 1341, + "teal": 1339, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1242, - 1243, - 1244 + 1243 ] }, { - "teal": 1342, + "teal": 1340, "source": "examples/reti/validatorRegistry.algo.ts:465", "pc": [ - 1245 + 1244, + 1245, + 1246 ] }, { "teal": 1343, "source": "examples/reti/validatorRegistry.algo.ts:465", + "errorMessage": "provided NFD App id for gating must be valid NFD", "pc": [ - 1246, - 1247, - 1248 + 1247 ] }, { - "teal": 1346, - "source": "examples/reti/validatorRegistry.algo.ts:465", - "errorMessage": "provided NFD App id for gating must be valid NFD", + "teal": 1348, + "source": "examples/reti/validatorRegistry.algo.ts:468", "pc": [ + 1248, 1249 ] }, { "teal": 1351, - "source": "examples/reti/validatorRegistry.algo.ts:468", + "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ 1250, 1251 ] }, { - "teal": 1354, + "teal": 1352, "source": "examples/reti/validatorRegistry.algo.ts:427", "pc": [ - 1252, - 1253 + 1252 ] }, { - "teal": 1355, - "source": "examples/reti/validatorRegistry.algo.ts:427", + "teal": 1357, + "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1254 + 1253, + 1254, + 1255 ] }, { - "teal": 1360, + "teal": 1358, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1255, - 1256, - 1257 + 1256 ] }, { - "teal": 1361, + "teal": 1359, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1258 + 1257 ] }, { - "teal": 1362, + "teal": 1360, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ + 1258, 1259 ] }, { - "teal": 1363, + "teal": 1361, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1260, - 1261 + 1260 ] }, { "teal": 1364, "source": "examples/reti/validatorRegistry.algo.ts:478", + "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address", "pc": [ - 1262 + 1261 ] }, { "teal": 1367, "source": "examples/reti/validatorRegistry.algo.ts:478", - "errorMessage": "argument 0 (manager) for changeValidatorManager must be a address", "pc": [ - 1263 + 1262, + 1263, + 1264 ] }, { - "teal": 1370, + "teal": 1368, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1264, - 1265, - 1266 + 1265 ] }, { "teal": 1371, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1267 + 1266, + 1267, + 1268 ] }, { - "teal": 1374, + "teal": 1372, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1268, - 1269, - 1270 + 1269 ] }, { - "teal": 1375, + "teal": 1373, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1271 + 1270 ] }, { - "teal": 1376, + "teal": 1383, "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1272 + 1271, + 1272, + 1273 ] }, { - "teal": 1386, - "source": "examples/reti/validatorRegistry.algo.ts:478", + "teal": 1390, + "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1273, 1274, 1275 ] }, { - "teal": 1393, + "teal": 1391, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1276, - 1277 + 1276 ] }, { - "teal": 1394, + "teal": 1392, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1277, 1278 ] }, { - "teal": 1395, + "teal": 1393, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1279, - 1280 + 1279 ] }, { - "teal": 1396, + "teal": 1394, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1280, 1281 ] }, { - "teal": 1397, + "teal": 1395, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1282, - 1283 + 1282 ] }, { - "teal": 1398, + "teal": 1396, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1284 + 1283 ] }, { - "teal": 1399, + "teal": 1397, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ + 1284, 1285 ] }, { - "teal": 1400, + "teal": 1398, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1286, - 1287 + 1286 ] }, { - "teal": 1401, + "teal": 1399, "source": "examples/reti/validatorRegistry.algo.ts:480", "pc": [ - 1288 + 1287 ] }, { "teal": 1402, - "source": "examples/reti/validatorRegistry.algo.ts:480", + "source": "examples/reti/validatorRegistry.algo.ts:479", + "errorMessage": "can only be called by validator owner", "pc": [ - 1289 + 1288 ] }, { - "teal": 1405, - "source": "examples/reti/validatorRegistry.algo.ts:479", - "errorMessage": "can only be called by validator owner", + "teal": 1406, + "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1289, 1290 ] }, { - "teal": 1409, + "teal": 1407, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ 1291, @@ -5780,228 +5780,228 @@ ] }, { - "teal": 1410, + "teal": 1408, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1293, - 1294 + 1293 ] }, { - "teal": 1411, + "teal": 1409, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1294, 1295 ] }, { - "teal": 1412, + "teal": 1410, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1296, - 1297 + 1296 ] }, { - "teal": 1413, + "teal": 1411, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1298 + 1297 ] }, { - "teal": 1414, + "teal": 1412, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ + 1298, 1299 ] }, { - "teal": 1415, + "teal": 1413, "source": "examples/reti/validatorRegistry.algo.ts:483", "pc": [ - 1300, - 1301 + 1300 ] }, { - "teal": 1416, - "source": "examples/reti/validatorRegistry.algo.ts:483", + "teal": 1414, + "source": "examples/reti/validatorRegistry.algo.ts:478", "pc": [ - 1302 + 1301 ] }, { - "teal": 1417, - "source": "examples/reti/validatorRegistry.algo.ts:478", + "teal": 1419, + "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1303 + 1302, + 1303, + 1304 ] }, { - "teal": 1422, + "teal": 1420, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1304, - 1305, - 1306 + 1305 ] }, { "teal": 1423, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1307 + 1306, + 1307, + 1308 ] }, { - "teal": 1426, + "teal": 1424, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1308, - 1309, - 1310 + 1309 ] }, { "teal": 1427, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1311 + 1310, + 1311, + 1312 ] }, { - "teal": 1430, + "teal": 1428, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1312, - 1313, - 1314 + 1313 ] }, { "teal": 1431, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1315 + 1314, + 1315, + 1316 ] }, { - "teal": 1434, + "teal": 1432, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1316, - 1317, - 1318 + 1317 ] }, { - "teal": 1435, + "teal": 1433, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1319 + 1318 ] }, { - "teal": 1436, + "teal": 1444, "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1320 + 1319, + 1320, + 1321 ] }, { - "teal": 1447, - "source": "examples/reti/validatorRegistry.algo.ts:494", + "teal": 1451, + "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1321, 1322, 1323 ] }, { - "teal": 1454, + "teal": 1452, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1324, - 1325 + 1324 ] }, { - "teal": 1455, + "teal": 1453, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1325, 1326 ] }, { - "teal": 1456, + "teal": 1454, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1327, - 1328 + 1327 ] }, { - "teal": 1457, + "teal": 1455, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1328, 1329 ] }, { - "teal": 1458, + "teal": 1456, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1330, - 1331 + 1330 ] }, { - "teal": 1459, + "teal": 1457, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1332 + 1331 ] }, { - "teal": 1460, + "teal": 1458, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ + 1332, 1333 ] }, { - "teal": 1461, + "teal": 1459, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1334, - 1335 + 1334 ] }, { - "teal": 1462, + "teal": 1460, "source": "examples/reti/validatorRegistry.algo.ts:496", "pc": [ - 1336 + 1335 ] }, { "teal": 1463, - "source": "examples/reti/validatorRegistry.algo.ts:496", + "source": "examples/reti/validatorRegistry.algo.ts:495", + "errorMessage": "can only be called by validator owner", "pc": [ - 1337 + 1336 ] }, { - "teal": 1466, - "source": "examples/reti/validatorRegistry.algo.ts:495", - "errorMessage": "can only be called by validator owner", + "teal": 1467, + "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1337, 1338 ] }, { - "teal": 1470, + "teal": 1468, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ 1339, @@ -6009,312 +6009,312 @@ ] }, { - "teal": 1471, + "teal": 1469, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1341, - 1342 + 1341 ] }, { - "teal": 1472, + "teal": 1470, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1343 + 1342 ] }, { - "teal": 1473, + "teal": 1471, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1343, 1344 ] }, { - "teal": 1474, + "teal": 1472, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1345, - 1346 + 1345 ] }, { - "teal": 1475, + "teal": 1473, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1347 + 1346 ] }, { - "teal": 1476, + "teal": 1474, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ + 1347, 1348 ] }, { - "teal": 1477, + "teal": 1475, "source": "examples/reti/validatorRegistry.algo.ts:499", "pc": [ - 1349, - 1350 + 1349 ] }, { - "teal": 1478, - "source": "examples/reti/validatorRegistry.algo.ts:499", + "teal": 1479, + "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1351 + 1350, + 1351, + 1352 ] }, { - "teal": 1482, + "teal": 1480, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1352, 1353, 1354 ] }, { - "teal": 1483, + "teal": 1481, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1355, - 1356 + 1355 ] }, { - "teal": 1484, + "teal": 1482, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1357 + 1356 ] }, { - "teal": 1485, + "teal": 1483, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ + 1357, 1358 ] }, { - "teal": 1486, + "teal": 1484, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1359, - 1360 + 1359 ] }, { - "teal": 1487, + "teal": 1485, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1361 + 1360 ] }, { - "teal": 1488, + "teal": 1486, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ + 1361, 1362 ] }, { - "teal": 1489, + "teal": 1487, "source": "examples/reti/validatorRegistry.algo.ts:500", "pc": [ - 1363, - 1364 + 1363 ] }, { - "teal": 1490, - "source": "examples/reti/validatorRegistry.algo.ts:500", + "teal": 1488, + "source": "examples/reti/validatorRegistry.algo.ts:494", "pc": [ - 1365 + 1364 ] }, { - "teal": 1491, - "source": "examples/reti/validatorRegistry.algo.ts:494", + "teal": 1493, + "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1366 + 1365, + 1366, + 1367 ] }, { - "teal": 1496, + "teal": 1494, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1367, 1368, - 1369 + 1369, + 1370 ] }, { "teal": 1497, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1370, 1371, - 1372 + 1372, + 1373 ] }, { - "teal": 1500, + "teal": 1498, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1373, - 1374, - 1375 + 1374 ] }, { "teal": 1501, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1376 + 1375, + 1376, + 1377 ] }, { - "teal": 1504, + "teal": 1502, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1377, - 1378, - 1379 + 1378 ] }, { "teal": 1505, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1380 + 1379, + 1380, + 1381 ] }, { - "teal": 1508, + "teal": 1506, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1381, - 1382, - 1383 + 1382 ] }, { - "teal": 1509, + "teal": 1507, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1384 + 1383 ] }, { - "teal": 1510, + "teal": 1518, "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1385 + 1384, + 1385, + 1386 ] }, { - "teal": 1521, - "source": "examples/reti/validatorRegistry.algo.ts:511", + "teal": 1525, + "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1386, 1387, 1388 ] }, { - "teal": 1528, + "teal": 1526, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1389, - 1390 + 1389 ] }, { - "teal": 1529, + "teal": 1527, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1390, 1391 ] }, { - "teal": 1530, + "teal": 1528, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1392, - 1393 + 1392 ] }, { - "teal": 1531, + "teal": 1529, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1393, 1394 ] }, { - "teal": 1532, + "teal": 1530, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1395, - 1396 + 1395 ] }, { - "teal": 1533, + "teal": 1531, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1397 + 1396 ] }, { - "teal": 1534, + "teal": 1532, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ + 1397, 1398 ] }, { - "teal": 1535, + "teal": 1533, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1399, - 1400 + 1399 ] }, { - "teal": 1536, + "teal": 1534, "source": "examples/reti/validatorRegistry.algo.ts:514", "pc": [ - 1401 + 1400 ] }, { "teal": 1537, - "source": "examples/reti/validatorRegistry.algo.ts:514", + "source": "examples/reti/validatorRegistry.algo.ts:513", + "errorMessage": "can only be called by validator owner", "pc": [ - 1402 + 1401 ] }, { - "teal": 1540, - "source": "examples/reti/validatorRegistry.algo.ts:513", - "errorMessage": "can only be called by validator owner", + "teal": 1545, + "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1403 + 1402 ] }, { - "teal": 1548, + "teal": 1546, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ + 1403, 1404 ] }, { - "teal": 1549, + "teal": 1547, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ 1405, @@ -6322,15 +6322,15 @@ ] }, { - "teal": 1550, - "source": "examples/reti/validatorRegistry.algo.ts:518", + "teal": 1551, + "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1407, 1408 ] }, { - "teal": 1554, + "teal": 1552, "source": "examples/reti/validatorRegistry.algo.ts:519", "pc": [ 1409, @@ -6338,15 +6338,15 @@ ] }, { - "teal": 1555, - "source": "examples/reti/validatorRegistry.algo.ts:519", + "teal": 1556, + "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1411, 1412 ] }, { - "teal": 1559, + "teal": 1557, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1413, @@ -6354,7 +6354,7 @@ ] }, { - "teal": 1560, + "teal": 1558, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1415, @@ -6362,7 +6362,7 @@ ] }, { - "teal": 1561, + "teal": 1559, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1417, @@ -6370,7 +6370,7 @@ ] }, { - "teal": 1562, + "teal": 1560, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ 1419, @@ -6378,30 +6378,30 @@ ] }, { - "teal": 1563, + "teal": 1561, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ - 1421, - 1422 + 1421 ] }, { - "teal": 1564, + "teal": 1562, "source": "examples/reti/validatorRegistry.algo.ts:520", "pc": [ + 1422, 1423 ] }, { - "teal": 1565, - "source": "examples/reti/validatorRegistry.algo.ts:520", + "teal": 1566, + "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1424, 1425 ] }, { - "teal": 1569, + "teal": 1567, "source": "examples/reti/validatorRegistry.algo.ts:521", "pc": [ 1426, @@ -6410,16 +6410,16 @@ }, { "teal": 1570, - "source": "examples/reti/validatorRegistry.algo.ts:521", + "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1428, - 1429 + 1428 ] }, { - "teal": 1573, + "teal": 1571, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ + 1429, 1430 ] }, @@ -6427,19 +6427,19 @@ "teal": 1574, "source": "examples/reti/validatorRegistry.algo.ts:518", "pc": [ - 1431, - 1432 + 1431 ] }, { - "teal": 1577, - "source": "examples/reti/validatorRegistry.algo.ts:518", + "teal": 1581, + "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ + 1432, 1433 ] }, { - "teal": 1584, + "teal": 1582, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1434, @@ -6447,7 +6447,7 @@ ] }, { - "teal": 1585, + "teal": 1583, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ 1436, @@ -6455,45 +6455,45 @@ ] }, { - "teal": 1586, + "teal": 1584, "source": "examples/reti/validatorRegistry.algo.ts:525", "pc": [ - 1438, - 1439 + 1438 ] }, { "teal": 1587, "source": "examples/reti/validatorRegistry.algo.ts:525", + "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')", "pc": [ - 1440 + 1439 ] }, { - "teal": 1590, + "teal": 1588, "source": "examples/reti/validatorRegistry.algo.ts:525", - "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.owner.a')", "pc": [ - 1441 + 1440 ] }, { "teal": 1591, - "source": "examples/reti/validatorRegistry.algo.ts:525", + "source": "examples/reti/validatorRegistry.algo.ts:524", + "errorMessage": "If specifying NFD, account adding validator must be owner", "pc": [ - 1442 + 1441 ] }, { - "teal": 1594, - "source": "examples/reti/validatorRegistry.algo.ts:524", - "errorMessage": "If specifying NFD, account adding validator must be owner", + "teal": 1595, + "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1442, 1443 ] }, { - "teal": 1598, + "teal": 1596, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ 1444, @@ -6501,249 +6501,249 @@ ] }, { - "teal": 1599, + "teal": 1597, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1446, - 1447 + 1446 ] }, { - "teal": 1600, + "teal": 1598, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1448 + 1447 ] }, { - "teal": 1601, + "teal": 1599, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1448, 1449 ] }, { - "teal": 1602, + "teal": 1600, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1450, - 1451 + 1450 ] }, { - "teal": 1603, + "teal": 1601, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1452 + 1451 ] }, { - "teal": 1604, + "teal": 1602, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ + 1452, 1453 ] }, { - "teal": 1605, + "teal": 1603, "source": "examples/reti/validatorRegistry.algo.ts:528", "pc": [ - 1454, - 1455 + 1454 ] }, { - "teal": 1606, - "source": "examples/reti/validatorRegistry.algo.ts:528", + "teal": 1604, + "source": "examples/reti/validatorRegistry.algo.ts:511", "pc": [ - 1456 + 1455 ] }, { - "teal": 1607, - "source": "examples/reti/validatorRegistry.algo.ts:511", + "teal": 1609, + "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1457 + 1456, + 1457, + 1458 ] }, { - "teal": 1612, + "teal": 1610, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1458, - 1459, - 1460 + 1459 ] }, { - "teal": 1613, + "teal": 1611, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1461 + 1460 ] }, { - "teal": 1614, + "teal": 1612, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ + 1461, 1462 ] }, { - "teal": 1615, + "teal": 1613, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1463, - 1464 + 1463 ] }, { "teal": 1616, "source": "examples/reti/validatorRegistry.algo.ts:535", + "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address", "pc": [ - 1465 + 1464 ] }, { "teal": 1619, "source": "examples/reti/validatorRegistry.algo.ts:535", - "errorMessage": "argument 0 (commissionAddress) for changeValidatorCommissionAddress must be a address", "pc": [ - 1466 + 1465, + 1466, + 1467 ] }, { - "teal": 1622, + "teal": 1620, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1467, - 1468, - 1469 + 1468 ] }, { "teal": 1623, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1470 + 1469, + 1470, + 1471 ] }, { - "teal": 1626, + "teal": 1624, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1471, - 1472, - 1473 + 1472 ] }, { - "teal": 1627, + "teal": 1625, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1474 + 1473 ] }, { - "teal": 1628, + "teal": 1632, "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1475 + 1474, + 1475, + 1476 ] }, { - "teal": 1635, - "source": "examples/reti/validatorRegistry.algo.ts:535", + "teal": 1639, + "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1476, 1477, 1478 ] }, { - "teal": 1642, + "teal": 1640, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1479, - 1480 + 1479 ] }, { - "teal": 1643, + "teal": 1641, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1480, 1481 ] }, { - "teal": 1644, + "teal": 1642, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1482, - 1483 + 1482 ] }, { - "teal": 1645, + "teal": 1643, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1483, 1484 ] }, { - "teal": 1646, + "teal": 1644, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1485, - 1486 + 1485 ] }, { - "teal": 1647, + "teal": 1645, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1487 + 1486 ] }, { - "teal": 1648, + "teal": 1646, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ + 1487, 1488 ] }, { - "teal": 1649, + "teal": 1647, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1489, - 1490 + 1489 ] }, { - "teal": 1650, + "teal": 1648, "source": "examples/reti/validatorRegistry.algo.ts:537", "pc": [ - 1491 + 1490 ] }, { "teal": 1651, - "source": "examples/reti/validatorRegistry.algo.ts:537", + "source": "examples/reti/validatorRegistry.algo.ts:536", + "errorMessage": "can only be called by validator owner", "pc": [ - 1492 + 1491 ] }, { - "teal": 1654, - "source": "examples/reti/validatorRegistry.algo.ts:536", - "errorMessage": "can only be called by validator owner", + "teal": 1655, + "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ + 1492, 1493 ] }, { - "teal": 1658, + "teal": 1656, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ 1494, @@ -6751,403 +6751,403 @@ ] }, { - "teal": 1659, + "teal": 1657, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ - 1496, - 1497 + 1496 ] }, { - "teal": 1660, + "teal": 1658, "source": "examples/reti/validatorRegistry.algo.ts:540", "pc": [ - 1498 + 1497 ] }, { - "teal": 1661, - "source": "examples/reti/validatorRegistry.algo.ts:540", + "teal": 1662, + "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1499 + 1498, + 1499, + 1500 ] }, { - "teal": 1665, + "teal": 1663, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1500, 1501, 1502 ] }, { - "teal": 1666, + "teal": 1664, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1503, - 1504 + 1503 ] }, { - "teal": 1667, + "teal": 1665, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ + 1504, 1505 ] }, { - "teal": 1668, + "teal": 1666, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1506, - 1507 + 1506 ] }, { - "teal": 1669, + "teal": 1667, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1508 + 1507 ] }, { - "teal": 1670, + "teal": 1668, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ + 1508, 1509 ] }, { - "teal": 1671, + "teal": 1669, "source": "examples/reti/validatorRegistry.algo.ts:541", "pc": [ - 1510, - 1511 + 1510 ] }, { - "teal": 1672, - "source": "examples/reti/validatorRegistry.algo.ts:541", + "teal": 1670, + "source": "examples/reti/validatorRegistry.algo.ts:535", "pc": [ - 1512 + 1511 ] }, { - "teal": 1673, - "source": "examples/reti/validatorRegistry.algo.ts:535", + "teal": 1675, + "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ - 1513 + 1512, + 1513, + 1514 ] }, { - "teal": 1678, + "teal": 1676, "source": "examples/reti/validatorRegistry.algo.ts:554", "pc": [ - 1514, - 1515, - 1516 + 1515 ] }, { "teal": 1679, - "source": "examples/reti/validatorRegistry.algo.ts:554", + "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ - 1517 + 1516, + 1517, + 1518 ] }, { - "teal": 1682, + "teal": 1680, "source": "examples/reti/validatorRegistry.algo.ts:553", "pc": [ - 1518, - 1519, - 1520 + 1519 ] }, { "teal": 1683, - "source": "examples/reti/validatorRegistry.algo.ts:553", + "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1521 + 1520, + 1521, + 1522 ] }, { - "teal": 1686, + "teal": 1684, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1522, - 1523, - 1524 + 1523 ] }, { - "teal": 1687, + "teal": 1685, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1525 + 1524 ] }, { - "teal": 1688, + "teal": 1686, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ + 1525, 1526 ] }, { - "teal": 1689, + "teal": 1687, "source": "examples/reti/validatorRegistry.algo.ts:552", "pc": [ - 1527, - 1528 + 1527 ] }, { "teal": 1690, "source": "examples/reti/validatorRegistry.algo.ts:552", + "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]", "pc": [ - 1529 + 1528 ] }, { "teal": 1693, - "source": "examples/reti/validatorRegistry.algo.ts:552", - "errorMessage": "argument 2 (EntryGatingAssets) for changeValidatorRewardInfo must be a uint64[4]", + "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1530 + 1529, + 1530, + 1531 ] }, { - "teal": 1696, + "teal": 1694, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1531, - 1532, - 1533 + 1532 ] }, { - "teal": 1697, + "teal": 1695, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1534 + 1533 ] }, { - "teal": 1698, + "teal": 1696, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ + 1534, 1535 ] }, { - "teal": 1699, + "teal": 1697, "source": "examples/reti/validatorRegistry.algo.ts:551", "pc": [ - 1536, - 1537 + 1536 ] }, { "teal": 1700, "source": "examples/reti/validatorRegistry.algo.ts:551", + "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address", "pc": [ - 1538 + 1537 ] }, { "teal": 1703, - "source": "examples/reti/validatorRegistry.algo.ts:551", - "errorMessage": "argument 3 (EntryGatingAddress) for changeValidatorRewardInfo must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1539 + 1538, + 1539, + 1540 ] }, { - "teal": 1706, + "teal": 1704, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1540, - 1541, - 1542 + 1541 ] }, { - "teal": 1707, + "teal": 1705, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1543 + 1542 ] }, { - "teal": 1708, + "teal": 1706, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1544 + 1543 ] }, { - "teal": 1709, + "teal": 1707, "source": "examples/reti/validatorRegistry.algo.ts:550", "pc": [ - 1545 + 1544 ] }, { "teal": 1710, "source": "examples/reti/validatorRegistry.algo.ts:550", + "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8", "pc": [ - 1546 + 1545 ] }, { - "teal": 1713, + "teal": 1711, "source": "examples/reti/validatorRegistry.algo.ts:550", - "errorMessage": "argument 4 (EntryGatingType) for changeValidatorRewardInfo must be a uint8", "pc": [ - 1547 + 1546 ] }, { "teal": 1714, - "source": "examples/reti/validatorRegistry.algo.ts:550", + "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ - 1548 + 1547, + 1548, + 1549 ] }, { - "teal": 1717, + "teal": 1715, "source": "examples/reti/validatorRegistry.algo.ts:549", "pc": [ - 1549, - 1550, - 1551 + 1550 ] }, { "teal": 1718, - "source": "examples/reti/validatorRegistry.algo.ts:549", + "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1552 + 1551, + 1552, + 1553 ] }, { - "teal": 1721, + "teal": 1719, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1553, - 1554, - 1555 + 1554 ] }, { - "teal": 1722, + "teal": 1720, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1556 + 1555 ] }, { - "teal": 1723, + "teal": 1727, "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1557 + 1556, + 1557, + 1558 ] }, { - "teal": 1730, - "source": "examples/reti/validatorRegistry.algo.ts:548", + "teal": 1734, + "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1558, 1559, 1560 ] }, { - "teal": 1737, + "teal": 1735, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1561, - 1562 + 1561 ] }, { - "teal": 1738, + "teal": 1736, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1562, 1563 ] }, { - "teal": 1739, + "teal": 1737, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1564, - 1565 + 1564 ] }, { - "teal": 1740, + "teal": 1738, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1565, 1566 ] }, { - "teal": 1741, + "teal": 1739, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1567, - 1568 + 1567 ] }, { - "teal": 1742, + "teal": 1740, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1569 + 1568 ] }, { - "teal": 1743, + "teal": 1741, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ + 1569, 1570 ] }, { - "teal": 1744, + "teal": 1742, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1571, - 1572 + 1571 ] }, { - "teal": 1745, + "teal": 1743, "source": "examples/reti/validatorRegistry.algo.ts:557", "pc": [ - 1573 + 1572 ] }, { "teal": 1746, - "source": "examples/reti/validatorRegistry.algo.ts:557", + "source": "examples/reti/validatorRegistry.algo.ts:556", + "errorMessage": "can only be called by validator owner", "pc": [ - 1574 + 1573 ] }, { - "teal": 1749, - "source": "examples/reti/validatorRegistry.algo.ts:556", - "errorMessage": "can only be called by validator owner", + "teal": 1750, + "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1574, 1575 ] }, { - "teal": 1753, + "teal": 1751, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ 1576, @@ -7155,75 +7155,75 @@ ] }, { - "teal": 1754, + "teal": 1752, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1578, - 1579 + 1578 ] }, { - "teal": 1755, + "teal": 1753, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1580 + 1579, + 1580, + 1581 ] }, { - "teal": 1756, + "teal": 1754, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1581, - 1582, - 1583 + 1582 ] }, { - "teal": 1757, + "teal": 1755, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1583, 1584 ] }, { - "teal": 1758, + "teal": 1756, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1585, - 1586 + 1585 ] }, { - "teal": 1759, + "teal": 1757, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1587 + 1586 ] }, { - "teal": 1760, + "teal": 1758, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ + 1587, 1588 ] }, { - "teal": 1761, + "teal": 1759, "source": "examples/reti/validatorRegistry.algo.ts:561", "pc": [ - 1589, - 1590 + 1589 ] }, { - "teal": 1762, - "source": "examples/reti/validatorRegistry.algo.ts:561", + "teal": 1763, + "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1590, 1591 ] }, { - "teal": 1766, + "teal": 1764, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ 1592, @@ -7231,59 +7231,59 @@ ] }, { - "teal": 1767, + "teal": 1765, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1594, - 1595 + 1594 ] }, { - "teal": 1768, + "teal": 1766, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1595, 1596 ] }, { - "teal": 1769, + "teal": 1767, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1597, - 1598 + 1597 ] }, { - "teal": 1770, + "teal": 1768, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1599 + 1598 ] }, { - "teal": 1771, + "teal": 1769, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ + 1599, 1600 ] }, { - "teal": 1772, + "teal": 1770, "source": "examples/reti/validatorRegistry.algo.ts:562", "pc": [ - 1601, - 1602 + 1601 ] }, { - "teal": 1773, - "source": "examples/reti/validatorRegistry.algo.ts:562", + "teal": 1774, + "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1602, 1603 ] }, { - "teal": 1777, + "teal": 1775, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ 1604, @@ -7291,59 +7291,59 @@ ] }, { - "teal": 1778, + "teal": 1776, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1606, - 1607 + 1606 ] }, { - "teal": 1779, + "teal": 1777, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1607, 1608 ] }, { - "teal": 1780, + "teal": 1778, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1609, - 1610 + 1609 ] }, { - "teal": 1781, + "teal": 1779, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1611 + 1610 ] }, { - "teal": 1782, + "teal": 1780, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ + 1611, 1612 ] }, { - "teal": 1783, + "teal": 1781, "source": "examples/reti/validatorRegistry.algo.ts:563", "pc": [ - 1613, - 1614 + 1613 ] }, { - "teal": 1784, - "source": "examples/reti/validatorRegistry.algo.ts:563", + "teal": 1785, + "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1614, 1615 ] }, { - "teal": 1788, + "teal": 1786, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ 1616, @@ -7351,479 +7351,479 @@ ] }, { - "teal": 1789, + "teal": 1787, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1618, - 1619 + 1618 ] }, { - "teal": 1790, + "teal": 1788, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1620 + 1619 ] }, { - "teal": 1791, + "teal": 1789, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1620, 1621 ] }, { - "teal": 1792, + "teal": 1790, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1622, - 1623 + 1622 ] }, { - "teal": 1793, + "teal": 1791, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1624 + 1623 ] }, { - "teal": 1794, + "teal": 1792, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ + 1624, 1625 ] }, { - "teal": 1795, + "teal": 1793, "source": "examples/reti/validatorRegistry.algo.ts:564", "pc": [ - 1626, - 1627 + 1626 ] }, { - "teal": 1796, - "source": "examples/reti/validatorRegistry.algo.ts:564", + "teal": 1797, + "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1628 + 1627, + 1628, + 1629 ] }, { - "teal": 1800, + "teal": 1798, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1629, 1630, 1631 ] }, { - "teal": 1801, + "teal": 1799, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1632, - 1633 + 1632 ] }, { - "teal": 1802, + "teal": 1800, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1634 + 1633 ] }, { - "teal": 1803, + "teal": 1801, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ + 1634, 1635 ] }, { - "teal": 1804, + "teal": 1802, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1636, - 1637 + 1636 ] }, { - "teal": 1805, + "teal": 1803, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1638 + 1637 ] }, { - "teal": 1806, + "teal": 1804, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ + 1638, 1639 ] }, { - "teal": 1807, + "teal": 1805, "source": "examples/reti/validatorRegistry.algo.ts:565", "pc": [ - 1640, - 1641 + 1640 ] }, { - "teal": 1808, - "source": "examples/reti/validatorRegistry.algo.ts:565", + "teal": 1806, + "source": "examples/reti/validatorRegistry.algo.ts:548", "pc": [ - 1642 + 1641 ] }, { - "teal": 1809, - "source": "examples/reti/validatorRegistry.algo.ts:548", + "teal": 1811, + "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1643 + 1642 ] }, { "teal": 1814, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1644 + 1643, + 1644, + 1645 ] }, { - "teal": 1817, + "teal": 1815, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1645, - 1646, - 1647 + 1646 ] }, { "teal": 1818, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1648 + 1647, + 1648, + 1649 ] }, { - "teal": 1821, + "teal": 1819, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1649, - 1650, - 1651 + 1650 ] }, { "teal": 1822, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ + 1651, 1652 ] }, { - "teal": 1825, + "teal": 1823, + "source": "examples/reti/validatorRegistry.algo.ts:579", + "pc": [ + 1653 + ] + }, + { + "teal": 1824, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1653, 1654 ] }, { - "teal": 1826, + "teal": 1825, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1655 ] }, { - "teal": 1827, + "teal": 1826, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1656 + 1656, + 1657 ] }, { - "teal": 1828, + "teal": 1827, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1657 + 1658 ] }, { - "teal": 1829, + "teal": 1828, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1658, 1659 ] }, { - "teal": 1830, + "teal": 1831, "source": "examples/reti/validatorRegistry.algo.ts:579", + "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction", "pc": [ 1660 ] }, { - "teal": 1831, + "teal": 1834, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1661 + 1661, + 1662, + 1663 ] }, { - "teal": 1834, + "teal": 1835, "source": "examples/reti/validatorRegistry.algo.ts:579", - "errorMessage": "argument 2 (mbrPayment) for addPool must be a pay transaction", "pc": [ - 1662 + 1664 ] }, { - "teal": 1837, + "teal": 1836, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1663, - 1664, 1665 ] }, { - "teal": 1838, + "teal": 1837, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1666 ] }, { - "teal": 1839, + "teal": 1838, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ 1667 ] }, { - "teal": 1840, + "teal": 1851, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1668 + 1668, + 1669, + 1670 ] }, { - "teal": 1841, + "teal": 1854, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1669 + 1671 ] }, { - "teal": 1854, + "teal": 1855, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1670, - 1671, 1672 ] }, { - "teal": 1857, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 1863, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1673 + 1673, + 1674 ] }, { - "teal": 1858, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 1864, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1674 + 1675 + ] + }, + { + "teal": 1865, + "source": "examples/reti/validatorRegistry.algo.ts:582", + "pc": [ + 1676, + 1677 ] }, { "teal": 1866, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1675, - 1676 + 1678 ] }, { "teal": 1867, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1677 + 1679, + 1680 ] }, { "teal": 1868, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1678, - 1679 + 1681 ] }, { "teal": 1869, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1680 + 1682 ] }, { "teal": 1870, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1681, - 1682 + 1683, + 1684 ] }, { "teal": 1871, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1683 + 1685 ] }, { "teal": 1872, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1684 + 1686 ] }, { "teal": 1873, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1685, - 1686 + 1687 ] }, { "teal": 1874, "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ - 1687 + 1688, + 1689, + 1690 ] }, { "teal": 1875, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1688 + 1691, + 1692 ] }, { "teal": 1876, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1689 + 1693, + 1694 ] }, { "teal": 1877, - "source": "examples/reti/validatorRegistry.algo.ts:582", + "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1690, - 1691, - 1692 + 1695, + 1696 ] }, { "teal": 1878, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1693, - 1694 + 1697 ] }, { "teal": 1879, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1695, - 1696 + 1698, + 1699 ] }, { "teal": 1880, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1697, - 1698 + 1700 ] }, { "teal": 1881, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1699 + 1701 ] }, { "teal": 1882, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1700, - 1701 + 1702, + 1703 ] }, { "teal": 1883, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1702 + 1704 ] }, { "teal": 1884, "source": "examples/reti/validatorRegistry.algo.ts:583", "pc": [ - 1703 - ] - }, - { - "teal": 1885, - "source": "examples/reti/validatorRegistry.algo.ts:583", - "pc": [ - 1704, 1705 ] }, { - "teal": 1886, - "source": "examples/reti/validatorRegistry.algo.ts:583", + "teal": 1885, + "source": "examples/reti/validatorRegistry.algo.ts:582", "pc": [ 1706 ] }, { - "teal": 1887, - "source": "examples/reti/validatorRegistry.algo.ts:583", + "teal": 1889, + "source": "examples/reti/validatorRegistry.algo.ts:581", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ 1707 ] }, { - "teal": 1888, - "source": "examples/reti/validatorRegistry.algo.ts:582", - "pc": [ - 1708 - ] - }, - { - "teal": 1892, - "source": "examples/reti/validatorRegistry.algo.ts:581", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 1894, + "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ + 1708, 1709 ] }, { - "teal": 1897, + "teal": 1895, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1710, @@ -7831,55 +7831,55 @@ ] }, { - "teal": 1898, + "teal": 1896, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1712, - 1713 + 1713, + 1714 ] }, { - "teal": 1899, + "teal": 1897, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1714, 1715, - 1716 + 1716, + 1717 ] }, { - "teal": 1900, + "teal": 1898, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1717, - 1718, - 1719 + 1718 ] }, { - "teal": 1901, + "teal": 1899, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1720 + 1719 ] }, { "teal": 1902, "source": "examples/reti/validatorRegistry.algo.ts:588", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}", "pc": [ - 1721 + 1720 ] }, { "teal": 1905, "source": "examples/reti/validatorRegistry.algo.ts:588", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"amount\",\"expected\":\"this.getMbrAmounts().addPoolMbr\"}", "pc": [ + 1721, 1722 ] }, { - "teal": 1908, + "teal": 1906, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1723, @@ -7887,7 +7887,7 @@ ] }, { - "teal": 1909, + "teal": 1907, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ 1725, @@ -7895,88 +7895,88 @@ ] }, { - "teal": 1910, + "teal": 1908, "source": "examples/reti/validatorRegistry.algo.ts:588", "pc": [ - 1727, - 1728 + 1727 ] }, { "teal": 1911, "source": "examples/reti/validatorRegistry.algo.ts:588", + "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 1729 + 1728 ] }, { - "teal": 1914, - "source": "examples/reti/validatorRegistry.algo.ts:588", - "errorMessage": "transaction verification failed: {\"txn\":\"mbrPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "teal": 1915, + "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1730 + 1729 ] }, { - "teal": 1918, + "teal": 1916, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ + 1730, 1731 ] }, { - "teal": 1919, + "teal": 1917, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1732, - 1733 + 1732 ] }, { - "teal": 1920, + "teal": 1918, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1734 + 1733 ] }, { - "teal": 1921, + "teal": 1919, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1735 + 1734 ] }, { - "teal": 1922, + "teal": 1920, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1736 + 1735 ] }, { - "teal": 1923, + "teal": 1921, "source": "examples/reti/validatorRegistry.algo.ts:590", "pc": [ - 1737 + 1736 ] }, { "teal": 1924, "source": "examples/reti/validatorRegistry.algo.ts:590", + "errorMessage": "specified validator id isn't valid", "pc": [ - 1738 + 1737 ] }, { - "teal": 1927, - "source": "examples/reti/validatorRegistry.algo.ts:590", - "errorMessage": "specified validator id isn't valid", + "teal": 1928, + "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1738, 1739 ] }, { - "teal": 1931, + "teal": 1929, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ 1740, @@ -7984,150 +7984,150 @@ ] }, { - "teal": 1932, + "teal": 1930, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1742, - 1743 + 1742 ] }, { - "teal": 1933, + "teal": 1931, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1743, 1744 ] }, { - "teal": 1934, + "teal": 1932, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1745, - 1746 + 1745 ] }, { - "teal": 1935, + "teal": 1933, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1747 + 1746 ] }, { - "teal": 1936, + "teal": 1934, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1747, 1748 ] }, { - "teal": 1937, + "teal": 1935, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1749, - 1750 + 1749 ] }, { - "teal": 1938, + "teal": 1936, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ - 1751 + 1750 ] }, { - "teal": 1939, + "teal": 1937, "source": "examples/reti/validatorRegistry.algo.ts:592", "pc": [ + 1751, 1752 ] }, { - "teal": 1940, - "source": "examples/reti/validatorRegistry.algo.ts:592", + "teal": 1942, + "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ 1753, 1754 ] }, { - "teal": 1945, - "source": "examples/reti/validatorRegistry.algo.ts:593", - "pc": [ - 1755, - 1756 - ] - }, - { - "teal": 1946, + "teal": 1943, "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ - 1757 + 1755 ] }, { - "teal": 1947, + "teal": 1944, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ - 1758 + 1756 ] }, { - "teal": 1948, + "teal": 1945, "source": "examples/reti/validatorRegistry.algo.ts:593", "pc": [ - 1759, - 1760, - 1761 + 1757, + 1758, + 1759 ] }, { - "teal": 1952, + "teal": 1949, "source": "examples/reti/validatorRegistry.algo.ts:594", "errorMessage": "already at max pool size", "pc": [ + 1760 + ] + }, + { + "teal": 1954, + "source": "examples/reti/validatorRegistry.algo.ts:596", + "pc": [ + 1761, 1762 ] }, { - "teal": 1957, + "teal": 1955, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ - 1763, - 1764 + 1763 ] }, { - "teal": 1958, + "teal": 1956, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ - 1765 + 1764 ] }, { - "teal": 1959, + "teal": 1957, "source": "examples/reti/validatorRegistry.algo.ts:596", "pc": [ + 1765, 1766 ] }, { - "teal": 1960, - "source": "examples/reti/validatorRegistry.algo.ts:596", + "teal": 1979, + "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1767, - 1768 + 1767 ] }, { - "teal": 1982, + "teal": 1980, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ + 1768, 1769 ] }, { - "teal": 1983, + "teal": 1981, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ 1770, @@ -8135,68 +8135,68 @@ ] }, { - "teal": 1984, - "source": "examples/reti/validatorRegistry.algo.ts:599", + "teal": 1985, + "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ - 1772, - 1773 + 1772 ] }, { - "teal": 1988, + "teal": 1986, "source": "examples/reti/validatorRegistry.algo.ts:600", "pc": [ + 1773, 1774 ] }, { - "teal": 1989, - "source": "examples/reti/validatorRegistry.algo.ts:600", + "teal": 1993, + "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ 1775, 1776 ] }, { - "teal": 1996, + "teal": 1994, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ - 1777, - 1778 + 1777 ] }, { - "teal": 1997, + "teal": 1995, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ + 1778, 1779 ] }, { - "teal": 1998, + "teal": 1996, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ - 1780, - 1781 + 1780 ] }, { - "teal": 1999, + "teal": 1997, "source": "examples/reti/validatorRegistry.algo.ts:602", "pc": [ + 1781, 1782 ] }, { - "teal": 2000, - "source": "examples/reti/validatorRegistry.algo.ts:602", + "teal": 1998, + "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1783, 1784 ] }, { - "teal": 2001, + "teal": 1999, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1785, @@ -8204,7 +8204,7 @@ ] }, { - "teal": 2002, + "teal": 2000, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ 1787, @@ -8212,77 +8212,77 @@ ] }, { - "teal": 2003, + "teal": 2001, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1789, - 1790 + 1789 ] }, { "teal": 2004, "source": "examples/reti/validatorRegistry.algo.ts:603", + "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size", "pc": [ - 1791 + 1790 ] }, { - "teal": 2007, + "teal": 2005, "source": "examples/reti/validatorRegistry.algo.ts:603", - "errorMessage": "box value does not exist: this.stakingPoolApprovalProgram.size", "pc": [ + 1791, 1792 ] }, { - "teal": 2008, + "teal": 2006, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1793, - 1794 + 1793 ] }, { - "teal": 2009, + "teal": 2007, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ - 1795 + 1794 ] }, { - "teal": 2010, + "teal": 2008, "source": "examples/reti/validatorRegistry.algo.ts:603", "pc": [ + 1795, 1796 ] }, { - "teal": 2011, - "source": "examples/reti/validatorRegistry.algo.ts:603", + "teal": 2012, + "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ 1797, - 1798 + 1798, + 1799 ] }, { - "teal": 2015, + "teal": 2013, "source": "examples/reti/validatorRegistry.algo.ts:605", "pc": [ - 1799, 1800, 1801 ] }, { - "teal": 2016, - "source": "examples/reti/validatorRegistry.algo.ts:605", + "teal": 2017, + "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1802, 1803 ] }, { - "teal": 2020, + "teal": 2018, "source": "examples/reti/validatorRegistry.algo.ts:606", "pc": [ 1804, @@ -8290,15 +8290,15 @@ ] }, { - "teal": 2021, - "source": "examples/reti/validatorRegistry.algo.ts:606", + "teal": 2022, + "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1806, 1807 ] }, { - "teal": 2025, + "teal": 2023, "source": "examples/reti/validatorRegistry.algo.ts:607", "pc": [ 1808, @@ -8306,15 +8306,15 @@ ] }, { - "teal": 2026, - "source": "examples/reti/validatorRegistry.algo.ts:607", + "teal": 2027, + "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1810, 1811 ] }, { - "teal": 2030, + "teal": 2028, "source": "examples/reti/validatorRegistry.algo.ts:608", "pc": [ 1812, @@ -8322,188 +8322,188 @@ ] }, { - "teal": 2031, - "source": "examples/reti/validatorRegistry.algo.ts:608", + "teal": 2039, + "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ 1814, - 1815 + 1815, + 1816, + 1817, + 1818, + 1819 ] }, { - "teal": 2042, + "teal": 2040, "source": "examples/reti/validatorRegistry.algo.ts:611", "pc": [ - 1816, - 1817, - 1818, - 1819, 1820, 1821 ] }, { - "teal": 2043, - "source": "examples/reti/validatorRegistry.algo.ts:611", + "teal": 2041, + "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ 1822, - 1823 + 1823, + 1824 ] }, { - "teal": 2044, + "teal": 2042, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ - 1824, - 1825, - 1826 + 1825 ] }, { - "teal": 2045, + "teal": 2043, "source": "examples/reti/validatorRegistry.algo.ts:612", "pc": [ + 1826, 1827 ] }, { - "teal": 2046, - "source": "examples/reti/validatorRegistry.algo.ts:612", + "teal": 2044, + "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ 1828, 1829 ] }, { - "teal": 2047, + "teal": 2045, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ - 1830, - 1831 + 1830 ] }, { - "teal": 2048, + "teal": 2046, "source": "examples/reti/validatorRegistry.algo.ts:613", "pc": [ + 1831, 1832 ] }, { - "teal": 2049, - "source": "examples/reti/validatorRegistry.algo.ts:613", + "teal": 2047, + "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ 1833, 1834 ] }, { - "teal": 2050, + "teal": 2048, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ - 1835, - 1836 + 1835 ] }, { - "teal": 2051, + "teal": 2049, "source": "examples/reti/validatorRegistry.algo.ts:614", "pc": [ + 1836, 1837 ] }, { - "teal": 2052, - "source": "examples/reti/validatorRegistry.algo.ts:614", + "teal": 2050, + "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ 1838, 1839 ] }, { - "teal": 2053, + "teal": 2051, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1840, - 1841 + 1840 ] }, { - "teal": 2054, + "teal": 2052, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1842 + 1841 ] }, { - "teal": 2055, + "teal": 2053, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1842, 1843 ] }, { - "teal": 2056, + "teal": 2054, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1844, - 1845 + 1844 ] }, { - "teal": 2057, + "teal": 2055, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1846 + 1845 ] }, { - "teal": 2058, + "teal": 2056, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1846, 1847 ] }, { - "teal": 2059, + "teal": 2057, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1848, - 1849 + 1848 ] }, { - "teal": 2060, + "teal": 2058, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1850 + 1849 ] }, { - "teal": 2061, + "teal": 2059, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ - 1851 + 1850 ] }, { - "teal": 2062, + "teal": 2060, "source": "examples/reti/validatorRegistry.algo.ts:615", "pc": [ + 1851, 1852 ] }, { "teal": 2063, - "source": "examples/reti/validatorRegistry.algo.ts:615", + "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1853, - 1854 + 1853 ] }, { - "teal": 2066, + "teal": 2064, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ + 1854, 1855 ] }, @@ -8511,19 +8511,19 @@ "teal": 2067, "source": "examples/reti/validatorRegistry.algo.ts:599", "pc": [ - 1856, - 1857 + 1856 ] }, { - "teal": 2070, - "source": "examples/reti/validatorRegistry.algo.ts:599", + "teal": 2071, + "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1857, 1858 ] }, { - "teal": 2074, + "teal": 2072, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ 1859, @@ -8531,75 +8531,75 @@ ] }, { - "teal": 2075, + "teal": 2073, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1861, - 1862 + 1861 ] }, { - "teal": 2076, + "teal": 2074, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1863 + 1862, + 1863, + 1864 ] }, { - "teal": 2077, + "teal": 2075, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1864, - 1865, - 1866 + 1865 ] }, { - "teal": 2078, + "teal": 2076, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1866, 1867 ] }, { - "teal": 2079, + "teal": 2077, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1868, - 1869 + 1868 ] }, { - "teal": 2080, + "teal": 2078, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1870 + 1869 ] }, { - "teal": 2081, + "teal": 2079, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ + 1870, 1871 ] }, { - "teal": 2082, + "teal": 2080, "source": "examples/reti/validatorRegistry.algo.ts:619", "pc": [ - 1872, - 1873 + 1872 ] }, { - "teal": 2083, - "source": "examples/reti/validatorRegistry.algo.ts:619", + "teal": 2084, + "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ + 1873, 1874 ] }, { - "teal": 2087, + "teal": 2085, "source": "examples/reti/validatorRegistry.algo.ts:622", "pc": [ 1875, @@ -8607,15 +8607,15 @@ ] }, { - "teal": 2088, - "source": "examples/reti/validatorRegistry.algo.ts:622", + "teal": 2089, + "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1877, 1878 ] }, { - "teal": 2092, + "teal": 2090, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ 1879, @@ -8623,124 +8623,124 @@ ] }, { - "teal": 2093, + "teal": 2091, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1881, - 1882 + 1881 ] }, { - "teal": 2094, + "teal": 2092, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1883 + 1882 ] }, { - "teal": 2095, + "teal": 2093, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1883, 1884 ] }, { - "teal": 2096, + "teal": 2094, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1885, - 1886 + 1885 ] }, { - "teal": 2097, + "teal": 2095, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1887 + 1886 ] }, { - "teal": 2098, + "teal": 2096, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1888 + 1887 ] }, { - "teal": 2099, + "teal": 2097, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1889 + 1888 ] }, { - "teal": 2100, + "teal": 2098, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1889, 1890 ] }, { - "teal": 2101, + "teal": 2099, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1891, - 1892 + 1891 ] }, { - "teal": 2102, + "teal": 2100, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1893 + 1892 ] }, { - "teal": 2103, + "teal": 2101, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1893, 1894 ] }, { - "teal": 2104, + "teal": 2102, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1895, - 1896 + 1895 ] }, { - "teal": 2105, + "teal": 2103, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1897 + 1896 ] }, { - "teal": 2106, + "teal": 2104, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ + 1897, 1898 ] }, { - "teal": 2107, + "teal": 2105, "source": "examples/reti/validatorRegistry.algo.ts:623", "pc": [ - 1899, - 1900 + 1899 ] }, { - "teal": 2108, - "source": "examples/reti/validatorRegistry.algo.ts:623", + "teal": 2109, + "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ + 1900, 1901 ] }, { - "teal": 2112, + "teal": 2110, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1902, @@ -8748,7 +8748,7 @@ ] }, { - "teal": 2113, + "teal": 2111, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1904, @@ -8756,78 +8756,78 @@ ] }, { - "teal": 2114, + "teal": 2112, "source": "examples/reti/validatorRegistry.algo.ts:624", "pc": [ 1906, - 1907 + 1907, + 1908 ] }, { - "teal": 2115, - "source": "examples/reti/validatorRegistry.algo.ts:624", + "teal": 2116, + "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1908, 1909, 1910 ] }, { - "teal": 2119, + "teal": 2117, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1911, - 1912 + 1911 ] }, { - "teal": 2120, + "teal": 2118, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ + 1912, 1913 ] }, { - "teal": 2121, + "teal": 2119, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1914, - 1915 + 1914 ] }, { - "teal": 2122, + "teal": 2120, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1916 + 1915 ] }, { - "teal": 2123, + "teal": 2121, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ + 1916, 1917 ] }, { - "teal": 2124, + "teal": 2122, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1918, - 1919 + 1918 ] }, { - "teal": 2125, + "teal": 2123, "source": "examples/reti/validatorRegistry.algo.ts:632", "pc": [ - 1920 + 1919 ] }, { "teal": 2126, - "source": "examples/reti/validatorRegistry.algo.ts:632", + "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ + 1920, 1921 ] }, @@ -8840,417 +8840,417 @@ ] }, { - "teal": 2132, + "teal": 2130, "source": "examples/reti/validatorRegistry.algo.ts:579", "pc": [ - 1924, - 1925 + 1924 ] }, { - "teal": 2133, - "source": "examples/reti/validatorRegistry.algo.ts:579", + "teal": 2135, + "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1926 + 1925 ] }, { "teal": 2138, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1927 + 1926, + 1927, + 1928 ] }, { - "teal": 2141, + "teal": 2139, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1928, - 1929, - 1930 + 1929 ] }, { "teal": 2142, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1931 + 1930, + 1931, + 1932 ] }, { - "teal": 2145, + "teal": 2143, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1932, - 1933, - 1934 + 1933 ] }, { "teal": 2146, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1934, 1935 ] }, { - "teal": 2149, + "teal": 2147, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1936, - 1937 + 1936 ] }, { - "teal": 2150, + "teal": 2148, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1938 + 1937 ] }, { - "teal": 2151, + "teal": 2149, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1939 + 1938 ] }, { - "teal": 2152, + "teal": 2150, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1939, 1940 ] }, { - "teal": 2153, + "teal": 2151, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1941, - 1942 + 1941 ] }, { - "teal": 2154, + "teal": 2152, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1943 + 1942 ] }, { "teal": 2155, "source": "examples/reti/validatorRegistry.algo.ts:644", + "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 1944 + 1943 ] }, { "teal": 2158, "source": "examples/reti/validatorRegistry.algo.ts:644", - "errorMessage": "argument 2 (stakedAmountPayment) for addStake must be a pay transaction", "pc": [ - 1945 + 1944, + 1945, + 1946 ] }, { - "teal": 2161, + "teal": 2159, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1946, - 1947, - 1948 + 1947 ] }, { - "teal": 2162, + "teal": 2160, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1949 + 1948 ] }, { - "teal": 2163, + "teal": 2161, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1950 + 1949 ] }, { - "teal": 2164, + "teal": 2162, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1951 + 1950 ] }, { - "teal": 2165, + "teal": 2174, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1952 + 1951, + 1952, + 1953 ] }, { "teal": 2177, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 1953, - 1954, - 1955 + 1954 ] }, { - "teal": 2180, + "teal": 2178, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ + 1955, 1956 ] }, { - "teal": 2181, - "source": "examples/reti/validatorRegistry.algo.ts:644", + "teal": 2182, + "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ - 1957, - 1958 + 1957 ] }, { - "teal": 2185, + "teal": 2183, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ + 1958, 1959 ] }, { - "teal": 2186, + "teal": 2184, + "source": "examples/reti/validatorRegistry.algo.ts:645", + "pc": [ + 1960 + ] + }, + { + "teal": 2185, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ - 1960, 1961 ] }, { - "teal": 2187, + "teal": 2186, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1962 ] }, { - "teal": 2188, + "teal": 2187, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1963 ] }, { - "teal": 2189, + "teal": 2188, "source": "examples/reti/validatorRegistry.algo.ts:645", "pc": [ 1964 ] }, { - "teal": 2190, + "teal": 2191, "source": "examples/reti/validatorRegistry.algo.ts:645", + "errorMessage": "specified validator id isn't valid", "pc": [ 1965 ] }, { - "teal": 2191, - "source": "examples/reti/validatorRegistry.algo.ts:645", + "teal": 2196, + "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1966 + 1966, + 1967 ] }, { - "teal": 2194, - "source": "examples/reti/validatorRegistry.algo.ts:645", - "errorMessage": "specified validator id isn't valid", + "teal": 2197, + "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1967 + 1968 ] }, { - "teal": 2199, + "teal": 2198, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1968, 1969 ] }, + { + "teal": 2199, + "source": "examples/reti/validatorRegistry.algo.ts:648", + "pc": [ + 1970, + 1971 + ] + }, { "teal": 2200, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1970 + 1972 ] }, { "teal": 2201, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1971 + 1973 ] }, { "teal": 2202, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1972, - 1973 + 1974, + 1975 ] }, { "teal": 2203, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1974 + 1976 ] }, { "teal": 2204, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1975 + 1977 ] }, { "teal": 2205, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1976, - 1977 + 1978 ] }, { "teal": 2206, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1978 + 1979 ] }, { "teal": 2207, "source": "examples/reti/validatorRegistry.algo.ts:648", "pc": [ - 1979 + 1980, + 1981, + 1982 ] }, { - "teal": 2208, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2215, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1980 + 1983, + 1984 ] }, { - "teal": 2209, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2216, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1981 + 1985 ] }, { - "teal": 2210, - "source": "examples/reti/validatorRegistry.algo.ts:648", + "teal": 2217, + "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1982, - 1983, - 1984 + 1986 ] }, { "teal": 2218, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1985, - 1986 + 1987, + 1988 ] }, { "teal": 2219, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1987 + 1989 ] }, { "teal": 2220, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1988 + 1990 ] }, { "teal": 2221, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1989, - 1990 + 1991, + 1992 ] }, { "teal": 2222, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1991 + 1993 ] }, { "teal": 2223, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1992 + 1994 ] }, { "teal": 2224, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1993, - 1994 + 1995, + 1996 ] }, { "teal": 2225, "source": "examples/reti/validatorRegistry.algo.ts:650", "pc": [ - 1995 + 1997 ] }, { - "teal": 2226, - "source": "examples/reti/validatorRegistry.algo.ts:650", + "teal": 2228, + "source": "examples/reti/validatorRegistry.algo.ts:649", + "errorMessage": "can't stake with a validator that is past its sunsetting time", "pc": [ - 1996 + 1998 ] }, { - "teal": 2227, - "source": "examples/reti/validatorRegistry.algo.ts:650", - "pc": [ - 1997, - 1998 - ] - }, - { - "teal": 2228, - "source": "examples/reti/validatorRegistry.algo.ts:650", - "pc": [ - 1999 - ] - }, - { - "teal": 2231, - "source": "examples/reti/validatorRegistry.algo.ts:649", - "errorMessage": "can't stake with a validator that is past its sunsetting time", + "teal": 2233, + "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ + 1999, 2000 ] }, { - "teal": 2236, + "teal": 2234, "source": "examples/reti/validatorRegistry.algo.ts:655", "pc": [ 2001, @@ -9258,23 +9258,23 @@ ] }, { - "teal": 2237, - "source": "examples/reti/validatorRegistry.algo.ts:655", + "teal": 2242, + "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ 2003, 2004 ] }, { - "teal": 2245, - "source": "examples/reti/validatorRegistry.algo.ts:659", + "teal": 2243, + "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2005, 2006 ] }, { - "teal": 2246, + "teal": 2244, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ 2007, @@ -9282,38 +9282,38 @@ ] }, { - "teal": 2247, + "teal": 2245, "source": "examples/reti/validatorRegistry.algo.ts:660", "pc": [ - 2009, - 2010 + 2009 ] }, { "teal": 2248, "source": "examples/reti/validatorRegistry.algo.ts:660", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}", "pc": [ - 2011 + 2010 ] }, { "teal": 2251, - "source": "examples/reti/validatorRegistry.algo.ts:660", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"sender\",\"expected\":\"staker\"}", + "source": "examples/reti/validatorRegistry.algo.ts:659", "pc": [ + 2011, 2012 ] }, { - "teal": 2254, - "source": "examples/reti/validatorRegistry.algo.ts:659", + "teal": 2252, + "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2013, 2014 ] }, { - "teal": 2255, + "teal": 2253, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ 2015, @@ -9321,120 +9321,120 @@ ] }, { - "teal": 2256, + "teal": 2254, "source": "examples/reti/validatorRegistry.algo.ts:661", "pc": [ - 2017, - 2018 + 2017 ] }, { "teal": 2257, "source": "examples/reti/validatorRegistry.algo.ts:661", + "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ - 2019 + 2018 ] }, { - "teal": 2260, - "source": "examples/reti/validatorRegistry.algo.ts:661", - "errorMessage": "transaction verification failed: {\"txn\":\"stakedAmountPayment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", + "teal": 2264, + "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2019, 2020 ] }, { - "teal": 2267, + "teal": 2265, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2021, - 2022 + 2021 ] }, { - "teal": 2268, + "teal": 2266, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2023 + 2022 ] }, { - "teal": 2269, + "teal": 2267, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2023, 2024 ] }, { - "teal": 2270, + "teal": 2268, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2025, - 2026 + 2025 ] }, { - "teal": 2271, + "teal": 2269, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2027 + 2026 ] }, { - "teal": 2272, + "teal": 2270, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ + 2027, 2028 ] }, { - "teal": 2273, + "teal": 2271, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2029, - 2030 + 2029 ] }, { - "teal": 2274, + "teal": 2272, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2031 + 2030 ] }, { - "teal": 2275, + "teal": 2273, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2032 + 2031, + 2032, + 2033 ] }, { - "teal": 2276, + "teal": 2274, "source": "examples/reti/validatorRegistry.algo.ts:667", "pc": [ - 2033, - 2034, - 2035 + 2034 ] }, { "teal": 2277, - "source": "examples/reti/validatorRegistry.algo.ts:667", + "source": "examples/reti/validatorRegistry.algo.ts:666", + "errorMessage": "total staked for all of a validators pools may not exceed hard cap", "pc": [ - 2036 + 2035 ] }, { - "teal": 2280, - "source": "examples/reti/validatorRegistry.algo.ts:666", - "errorMessage": "total staked for all of a validators pools may not exceed hard cap", + "teal": 2281, + "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ + 2036, 2037 ] }, { - "teal": 2284, + "teal": 2282, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2038, @@ -9442,24 +9442,24 @@ ] }, { - "teal": 2285, + "teal": 2283, "source": "examples/reti/validatorRegistry.algo.ts:673", "pc": [ 2040, - 2041 + 2041, + 2042 ] }, { - "teal": 2286, - "source": "examples/reti/validatorRegistry.algo.ts:673", + "teal": 2287, + "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ - 2042, 2043, 2044 ] }, { - "teal": 2290, + "teal": 2288, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2045, @@ -9467,7 +9467,7 @@ ] }, { - "teal": 2291, + "teal": 2289, "source": "examples/reti/validatorRegistry.algo.ts:675", "pc": [ 2047, @@ -9475,122 +9475,122 @@ ] }, { - "teal": 2292, - "source": "examples/reti/validatorRegistry.algo.ts:675", + "teal": 2293, + "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ - 2049, - 2050 + 2049 ] }, { - "teal": 2296, + "teal": 2294, "source": "examples/reti/validatorRegistry.algo.ts:676", "pc": [ + 2050, 2051 ] }, { - "teal": 2297, - "source": "examples/reti/validatorRegistry.algo.ts:676", + "teal": 2299, + "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2052, - 2053 + 2052 ] }, { - "teal": 2302, + "teal": 2300, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ + 2053, 2054 ] }, { - "teal": 2303, + "teal": 2301, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2055, - 2056 + 2055 ] }, { - "teal": 2304, + "teal": 2302, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2057 + 2056 ] }, { - "teal": 2305, + "teal": 2303, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2058 + 2057 ] }, { - "teal": 2306, + "teal": 2304, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2059 + 2058 ] }, { - "teal": 2307, + "teal": 2305, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2060 + 2059 ] }, { - "teal": 2308, + "teal": 2306, "source": "examples/reti/validatorRegistry.algo.ts:678", "pc": [ - 2061 + 2060, + 2061, + 2062 ] }, { - "teal": 2309, - "source": "examples/reti/validatorRegistry.algo.ts:678", + "teal": 2311, + "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2062, 2063, - 2064 + 2064, + 2065 ] }, { - "teal": 2314, + "teal": 2312, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2065, 2066, - 2067 + 2067, + 2068 ] }, { - "teal": 2315, + "teal": 2313, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ - 2068, - 2069, - 2070 + 2069 ] }, { - "teal": 2316, + "teal": 2314, "source": "examples/reti/validatorRegistry.algo.ts:681", "pc": [ + 2070, 2071 ] }, { - "teal": 2317, - "source": "examples/reti/validatorRegistry.algo.ts:681", + "teal": 2318, + "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2072, 2073 ] }, { - "teal": 2321, + "teal": 2319, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ 2074, @@ -9598,75 +9598,75 @@ ] }, { - "teal": 2322, + "teal": 2320, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ - 2076, - 2077 + 2076 ] }, { - "teal": 2323, + "teal": 2321, "source": "examples/reti/validatorRegistry.algo.ts:682", "pc": [ + 2077, 2078 ] }, { - "teal": 2324, - "source": "examples/reti/validatorRegistry.algo.ts:682", + "teal": 2325, + "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2079, - 2080 + 2079 ] }, { - "teal": 2328, + "teal": 2326, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ + 2080, 2081 ] }, { - "teal": 2329, + "teal": 2327, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2082, - 2083 + 2082 ] }, { - "teal": 2330, + "teal": 2328, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2084 + 2083, + 2084, + 2085 ] }, { - "teal": 2331, + "teal": 2329, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2085, - 2086, - 2087 + 2086 ] }, { - "teal": 2332, + "teal": 2330, "source": "examples/reti/validatorRegistry.algo.ts:683", "pc": [ - 2088 + 2087 ] }, { - "teal": 2333, - "source": "examples/reti/validatorRegistry.algo.ts:683", + "teal": 2335, + "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ + 2088, 2089 ] }, { - "teal": 2338, + "teal": 2336, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2090, @@ -9674,7 +9674,7 @@ ] }, { - "teal": 2339, + "teal": 2337, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2092, @@ -9682,32 +9682,32 @@ ] }, { - "teal": 2340, + "teal": 2338, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ 2094, - 2095 + 2095, + 2096 ] }, { - "teal": 2341, + "teal": 2339, "source": "examples/reti/validatorRegistry.algo.ts:687", "pc": [ - 2096, 2097, 2098 ] }, { - "teal": 2342, - "source": "examples/reti/validatorRegistry.algo.ts:687", + "teal": 2345, + "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2099, 2100 ] }, { - "teal": 2348, + "teal": 2346, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2101, @@ -9715,7 +9715,7 @@ ] }, { - "teal": 2349, + "teal": 2347, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2103, @@ -9723,7 +9723,7 @@ ] }, { - "teal": 2350, + "teal": 2348, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ 2105, @@ -9731,30 +9731,30 @@ ] }, { - "teal": 2351, + "teal": 2349, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ - 2107, - 2108 + 2107 ] }, { - "teal": 2352, + "teal": 2350, "source": "examples/reti/validatorRegistry.algo.ts:689", "pc": [ + 2108, 2109 ] }, { - "teal": 2353, - "source": "examples/reti/validatorRegistry.algo.ts:689", + "teal": 2354, + "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2110, 2111 ] }, { - "teal": 2357, + "teal": 2355, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2112, @@ -9762,7 +9762,7 @@ ] }, { - "teal": 2358, + "teal": 2356, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2114, @@ -9770,39 +9770,39 @@ ] }, { - "teal": 2359, + "teal": 2357, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ 2116, - 2117 + 2117, + 2118 ] }, { - "teal": 2360, + "teal": 2358, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ - 2118, - 2119, - 2120 + 2119 ] }, { - "teal": 2361, + "teal": 2359, "source": "examples/reti/validatorRegistry.algo.ts:690", "pc": [ + 2120, 2121 ] }, { - "teal": 2362, - "source": "examples/reti/validatorRegistry.algo.ts:690", + "teal": 2364, + "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2122, 2123 ] }, { - "teal": 2367, + "teal": 2365, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2124, @@ -9810,7 +9810,7 @@ ] }, { - "teal": 2368, + "teal": 2366, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2126, @@ -9818,62 +9818,62 @@ ] }, { - "teal": 2369, + "teal": 2367, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ 2128, - 2129 + 2129, + 2130 ] }, { - "teal": 2370, + "teal": 2368, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2130, - 2131, - 2132 + 2131 ] }, { - "teal": 2371, + "teal": 2369, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2133 + 2132 ] }, { - "teal": 2372, + "teal": 2370, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2134 + 2133 ] }, { - "teal": 2373, + "teal": 2371, "source": "examples/reti/validatorRegistry.algo.ts:691", "pc": [ - 2135 + 2134, + 2135, + 2136 ] }, { - "teal": 2374, - "source": "examples/reti/validatorRegistry.algo.ts:691", + "teal": 2375, + "source": "examples/reti/validatorRegistry.algo.ts:692", + "errorMessage": "No pool available with free stake. Validator needs to add another pool", "pc": [ - 2136, - 2137, - 2138 + 2137 ] }, { - "teal": 2378, - "source": "examples/reti/validatorRegistry.algo.ts:692", - "errorMessage": "No pool available with free stake. Validator needs to add another pool", + "teal": 2380, + "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ + 2138, 2139 ] }, { - "teal": 2383, + "teal": 2381, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2140, @@ -9881,7 +9881,7 @@ ] }, { - "teal": 2384, + "teal": 2382, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2142, @@ -9889,65 +9889,65 @@ ] }, { - "teal": 2385, + "teal": 2383, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2144, - 2145 + 2145, + 2146 ] }, { - "teal": 2386, + "teal": 2384, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ - 2146, 2147, 2148 ] }, { - "teal": 2387, + "teal": 2385, "source": "examples/reti/validatorRegistry.algo.ts:696", "pc": [ 2149, - 2150 + 2150, + 2151 ] }, { - "teal": 2388, - "source": "examples/reti/validatorRegistry.algo.ts:696", + "teal": 2395, + "source": "examples/reti/validatorRegistry.algo.ts:704", "pc": [ - 2151, 2152, 2153 ] }, { - "teal": 2398, - "source": "examples/reti/validatorRegistry.algo.ts:704", + "teal": 2396, + "source": "examples/reti/validatorRegistry.algo.ts:703", "pc": [ 2154, 2155 ] }, { - "teal": 2399, - "source": "examples/reti/validatorRegistry.algo.ts:703", + "teal": 2397, + "source": "examples/reti/validatorRegistry.algo.ts:702", "pc": [ 2156, 2157 ] }, { - "teal": 2400, - "source": "examples/reti/validatorRegistry.algo.ts:702", + "teal": 2398, + "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2158, 2159 ] }, { - "teal": 2401, + "teal": 2399, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2160, @@ -9955,7 +9955,7 @@ ] }, { - "teal": 2402, + "teal": 2400, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2162, @@ -9963,41 +9963,41 @@ ] }, { - "teal": 2403, + "teal": 2401, "source": "examples/reti/validatorRegistry.algo.ts:701", "pc": [ 2164, - 2165 + 2165, + 2166 ] }, { - "teal": 2404, - "source": "examples/reti/validatorRegistry.algo.ts:701", + "teal": 2402, + "source": "examples/reti/validatorRegistry.algo.ts:700", "pc": [ - 2166, 2167, 2168 ] }, { - "teal": 2405, - "source": "examples/reti/validatorRegistry.algo.ts:700", + "teal": 2403, + "source": "examples/reti/validatorRegistry.algo.ts:699", "pc": [ 2169, - 2170 + 2170, + 2171 ] }, { - "teal": 2406, - "source": "examples/reti/validatorRegistry.algo.ts:699", + "teal": 2407, + "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ - 2171, 2172, 2173 ] }, { - "teal": 2410, + "teal": 2408, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2174, @@ -10005,7 +10005,7 @@ ] }, { - "teal": 2411, + "teal": 2409, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2176, @@ -10013,18 +10013,18 @@ ] }, { - "teal": 2412, + "teal": 2410, "source": "examples/reti/validatorRegistry.algo.ts:714", "pc": [ 2178, - 2179 + 2179, + 2180 ] }, { "teal": 2413, - "source": "examples/reti/validatorRegistry.algo.ts:714", + "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 2180, 2181, 2182 ] @@ -10038,209 +10038,209 @@ ] }, { - "teal": 2419, + "teal": 2417, "source": "examples/reti/validatorRegistry.algo.ts:644", "pc": [ - 2185, - 2186 + 2185 ] }, { - "teal": 2420, - "source": "examples/reti/validatorRegistry.algo.ts:644", + "teal": 2422, + "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2187 + 2186 ] }, { "teal": 2425, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2188 + 2187, + 2188, + 2189 ] }, { - "teal": 2428, + "teal": 2426, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2189, - 2190, - 2191 + 2190 ] }, { "teal": 2429, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2192 + 2191, + 2192, + 2193 ] }, { - "teal": 2432, + "teal": 2430, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2193, - 2194, - 2195 + 2194 ] }, { - "teal": 2433, + "teal": 2431, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2196 + 2195 ] }, { - "teal": 2434, + "teal": 2432, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2197 + 2196 ] }, { - "teal": 2435, + "teal": 2433, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2198 + 2197 ] }, { - "teal": 2436, + "teal": 2451, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2199 + 2198, + 2199, + 2200 ] }, { "teal": 2454, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2200, - 2201, - 2202 + 2201 ] }, { - "teal": 2457, + "teal": 2455, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ + 2202, 2203 ] }, { - "teal": 2458, - "source": "examples/reti/validatorRegistry.algo.ts:732", + "teal": 2459, + "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ 2204, 2205 ] }, { - "teal": 2462, + "teal": 2460, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2206, - 2207 + 2206 ] }, { - "teal": 2463, + "teal": 2461, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2208 + 2207 ] }, { - "teal": 2464, + "teal": 2462, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2208, 2209 ] }, { - "teal": 2465, + "teal": 2463, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2210, - 2211 + 2210 ] }, { - "teal": 2466, + "teal": 2464, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2212 + 2211 ] }, { - "teal": 2467, + "teal": 2465, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2212, 2213 ] }, { - "teal": 2468, + "teal": 2466, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2214, - 2215 + 2214 ] }, { - "teal": 2469, + "teal": 2467, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ - 2216 + 2215 ] }, { - "teal": 2470, + "teal": 2468, "source": "examples/reti/validatorRegistry.algo.ts:734", "pc": [ + 2216, 2217 ] }, { - "teal": 2471, - "source": "examples/reti/validatorRegistry.algo.ts:734", + "teal": 2472, + "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ 2218, 2219 ] }, { - "teal": 2475, + "teal": 2473, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2220, - 2221 + 2220 ] }, { - "teal": 2476, + "teal": 2474, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2222 + 2221 ] }, { - "teal": 2477, + "teal": 2475, "source": "examples/reti/validatorRegistry.algo.ts:735", "pc": [ - 2223 + 2222 ] }, { - "teal": 2478, - "source": "examples/reti/validatorRegistry.algo.ts:735", + "teal": 2480, + "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ + 2223, 2224 ] }, { - "teal": 2483, + "teal": 2481, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2225, @@ -10248,7 +10248,7 @@ ] }, { - "teal": 2484, + "teal": 2482, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ 2227, @@ -10256,38 +10256,38 @@ ] }, { - "teal": 2485, + "teal": 2483, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2229, - 2230 + 2229 ] }, { - "teal": 2486, + "teal": 2484, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2231 + 2230 ] }, { - "teal": 2487, + "teal": 2485, "source": "examples/reti/validatorRegistry.algo.ts:737", "pc": [ - 2232 + 2231, + 2232, + 2233 ] }, { - "teal": 2488, - "source": "examples/reti/validatorRegistry.algo.ts:737", + "teal": 2490, + "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2233, 2234, 2235 ] }, { - "teal": 2493, + "teal": 2491, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ 2236, @@ -10295,68 +10295,68 @@ ] }, { - "teal": 2494, + "teal": 2492, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2238, - 2239 + 2238 ] }, { - "teal": 2495, + "teal": 2493, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ + 2239, 2240 ] }, { - "teal": 2496, + "teal": 2494, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2241, - 2242 + 2241 ] }, { - "teal": 2497, + "teal": 2495, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2243 + 2242 ] }, { - "teal": 2498, + "teal": 2496, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ + 2243, 2244 ] }, { - "teal": 2499, + "teal": 2497, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2245, - 2246 + 2245 ] }, { - "teal": 2500, + "teal": 2498, "source": "examples/reti/validatorRegistry.algo.ts:738", "pc": [ - 2247 + 2246, + 2247, + 2248 ] }, { - "teal": 2501, - "source": "examples/reti/validatorRegistry.algo.ts:738", + "teal": 2503, + "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ - 2248, 2249, 2250 ] }, { - "teal": 2506, + "teal": 2504, "source": "examples/reti/validatorRegistry.algo.ts:744", "pc": [ 2251, @@ -10364,130 +10364,124 @@ ] }, { - "teal": 2507, - "source": "examples/reti/validatorRegistry.algo.ts:744", + "teal": 2508, + "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ 2253, 2254 ] }, { - "teal": 2511, + "teal": 2509, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2255, - 2256 + 2255 ] }, { - "teal": 2512, + "teal": 2510, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2257 + 2256 ] }, { - "teal": 2513, + "teal": 2511, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2257, 2258 ] }, { - "teal": 2514, + "teal": 2512, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2259, - 2260 + 2259 ] }, { - "teal": 2515, + "teal": 2513, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2261 + 2260 ] }, { - "teal": 2516, + "teal": 2514, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2261, 2262 ] }, { - "teal": 2517, + "teal": 2515, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2263, - 2264 + 2263 ] }, { - "teal": 2518, + "teal": 2516, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ - 2265 + 2264 ] }, { - "teal": 2519, + "teal": 2517, "source": "examples/reti/validatorRegistry.algo.ts:745", "pc": [ + 2265, 2266 ] }, { - "teal": 2520, - "source": "examples/reti/validatorRegistry.algo.ts:745", + "teal": 2522, + "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ 2267, 2268 ] }, { - "teal": 2525, + "teal": 2523, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2269, - 2270 + 2269 ] }, { - "teal": 2526, + "teal": 2524, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2271 + 2270 ] }, { - "teal": 2527, + "teal": 2525, "source": "examples/reti/validatorRegistry.algo.ts:746", "pc": [ - 2272 + 2271, + 2272, + 2273 ] }, { - "teal": 2528, - "source": "examples/reti/validatorRegistry.algo.ts:746", + "teal": 2531, + "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2273, 2274, 2275 ] }, { - "teal": 2534, + "teal": 2532, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ 2276, - 2277 - ] - }, - { - "teal": 2535, - "source": "examples/reti/validatorRegistry.algo.ts:748", - "pc": [ + 2277, 2278, 2279, 2280, @@ -10497,52 +10491,58 @@ 2284, 2285, 2286, - 2287, - 2288, - 2289 + 2287 ] }, { - "teal": 2536, + "teal": 2533, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2290 + 2288 ] }, { - "teal": 2539, + "teal": 2536, "source": "examples/reti/validatorRegistry.algo.ts:748", "errorMessage": "global state value does not exist: AppID.fromUint64(pool1AppID).globalState('lastPayout')", "pc": [ - 2291 + 2289 ] }, { - "teal": 2540, + "teal": 2537, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2292, - 2293 + 2290, + 2291 ] }, { - "teal": 2541, + "teal": 2538, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2294 + 2292 ] }, { - "teal": 2542, + "teal": 2539, "source": "examples/reti/validatorRegistry.algo.ts:748", "pc": [ - 2295, + 2293, + 2294, + 2295 + ] + }, + { + "teal": 2544, + "source": "examples/reti/validatorRegistry.algo.ts:749", + "pc": [ 2296, 2297 ] }, { - "teal": 2547, + "teal": 2545, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ 2298, @@ -10550,144 +10550,144 @@ ] }, { - "teal": 2548, + "teal": 2546, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2300, - 2301 + 2300 ] }, { - "teal": 2549, + "teal": 2547, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ + 2301, 2302 ] }, { - "teal": 2550, + "teal": 2548, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2303, - 2304 + 2303 ] }, { - "teal": 2551, + "teal": 2549, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2305 + 2304 ] }, { - "teal": 2552, + "teal": 2550, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ + 2305, 2306 ] }, { - "teal": 2553, + "teal": 2551, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2307, - 2308 + 2307 ] }, { - "teal": 2554, + "teal": 2552, "source": "examples/reti/validatorRegistry.algo.ts:749", "pc": [ - 2309 + 2308, + 2309, + 2310 ] }, { - "teal": 2555, - "source": "examples/reti/validatorRegistry.algo.ts:749", + "teal": 2557, + "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2310, 2311, - 2312 + 2312, + 2313 ] }, { - "teal": 2560, + "teal": 2558, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2313, 2314, 2315 ] }, { - "teal": 2561, + "teal": 2559, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2316, - 2317 + 2316 ] }, { - "teal": 2562, + "teal": 2560, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2317, 2318 ] }, { - "teal": 2563, + "teal": 2561, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2319, - 2320 + 2319 ] }, { - "teal": 2564, + "teal": 2562, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2321 + 2320 ] }, { - "teal": 2565, + "teal": 2563, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2321, 2322 ] }, { - "teal": 2566, + "teal": 2564, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2323, - 2324 + 2323 ] }, { - "teal": 2567, + "teal": 2565, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ - 2325 + 2324 ] }, { - "teal": 2568, + "teal": 2566, "source": "examples/reti/validatorRegistry.algo.ts:751", "pc": [ + 2325, 2326 ] }, { - "teal": 2569, - "source": "examples/reti/validatorRegistry.algo.ts:751", + "teal": 2570, + "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2327, 2328 ] }, { - "teal": 2573, + "teal": 2571, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2329, @@ -10695,7 +10695,7 @@ ] }, { - "teal": 2574, + "teal": 2572, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ 2331, @@ -10703,37 +10703,37 @@ ] }, { - "teal": 2575, + "teal": 2573, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ - 2333, - 2334 + 2333 ] }, { - "teal": 2576, + "teal": 2574, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ - 2335 + 2334 ] }, { - "teal": 2577, + "teal": 2575, "source": "examples/reti/validatorRegistry.algo.ts:752", "pc": [ + 2335, 2336 ] }, { - "teal": 2578, - "source": "examples/reti/validatorRegistry.algo.ts:752", + "teal": 2580, + "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2337, 2338 ] }, { - "teal": 2583, + "teal": 2581, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2339, @@ -10741,7 +10741,7 @@ ] }, { - "teal": 2584, + "teal": 2582, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ 2341, @@ -10749,53 +10749,53 @@ ] }, { - "teal": 2585, + "teal": 2583, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2343, - 2344 + 2343 ] }, { - "teal": 2586, + "teal": 2584, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2345 + 2344 ] }, { - "teal": 2587, + "teal": 2585, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ + 2345, 2346 ] }, { - "teal": 2588, + "teal": 2586, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2347, - 2348 + 2347 ] }, { - "teal": 2589, + "teal": 2587, "source": "examples/reti/validatorRegistry.algo.ts:754", "pc": [ - 2349 + 2348, + 2349, + 2350 ] }, { - "teal": 2590, - "source": "examples/reti/validatorRegistry.algo.ts:754", + "teal": 2592, + "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2350, 2351, 2352 ] }, { - "teal": 2595, + "teal": 2593, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ 2353, @@ -10803,68 +10803,68 @@ ] }, { - "teal": 2596, + "teal": 2594, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2355, - 2356 + 2355 ] }, { - "teal": 2597, + "teal": 2595, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ + 2356, 2357 ] }, { - "teal": 2598, + "teal": 2596, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2358, - 2359 + 2358 ] }, { - "teal": 2599, + "teal": 2597, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2360 + 2359 ] }, { - "teal": 2600, + "teal": 2598, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ + 2360, 2361 ] }, { - "teal": 2601, + "teal": 2599, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2362, - 2363 + 2362 ] }, { - "teal": 2602, + "teal": 2600, "source": "examples/reti/validatorRegistry.algo.ts:755", "pc": [ - 2364 + 2363, + 2364, + 2365 ] }, { - "teal": 2603, - "source": "examples/reti/validatorRegistry.algo.ts:755", + "teal": 2607, + "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2365, 2366, 2367 ] }, { - "teal": 2610, + "teal": 2608, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ 2368, @@ -10872,66 +10872,66 @@ ] }, { - "teal": 2611, + "teal": 2609, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2370, - 2371 + 2370 ] }, { - "teal": 2612, + "teal": 2610, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2372 + 2371 ] }, { - "teal": 2613, + "teal": 2611, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ + 2372, 2373 ] }, { - "teal": 2614, + "teal": 2612, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2374, - 2375 + 2374 ] }, { - "teal": 2615, + "teal": 2613, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2376 + 2375 ] }, { - "teal": 2616, + "teal": 2614, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ + 2376, 2377 ] }, { - "teal": 2617, + "teal": 2615, "source": "examples/reti/validatorRegistry.algo.ts:758", "pc": [ - 2378, - 2379 + 2378 ] }, { - "teal": 2618, - "source": "examples/reti/validatorRegistry.algo.ts:758", + "teal": 2619, + "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2379, 2380 ] }, { - "teal": 2622, + "teal": 2620, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ 2381, @@ -10939,155 +10939,155 @@ ] }, { - "teal": 2623, + "teal": 2621, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2383, - 2384 + 2383 ] }, { - "teal": 2624, + "teal": 2622, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2384, 2385 ] }, { - "teal": 2625, + "teal": 2623, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2386, - 2387 + 2386 ] }, { - "teal": 2626, + "teal": 2624, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2388 + 2387 ] }, { - "teal": 2627, + "teal": 2625, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2388, 2389 ] }, { - "teal": 2628, + "teal": 2626, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2390, - 2391 + 2390 ] }, { - "teal": 2629, + "teal": 2627, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ - 2392 + 2391 ] }, { - "teal": 2630, + "teal": 2628, "source": "examples/reti/validatorRegistry.algo.ts:760", "pc": [ + 2392, 2393 ] }, { - "teal": 2631, - "source": "examples/reti/validatorRegistry.algo.ts:760", + "teal": 2632, + "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ 2394, 2395 ] }, { - "teal": 2635, + "teal": 2633, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2396, - 2397 + 2396 ] }, { - "teal": 2636, + "teal": 2634, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2398 + 2397 ] }, { - "teal": 2637, + "teal": 2635, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2398, 2399 ] }, { - "teal": 2638, + "teal": 2636, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2400, - 2401 + 2400 ] }, { - "teal": 2639, + "teal": 2637, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2402 + 2401 ] }, { - "teal": 2640, + "teal": 2638, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2402, 2403 ] }, { - "teal": 2641, + "teal": 2639, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2404, - 2405 + 2404 ] }, { - "teal": 2642, + "teal": 2640, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ - 2406 + 2405 ] }, { - "teal": 2643, + "teal": 2641, "source": "examples/reti/validatorRegistry.algo.ts:761", "pc": [ + 2406, 2407 ] }, { - "teal": 2644, - "source": "examples/reti/validatorRegistry.algo.ts:761", + "teal": 2645, + "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2408, - 2409 + 2408 ] }, { - "teal": 2648, + "teal": 2646, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2409, 2410 ] }, { - "teal": 2649, + "teal": 2651, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2411, @@ -11095,7 +11095,7 @@ ] }, { - "teal": 2654, + "teal": 2652, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2413, @@ -11103,31 +11103,31 @@ ] }, { - "teal": 2655, + "teal": 2653, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2415, - 2416 + 2415 ] }, { - "teal": 2656, + "teal": 2654, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2417 + 2416, + 2417, + 2418 ] }, { - "teal": 2657, - "source": "examples/reti/validatorRegistry.algo.ts:762", + "teal": 2661, + "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2418, 2419, 2420 ] }, { - "teal": 2664, + "teal": 2662, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2421, @@ -11135,7 +11135,7 @@ ] }, { - "teal": 2665, + "teal": 2663, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ 2423, @@ -11143,185 +11143,185 @@ ] }, { - "teal": 2666, + "teal": 2664, + "source": "examples/reti/validatorRegistry.algo.ts:768", + "pc": [ + 2425 + ] + }, + { + "teal": 2665, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2425, 2426 ] }, + { + "teal": 2666, + "source": "examples/reti/validatorRegistry.algo.ts:768", + "pc": [ + 2427, + 2428 + ] + }, { "teal": 2667, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2427 + 2429 ] }, { "teal": 2668, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2428 + 2430 ] }, { "teal": 2669, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2429, - 2430 + 2431 ] }, { "teal": 2670, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2431 + 2432, + 2433 ] }, { "teal": 2671, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2432 + 2434 ] }, { "teal": 2672, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2433 + 2435 ] }, { "teal": 2673, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2434, - 2435 + 2436, + 2437 ] }, { "teal": 2674, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2436 + 2438 ] }, { "teal": 2675, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2437 + 2439 ] }, { "teal": 2676, "source": "examples/reti/validatorRegistry.algo.ts:768", "pc": [ - 2438, - 2439 + 2440, + 2441, + 2442, + 2443 ] }, { "teal": 2677, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2440 + 2444 ] }, { "teal": 2678, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2441 + 2445 ] }, { "teal": 2679, - "source": "examples/reti/validatorRegistry.algo.ts:768", + "source": "examples/reti/validatorRegistry.algo.ts:769", "pc": [ - 2442, - 2443, - 2444, - 2445 + 2446, + 2447 ] }, { "teal": 2680, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2446 + 2448 ] }, { "teal": 2681, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ - 2447 - ] - }, - { - "teal": 2682, - "source": "examples/reti/validatorRegistry.algo.ts:769", - "pc": [ - 2448, 2449 ] }, { - "teal": 2683, + "teal": 2682, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2450 ] }, { - "teal": 2684, + "teal": 2683, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2451 ] }, { - "teal": 2685, + "teal": 2684, "source": "examples/reti/validatorRegistry.algo.ts:767", "pc": [ 2452 ] }, - { - "teal": 2686, - "source": "examples/reti/validatorRegistry.algo.ts:767", - "pc": [ - 2453 - ] - }, { "teal": 2687, "source": "examples/reti/validatorRegistry.algo.ts:767", + "errorMessage": "wideRatio failed", "pc": [ - 2454 + 2453 ] }, { - "teal": 2690, + "teal": 2688, "source": "examples/reti/validatorRegistry.algo.ts:767", - "errorMessage": "wideRatio failed", "pc": [ + 2454, 2455 ] }, { - "teal": 2691, - "source": "examples/reti/validatorRegistry.algo.ts:767", + "teal": 2692, + "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2456, 2457 ] }, { - "teal": 2695, + "teal": 2693, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ 2458, @@ -11329,134 +11329,134 @@ ] }, { - "teal": 2696, + "teal": 2694, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2460, - 2461 + 2460 ] }, { - "teal": 2697, + "teal": 2695, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2462 + 2461 ] }, { - "teal": 2698, + "teal": 2696, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2463 + 2462 ] }, { - "teal": 2699, + "teal": 2697, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2463, 2464 ] }, { - "teal": 2700, + "teal": 2698, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2465, - 2466 + 2465 ] }, { - "teal": 2701, + "teal": 2699, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2467 + 2466 ] }, { - "teal": 2702, + "teal": 2700, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2467, 2468 ] }, { - "teal": 2703, + "teal": 2701, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2469, - 2470 + 2469 ] }, { - "teal": 2704, + "teal": 2702, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2471 + 2470 ] }, { - "teal": 2705, + "teal": 2703, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ + 2471, 2472 ] }, { - "teal": 2706, + "teal": 2704, "source": "examples/reti/validatorRegistry.algo.ts:771", "pc": [ - 2473, - 2474 + 2473 ] }, { - "teal": 2707, - "source": "examples/reti/validatorRegistry.algo.ts:771", + "teal": 2709, + "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2474, 2475 ] }, { - "teal": 2712, + "teal": 2710, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2476, - 2477 + 2476 ] }, { - "teal": 2713, + "teal": 2711, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ - 2478 + 2477 ] }, { - "teal": 2714, + "teal": 2712, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ + 2478, 2479 ] }, { - "teal": 2715, + "teal": 2713, "source": "examples/reti/validatorRegistry.algo.ts:762", "pc": [ 2480, - 2481 + 2481, + 2482 ] }, { - "teal": 2716, - "source": "examples/reti/validatorRegistry.algo.ts:762", + "teal": 2718, + "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2482, 2483, 2484 ] }, { - "teal": 2721, + "teal": 2719, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ 2485, @@ -11464,54 +11464,54 @@ ] }, { - "teal": 2722, + "teal": 2720, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2487, - 2488 + 2487 ] }, { - "teal": 2723, + "teal": 2721, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ + 2488, 2489 ] }, { - "teal": 2724, + "teal": 2722, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2490, - 2491 + 2490 ] }, { - "teal": 2725, + "teal": 2723, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2492 + 2491 ] }, { - "teal": 2726, + "teal": 2724, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ + 2492, 2493 ] }, { - "teal": 2727, + "teal": 2725, "source": "examples/reti/validatorRegistry.algo.ts:773", "pc": [ - 2494, - 2495 + 2494 ] }, { - "teal": 2728, - "source": "examples/reti/validatorRegistry.algo.ts:773", + "teal": 2729, + "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ + 2495, 2496 ] }, @@ -11524,180 +11524,180 @@ ] }, { - "teal": 2735, + "teal": 2733, "source": "examples/reti/validatorRegistry.algo.ts:732", "pc": [ - 2499, - 2500 + 2499 ] }, { - "teal": 2736, - "source": "examples/reti/validatorRegistry.algo.ts:732", + "teal": 2738, + "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ - 2501 + 2500, + 2501, + 2502 ] }, { - "teal": 2741, + "teal": 2739, "source": "examples/reti/validatorRegistry.algo.ts:792", "pc": [ - 2502, - 2503, - 2504 + 2503 ] }, { "teal": 2742, - "source": "examples/reti/validatorRegistry.algo.ts:792", + "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ - 2505 + 2504, + 2505, + 2506 ] }, { - "teal": 2745, + "teal": 2743, "source": "examples/reti/validatorRegistry.algo.ts:791", "pc": [ - 2506, - 2507, - 2508 + 2507 ] }, { "teal": 2746, - "source": "examples/reti/validatorRegistry.algo.ts:791", + "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ - 2509 + 2508, + 2509, + 2510 ] }, { - "teal": 2749, + "teal": 2747, "source": "examples/reti/validatorRegistry.algo.ts:790", "pc": [ - 2510, - 2511, - 2512 + 2511 ] }, { "teal": 2750, - "source": "examples/reti/validatorRegistry.algo.ts:790", + "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ - 2513 + 2512, + 2513, + 2514 ] }, { - "teal": 2753, + "teal": 2751, "source": "examples/reti/validatorRegistry.algo.ts:789", "pc": [ - 2514, - 2515, - 2516 + 2515 ] }, { "teal": 2754, - "source": "examples/reti/validatorRegistry.algo.ts:789", + "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2517 + 2516, + 2517, + 2518 ] }, { - "teal": 2757, + "teal": 2755, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2518, - 2519, - 2520 + 2519 ] }, { - "teal": 2758, + "teal": 2756, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2521 + 2520 ] }, { - "teal": 2759, + "teal": 2757, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2522 + 2521 ] }, { - "teal": 2760, + "teal": 2758, "source": "examples/reti/validatorRegistry.algo.ts:788", "pc": [ - 2523 + 2522 ] }, { "teal": 2761, "source": "examples/reti/validatorRegistry.algo.ts:788", + "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)", "pc": [ - 2524 + 2523 ] }, { "teal": 2764, - "source": "examples/reti/validatorRegistry.algo.ts:788", - "errorMessage": "argument 4 (poolKey) for stakeUpdatedViaRewards must be a (uint64,uint64,uint64)", + "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2525 + 2524, + 2525, + 2526 ] }, { - "teal": 2767, + "teal": 2765, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2526, - 2527, - 2528 + 2527 ] }, { - "teal": 2768, + "teal": 2766, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2529 + 2528 ] }, { - "teal": 2769, + "teal": 2780, "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2530 + 2529, + 2530, + 2531 ] }, { - "teal": 2783, - "source": "examples/reti/validatorRegistry.algo.ts:787", + "teal": 2784, + "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ - 2531, 2532, 2533 ] }, { - "teal": 2787, + "teal": 2785, "source": "examples/reti/validatorRegistry.algo.ts:794", "pc": [ 2534, - 2535 + 2535, + 2536 ] }, { - "teal": 2788, - "source": "examples/reti/validatorRegistry.algo.ts:794", + "teal": 2789, + "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2536, 2537, 2538 ] }, { - "teal": 2792, + "teal": 2790, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2539, @@ -11705,984 +11705,984 @@ ] }, { - "teal": 2793, + "teal": 2791, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2541, - 2542 + 2542, + 2543 ] }, { - "teal": 2794, + "teal": 2792, + "source": "examples/reti/validatorRegistry.algo.ts:797", + "pc": [ + 2544 + ] + }, + { + "teal": 2793, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2543, - 2544, 2545 ] }, { - "teal": 2795, + "teal": 2794, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ 2546 ] }, + { + "teal": 2795, + "source": "examples/reti/validatorRegistry.algo.ts:797", + "pc": [ + 2547, + 2548 + ] + }, { "teal": 2796, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2547 + 2549 ] }, { "teal": 2797, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2548 + 2550 ] }, { "teal": 2798, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2549, - 2550 + 2551, + 2552 ] }, { "teal": 2799, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2551 + 2553 ] }, { "teal": 2800, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2552 + 2554, + 2555 ] }, { "teal": 2801, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2553, - 2554 + 2556, + 2557 ] }, { "teal": 2802, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2555 + 2558, + 2559, + 2560 ] }, { "teal": 2803, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2556, - 2557 + 2561 ] }, { "teal": 2804, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2558, - 2559 + 2562 ] }, { "teal": 2805, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2560, - 2561, - 2562 + 2563 ] }, { "teal": 2806, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2563 + 2564, + 2565 ] }, { "teal": 2807, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2564 + 2566 ] }, { "teal": 2808, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2565 + 2567 ] }, { "teal": 2809, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2566, - 2567 + 2568, + 2569 ] }, { "teal": 2810, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2568 + 2570 ] }, { "teal": 2811, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2569 + 2571 ] }, { "teal": 2812, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2570, - 2571 + 2572 ] }, { "teal": 2813, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2572 + 2573, + 2574 ] }, { "teal": 2814, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2573 + 2575, + 2576, + 2577 ] }, { "teal": 2815, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2574 + 2578 ] }, { "teal": 2816, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2575, - 2576 + 2579 ] }, { "teal": 2817, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2577, - 2578, - 2579 + 2580 ] }, { "teal": 2818, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2580 + 2581, + 2582 ] }, { "teal": 2819, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2581 + 2583 ] }, { "teal": 2820, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2582 + 2584 ] }, { "teal": 2821, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2583, - 2584 + 2585, + 2586 ] }, { "teal": 2822, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2585 + 2587 ] }, { "teal": 2823, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2586 + 2588 ] }, { "teal": 2824, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2587, - 2588 + 2589 ] }, { "teal": 2825, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2589 + 2590, + 2591 ] }, { "teal": 2826, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2590 + 2592, + 2593, + 2594 ] }, { "teal": 2827, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2591 + 2595 ] }, { "teal": 2828, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2592, - 2593 + 2596 ] }, { "teal": 2829, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2594, - 2595, - 2596 + 2597 ] }, { "teal": 2830, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2597 + 2598, + 2599 ] }, { "teal": 2831, "source": "examples/reti/validatorRegistry.algo.ts:797", "pc": [ - 2598 + 2600 ] }, { - "teal": 2832, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2835, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2599 + 2601, + 2602 ] }, { - "teal": 2833, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2836, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2600, - 2601 + 2603 ] }, { - "teal": 2834, - "source": "examples/reti/validatorRegistry.algo.ts:797", + "teal": 2837, + "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2602 + 2604 ] }, { "teal": 2838, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2603, - 2604 + 2605 ] }, { "teal": 2839, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2605 + 2606, + 2607 ] }, { "teal": 2840, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2606 + 2608, + 2609, + 2610 ] }, { "teal": 2841, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2607 + 2611 ] }, { "teal": 2842, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2608, - 2609 + 2612 ] }, { "teal": 2843, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2610, - 2611, - 2612 + 2613 ] }, { "teal": 2844, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2613 + 2614, + 2615 ] }, { "teal": 2845, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2614 + 2616 ] }, { "teal": 2846, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2615 + 2617 ] }, { "teal": 2847, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2616, - 2617 + 2618, + 2619 ] }, { "teal": 2848, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2618 + 2620 ] }, { "teal": 2849, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2619 + 2621 ] }, { "teal": 2850, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2620, - 2621 + 2622 ] }, { "teal": 2851, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2622 + 2623, + 2624 ] }, { "teal": 2852, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2623 + 2625, + 2626, + 2627 ] }, { "teal": 2853, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2624 + 2628 ] }, { "teal": 2854, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2625, - 2626 + 2629 ] }, { "teal": 2855, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2627, - 2628, - 2629 + 2630 ] }, { "teal": 2856, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2630 + 2631, + 2632 ] }, { "teal": 2857, "source": "examples/reti/validatorRegistry.algo.ts:798", "pc": [ - 2631 + 2633 ] }, { - "teal": 2858, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2861, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2632 + 2634, + 2635 ] }, { - "teal": 2859, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2862, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2633, - 2634 + 2636 ] }, { - "teal": 2860, - "source": "examples/reti/validatorRegistry.algo.ts:798", + "teal": 2863, + "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2635 + 2637 ] }, { "teal": 2864, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2636, - 2637 + 2638 ] }, { "teal": 2865, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2638 + 2639, + 2640 ] }, { "teal": 2866, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2639 + 2641, + 2642, + 2643 ] }, { "teal": 2867, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2640 + 2644 ] }, { "teal": 2868, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2641, - 2642 + 2645 ] }, { "teal": 2869, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2643, - 2644, - 2645 + 2646 ] }, { "teal": 2870, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2646 + 2647, + 2648 ] }, { "teal": 2871, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2647 + 2649 ] }, { "teal": 2872, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2648 + 2650 ] }, { "teal": 2873, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2649, - 2650 + 2651, + 2652 ] }, { "teal": 2874, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2651 + 2653 ] }, { "teal": 2875, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2652 + 2654 ] }, { "teal": 2876, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2653, - 2654 + 2655 ] }, { "teal": 2877, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2655 + 2656, + 2657 ] }, { "teal": 2878, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2656 + 2658, + 2659, + 2660 ] }, { "teal": 2879, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2657 + 2661 ] }, { "teal": 2880, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2658, - 2659 + 2662 ] }, { "teal": 2881, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2660, - 2661, - 2662 + 2663 ] }, { "teal": 2882, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2663 + 2664, + 2665 ] }, { "teal": 2883, "source": "examples/reti/validatorRegistry.algo.ts:799", "pc": [ - 2664 + 2666 ] }, { - "teal": 2884, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2887, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2665 + 2667, + 2668 ] }, { - "teal": 2885, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2888, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2666, - 2667 + 2669 ] }, { - "teal": 2886, - "source": "examples/reti/validatorRegistry.algo.ts:799", + "teal": 2889, + "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2668 + 2670, + 2671 ] }, { "teal": 2890, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2669, - 2670 + 2672 ] }, { "teal": 2891, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2671 + 2673, + 2674 ] }, { "teal": 2892, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2672, - 2673 + 2675 ] }, { "teal": 2893, "source": "examples/reti/validatorRegistry.algo.ts:801", "pc": [ - 2674 + 2676 ] }, { - "teal": 2894, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2897, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2675, - 2676 + 2677, + 2678 ] }, { - "teal": 2895, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2898, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2677 + 2679, + 2680, + 2681 ] }, { - "teal": 2896, - "source": "examples/reti/validatorRegistry.algo.ts:801", + "teal": 2899, + "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2678 + 2682 ] }, { "teal": 2900, "source": "examples/reti/validatorRegistry.algo.ts:804", "pc": [ - 2679, - 2680 + 2683, + 2684, + 2685 ] }, { "teal": 2901, - "source": "examples/reti/validatorRegistry.algo.ts:804", - "pc": [ - 2681, - 2682, - 2683 - ] - }, - { - "teal": 2902, - "source": "examples/reti/validatorRegistry.algo.ts:804", + "source": "examples/reti/validatorRegistry.algo.ts:787", "pc": [ - 2684 + 2686 ] }, { - "teal": 2903, - "source": "examples/reti/validatorRegistry.algo.ts:804", + "teal": 2906, + "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2685, - 2686, - 2687 + 2687, + 2688, + 2689 ] }, { - "teal": 2904, - "source": "examples/reti/validatorRegistry.algo.ts:787", + "teal": 2907, + "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2688 + 2690 ] }, { - "teal": 2909, + "teal": 2908, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ - 2689, - 2690, 2691 ] }, { - "teal": 2910, + "teal": 2909, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2692 ] }, { - "teal": 2911, + "teal": 2910, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2693 ] }, { - "teal": 2912, + "teal": 2913, "source": "examples/reti/validatorRegistry.algo.ts:834", + "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool", "pc": [ 2694 ] }, { - "teal": 2913, + "teal": 2914, "source": "examples/reti/validatorRegistry.algo.ts:834", "pc": [ 2695 ] }, { - "teal": 2916, + "teal": 2915, "source": "examples/reti/validatorRegistry.algo.ts:834", - "errorMessage": "argument 0 (stakerRemoved) for stakeRemoved must be a bool", "pc": [ 2696 ] }, - { - "teal": 2917, - "source": "examples/reti/validatorRegistry.algo.ts:834", - "pc": [ - 2697 - ] - }, { "teal": 2918, - "source": "examples/reti/validatorRegistry.algo.ts:834", + "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ - 2698 + 2697, + 2698, + 2699 ] }, { - "teal": 2921, + "teal": 2919, "source": "examples/reti/validatorRegistry.algo.ts:833", "pc": [ - 2699, - 2700, - 2701 + 2700 ] }, { "teal": 2922, - "source": "examples/reti/validatorRegistry.algo.ts:833", + "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ - 2702 + 2701, + 2702, + 2703 ] }, { - "teal": 2925, + "teal": 2923, "source": "examples/reti/validatorRegistry.algo.ts:832", "pc": [ - 2703, - 2704, - 2705 + 2704 ] }, { "teal": 2926, - "source": "examples/reti/validatorRegistry.algo.ts:832", + "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2706 + 2705, + 2706, + 2707 ] }, { - "teal": 2929, + "teal": 2927, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2707, - 2708, - 2709 + 2708 ] }, { - "teal": 2930, + "teal": 2928, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2710 + 2709 ] }, { - "teal": 2931, + "teal": 2929, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ + 2710, 2711 ] }, { - "teal": 2932, + "teal": 2930, "source": "examples/reti/validatorRegistry.algo.ts:831", "pc": [ - 2712, - 2713 + 2712 ] }, { "teal": 2933, "source": "examples/reti/validatorRegistry.algo.ts:831", + "errorMessage": "argument 3 (staker) for stakeRemoved must be a address", "pc": [ - 2714 + 2713 ] }, { "teal": 2936, - "source": "examples/reti/validatorRegistry.algo.ts:831", - "errorMessage": "argument 3 (staker) for stakeRemoved must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2715 + 2714, + 2715, + 2716 ] }, { - "teal": 2939, + "teal": 2937, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2716, - 2717, - 2718 + 2717 ] }, { - "teal": 2940, + "teal": 2938, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2719 + 2718 ] }, { - "teal": 2941, + "teal": 2939, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2720 + 2719 ] }, { - "teal": 2942, + "teal": 2940, "source": "examples/reti/validatorRegistry.algo.ts:830", "pc": [ - 2721 + 2720 ] }, { "teal": 2943, "source": "examples/reti/validatorRegistry.algo.ts:830", + "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)", "pc": [ - 2722 + 2721 ] }, { "teal": 2946, - "source": "examples/reti/validatorRegistry.algo.ts:830", - "errorMessage": "argument 4 (poolKey) for stakeRemoved must be a (uint64,uint64,uint64)", + "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2723 + 2722, + 2723, + 2724 ] }, { - "teal": 2949, + "teal": 2947, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2724, - 2725, - 2726 + 2725 ] }, { - "teal": 2950, + "teal": 2948, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2727 + 2726 ] }, { - "teal": 2951, + "teal": 2963, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2728 + 2727, + 2728, + 2729 ] }, { "teal": 2966, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 2729, - 2730, - 2731 + 2730 ] }, { - "teal": 2969, + "teal": 2967, "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ + 2731, 2732 ] }, { - "teal": 2970, - "source": "examples/reti/validatorRegistry.algo.ts:829", + "teal": 2972, + "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2733, 2734 ] }, { - "teal": 2975, + "teal": 2973, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ 2735, @@ -12690,38 +12690,38 @@ ] }, { - "teal": 2976, + "teal": 2974, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ - 2737, - 2738 + 2737 ] }, { - "teal": 2977, + "teal": 2975, "source": "examples/reti/validatorRegistry.algo.ts:836", "pc": [ - 2739 + 2738, + 2739, + 2740 ] }, { - "teal": 2978, - "source": "examples/reti/validatorRegistry.algo.ts:836", + "teal": 2980, + "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2740, - 2741, - 2742 + 2741 ] }, { - "teal": 2983, + "teal": 2981, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2742, 2743 ] }, { - "teal": 2984, + "teal": 2982, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2744, @@ -12729,22 +12729,22 @@ ] }, { - "teal": 2985, + "teal": 2983, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2746, - 2747 + 2746 ] }, { - "teal": 2986, + "teal": 2984, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2747, 2748 ] }, { - "teal": 2987, + "teal": 2985, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2749, @@ -12752,22 +12752,22 @@ ] }, { - "teal": 2988, + "teal": 2986, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2751, - 2752 + 2751 ] }, { - "teal": 2989, + "teal": 2987, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ + 2752, 2753 ] }, { - "teal": 2990, + "teal": 2988, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2754, @@ -12775,7 +12775,7 @@ ] }, { - "teal": 2991, + "teal": 2989, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2756, @@ -12783,7 +12783,7 @@ ] }, { - "teal": 2992, + "teal": 2990, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ 2758, @@ -12791,114 +12791,114 @@ ] }, { - "teal": 2993, + "teal": 2991, "source": "examples/reti/validatorRegistry.algo.ts:837", "pc": [ - 2760, - 2761 + 2760 ] }, { - "teal": 2994, - "source": "examples/reti/validatorRegistry.algo.ts:837", + "teal": 2996, + "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ + 2761, 2762 ] }, { - "teal": 2999, + "teal": 2997, "source": "examples/reti/validatorRegistry.algo.ts:839", "pc": [ 2763, - 2764 + 2764, + 2765 ] }, { - "teal": 3000, - "source": "examples/reti/validatorRegistry.algo.ts:839", + "teal": 3001, + "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2765, 2766, 2767 ] }, { - "teal": 3004, + "teal": 3002, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2768, - 2769 + 2768 ] }, { - "teal": 3005, + "teal": 3003, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2770 + 2769 ] }, { - "teal": 3006, + "teal": 3004, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2771 + 2770 ] }, { - "teal": 3007, + "teal": 3005, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2772 + 2771, + 2772, + 2773 ] }, { - "teal": 3008, + "teal": 3006, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2773, 2774, 2775 ] }, { - "teal": 3009, + "teal": 3007, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2776, - 2777 + 2776 ] }, { - "teal": 3010, + "teal": 3008, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2778 + 2777 ] }, { - "teal": 3011, + "teal": 3009, "source": "examples/reti/validatorRegistry.algo.ts:843", "pc": [ - 2779 + 2778 ] }, { - "teal": 3012, + "teal": 3013, "source": "examples/reti/validatorRegistry.algo.ts:843", + "errorMessage": "should only be called if algo or reward was removed", "pc": [ - 2780 + 2779 ] }, { - "teal": 3016, - "source": "examples/reti/validatorRegistry.algo.ts:843", - "errorMessage": "should only be called if algo or reward was removed", + "teal": 3017, + "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ + 2780, 2781 ] }, { - "teal": 3020, + "teal": 3018, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2782, @@ -12906,1025 +12906,1025 @@ ] }, { - "teal": 3021, + "teal": 3019, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2784, - 2785 + 2785, + 2786 ] }, { - "teal": 3022, + "teal": 3020, + "source": "examples/reti/validatorRegistry.algo.ts:846", + "pc": [ + 2787 + ] + }, + { + "teal": 3021, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2786, - 2787, 2788 ] }, { - "teal": 3023, + "teal": 3022, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ 2789 ] }, + { + "teal": 3023, + "source": "examples/reti/validatorRegistry.algo.ts:846", + "pc": [ + 2790, + 2791 + ] + }, { "teal": 3024, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2790 + 2792 ] }, { "teal": 3025, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2791 + 2793 ] }, { "teal": 3026, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2792, - 2793 + 2794, + 2795 ] }, { "teal": 3027, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2794 + 2796 ] }, { "teal": 3028, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2795 + 2797, + 2798 ] }, { "teal": 3029, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2796, - 2797 + 2799, + 2800 ] }, { "teal": 3030, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2798 + 2801, + 2802, + 2803 ] }, { "teal": 3031, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2799, - 2800 + 2804 ] }, { "teal": 3032, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2801, - 2802 + 2805 ] }, { "teal": 3033, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2803, - 2804, - 2805 + 2806 ] }, { "teal": 3034, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2806 + 2807, + 2808 ] }, { "teal": 3035, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2807 + 2809 ] }, { "teal": 3036, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2808 + 2810 ] }, { "teal": 3037, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2809, - 2810 + 2811, + 2812 ] }, { "teal": 3038, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2811 + 2813 ] }, { "teal": 3039, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2812 + 2814 ] }, { "teal": 3040, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2813, - 2814 + 2815 ] }, { "teal": 3041, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2815 + 2816, + 2817 ] }, { "teal": 3042, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2816 + 2818, + 2819, + 2820 ] }, { "teal": 3043, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2817 + 2821 ] }, { "teal": 3044, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2818, - 2819 + 2822 ] }, { "teal": 3045, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2820, - 2821, - 2822 + 2823 ] }, { "teal": 3046, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2823 + 2824, + 2825 ] }, { "teal": 3047, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2824 + 2826 ] }, { "teal": 3048, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2825 + 2827 ] }, { "teal": 3049, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2826, - 2827 + 2828, + 2829 ] }, { "teal": 3050, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2828 + 2830 ] }, { "teal": 3051, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2829 + 2831 ] }, { "teal": 3052, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2830, - 2831 + 2832 ] }, { "teal": 3053, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2832 + 2833, + 2834 ] }, { "teal": 3054, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2833 + 2835, + 2836, + 2837 ] }, { "teal": 3055, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2834 + 2838 ] }, { "teal": 3056, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2835, - 2836 + 2839 ] }, { "teal": 3057, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2837, - 2838, - 2839 + 2840 ] }, { "teal": 3058, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2840 + 2841, + 2842 ] }, { "teal": 3059, "source": "examples/reti/validatorRegistry.algo.ts:846", "pc": [ - 2841 + 2843 ] }, { - "teal": 3060, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3063, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2842 + 2844, + 2845 ] }, { - "teal": 3061, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3064, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2843, - 2844 + 2846 ] }, { - "teal": 3062, - "source": "examples/reti/validatorRegistry.algo.ts:846", + "teal": 3065, + "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2845 + 2847 ] }, { "teal": 3066, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2846, - 2847 + 2848 ] }, { "teal": 3067, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2848 + 2849, + 2850 ] }, { "teal": 3068, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2849 + 2851, + 2852, + 2853 ] }, { "teal": 3069, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2850 + 2854 ] }, { "teal": 3070, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2851, - 2852 + 2855 ] }, { "teal": 3071, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2853, - 2854, - 2855 + 2856 ] }, { "teal": 3072, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2856 + 2857, + 2858 ] }, { "teal": 3073, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2857 + 2859 ] }, { "teal": 3074, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2858 + 2860 ] }, { "teal": 3075, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2859, - 2860 + 2861, + 2862 ] }, { "teal": 3076, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2861 + 2863 ] }, { "teal": 3077, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2862 + 2864 ] }, { "teal": 3078, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2863, - 2864 + 2865 ] }, { "teal": 3079, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2865 + 2866, + 2867 ] }, { "teal": 3080, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2866 + 2868, + 2869, + 2870 ] }, { "teal": 3081, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2867 + 2871 ] }, { "teal": 3082, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2868, - 2869 + 2872 ] }, { "teal": 3083, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2870, - 2871, - 2872 + 2873 ] }, { "teal": 3084, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2873 + 2874, + 2875 ] }, { "teal": 3085, "source": "examples/reti/validatorRegistry.algo.ts:847", "pc": [ - 2874 + 2876 ] }, { - "teal": 3086, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3089, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2875 + 2877, + 2878 ] }, { - "teal": 3087, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3090, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2876, - 2877 + 2879 ] }, { - "teal": 3088, - "source": "examples/reti/validatorRegistry.algo.ts:847", + "teal": 3091, + "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2878 + 2880, + 2881 ] }, { "teal": 3092, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2879, - 2880 + 2882 ] }, { "teal": 3093, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2881 + 2883, + 2884 ] }, { "teal": 3094, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2882, - 2883 + 2885 ] }, { "teal": 3095, "source": "examples/reti/validatorRegistry.algo.ts:848", "pc": [ - 2884 + 2886 ] }, { - "teal": 3096, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3100, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2885, - 2886 + 2887, + 2888 ] }, { - "teal": 3097, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3101, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2887 + 2889 ] }, { - "teal": 3098, - "source": "examples/reti/validatorRegistry.algo.ts:848", + "teal": 3102, + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2888 + 2890 ] }, { "teal": 3103, "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 2889, - 2890 + 2891, + 2892, + 2893 ] }, { - "teal": 3104, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3108, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2891 + 2894, + 2895 ] }, { - "teal": 3105, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3109, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2892 + 2896 ] }, { - "teal": 3106, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3110, + "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2893, - 2894, - 2895 + 2897 ] }, { "teal": 3111, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2896, - 2897 + 2898, + 2899 ] }, { "teal": 3112, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2898 + 2900, + 2901, + 2902 ] }, { "teal": 3113, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2899 + 2903 ] }, { "teal": 3114, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2900, - 2901 + 2904 ] }, { "teal": 3115, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2902, - 2903, - 2904 + 2905 ] }, { "teal": 3116, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2905 + 2906, + 2907 ] }, { "teal": 3117, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2906 + 2908 ] }, { "teal": 3118, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2907 + 2909 ] }, { "teal": 3119, "source": "examples/reti/validatorRegistry.algo.ts:851", "pc": [ - 2908, - 2909 + 2910, + 2911 ] }, { - "teal": 3120, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3123, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2910 + 2912, + 2913 ] }, { - "teal": 3121, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3124, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2911 + 2914 ] }, { - "teal": 3122, - "source": "examples/reti/validatorRegistry.algo.ts:851", + "teal": 3125, + "source": "examples/reti/validatorRegistry.algo.ts:852", "pc": [ - 2912, - 2913 + 2915 ] }, { - "teal": 3126, + "teal": 3128, "source": "examples/reti/validatorRegistry.algo.ts:852", + "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!", "pc": [ - 2914, - 2915 + 2916 ] }, { - "teal": 3127, - "source": "examples/reti/validatorRegistry.algo.ts:852", + "teal": 3135, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2916 + 2917, + 2918 ] }, { - "teal": 3128, - "source": "examples/reti/validatorRegistry.algo.ts:852", + "teal": 3136, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2917 + 2919 ] }, { - "teal": 3131, - "source": "examples/reti/validatorRegistry.algo.ts:852", - "errorMessage": "rewardRemoved can't be set if validator doesn't have reward token!", + "teal": 3137, + "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2918 + 2920 ] }, { "teal": 3138, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2919, - 2920 + 2921, + 2922 ] }, { "teal": 3139, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2921 + 2923, + 2924, + 2925 ] }, { "teal": 3140, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2922 + 2926 ] }, { "teal": 3141, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2923, - 2924 + 2927 ] }, { "teal": 3142, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2925, - 2926, - 2927 + 2928 ] }, { "teal": 3143, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2928 + 2929, + 2930 ] }, { "teal": 3144, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2929 + 2931 ] }, { "teal": 3145, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2930 + 2932 ] }, { "teal": 3146, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2931, - 2932 + 2933, + 2934 ] }, { "teal": 3147, "source": "examples/reti/validatorRegistry.algo.ts:854", "pc": [ - 2933 + 2935 ] }, { - "teal": 3148, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3150, + "source": "examples/reti/validatorRegistry.algo.ts:853", + "errorMessage": "reward being removed must be covered by hold back amount", "pc": [ - 2934 + 2936 ] }, { - "teal": 3149, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3154, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2935, - 2936 + 2937, + 2938 ] }, { - "teal": 3150, - "source": "examples/reti/validatorRegistry.algo.ts:854", + "teal": 3155, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2937 + 2939 ] }, { - "teal": 3153, - "source": "examples/reti/validatorRegistry.algo.ts:853", - "errorMessage": "reward being removed must be covered by hold back amount", + "teal": 3156, + "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2938 + 2940 ] }, { "teal": 3157, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2939, - 2940 + 2941 ] }, { "teal": 3158, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2941 + 2942, + 2943 ] }, { "teal": 3159, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2942 + 2944, + 2945, + 2946 ] }, { "teal": 3160, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2943 + 2947 ] }, { "teal": 3161, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2944, - 2945 + 2948 ] }, { "teal": 3162, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2946, - 2947, - 2948 + 2949 ] }, { "teal": 3163, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2949 + 2950, + 2951 ] }, { "teal": 3164, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2950 + 2952 ] }, { "teal": 3165, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2951 + 2953 ] }, { "teal": 3166, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2952, - 2953 + 2954, + 2955 ] }, { "teal": 3167, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2954 + 2956 ] }, { "teal": 3168, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2955 + 2957 ] }, { "teal": 3169, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2956, - 2957 + 2958 ] }, { "teal": 3170, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2958 + 2959, + 2960 ] }, { "teal": 3171, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2959 + 2961, + 2962, + 2963 ] }, { "teal": 3172, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2960 + 2964 ] }, { "teal": 3173, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2961, - 2962 - ] - }, - { - "teal": 3174, - "source": "examples/reti/validatorRegistry.algo.ts:859", - "pc": [ - 2963, - 2964, 2965 ] }, { - "teal": 3175, + "teal": 3174, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ 2966 ] }, { - "teal": 3176, - "source": "examples/reti/validatorRegistry.algo.ts:859", - "pc": [ - 2967 - ] - }, - { - "teal": 3177, + "teal": 3175, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ + 2967, 2968 ] }, { - "teal": 3178, + "teal": 3176, "source": "examples/reti/validatorRegistry.algo.ts:859", "pc": [ - 2969, - 2970 + 2969 ] }, { - "teal": 3179, - "source": "examples/reti/validatorRegistry.algo.ts:859", + "teal": 3181, + "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ + 2970, 2971 ] }, { - "teal": 3184, + "teal": 3182, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ 2972, - 2973 + 2973, + 2974 ] }, { - "teal": 3185, + "teal": 3183, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2974, - 2975, - 2976 + 2975 ] }, { - "teal": 3186, + "teal": 3184, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2977 + 2976 ] }, { - "teal": 3187, + "teal": 3185, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2978 + 2977 ] }, { - "teal": 3188, + "teal": 3186, "source": "examples/reti/validatorRegistry.algo.ts:864", "pc": [ - 2979 + 2978, + 2979, + 2980 ] }, { - "teal": 3189, - "source": "examples/reti/validatorRegistry.algo.ts:864", + "teal": 3194, + "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 2980, - 2981, - 2982 + 2981 ] }, { - "teal": 3197, + "teal": 3195, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ + 2982, 2983 ] }, { - "teal": 3198, + "teal": 3196, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2984, @@ -13932,7 +13932,7 @@ ] }, { - "teal": 3199, + "teal": 3197, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2986, @@ -13940,7 +13940,7 @@ ] }, { - "teal": 3200, + "teal": 3198, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ 2988, @@ -13948,105 +13948,105 @@ ] }, { - "teal": 3201, - "source": "examples/reti/validatorRegistry.algo.ts:865", + "teal": 3202, + "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2990, 2991 ] }, { - "teal": 3205, + "teal": 3203, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2992, - 2993 + 2992 ] }, { - "teal": 3206, + "teal": 3204, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2994 + 2993 ] }, { - "teal": 3207, + "teal": 3205, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 2994, 2995 ] }, { - "teal": 3208, + "teal": 3206, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ 2996, - 2997 + 2997, + 2998 ] }, { - "teal": 3209, + "teal": 3207, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 2998, - 2999, - 3000 + 2999 ] }, { - "teal": 3210, + "teal": 3208, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3001 + 3000 ] }, { - "teal": 3211, + "teal": 3209, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3002 + 3001 ] }, { - "teal": 3212, + "teal": 3210, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 3002, 3003 ] }, { - "teal": 3213, + "teal": 3211, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3004, - 3005 + 3004 ] }, { - "teal": 3214, + "teal": 3212, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ - 3006 + 3005 ] }, { - "teal": 3215, + "teal": 3213, "source": "examples/reti/validatorRegistry.algo.ts:866", "pc": [ + 3006, 3007 ] }, { - "teal": 3216, - "source": "examples/reti/validatorRegistry.algo.ts:866", + "teal": 3217, + "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3008, 3009 ] }, { - "teal": 3220, + "teal": 3218, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3010, @@ -14054,7 +14054,7 @@ ] }, { - "teal": 3221, + "teal": 3219, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3012, @@ -14062,22 +14062,22 @@ ] }, { - "teal": 3222, + "teal": 3220, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ - 3014, - 3015 + 3014 ] }, { - "teal": 3223, + "teal": 3221, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ + 3015, 3016 ] }, { - "teal": 3224, + "teal": 3222, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ 3017, @@ -14085,32 +14085,32 @@ ] }, { - "teal": 3225, + "teal": 3223, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ - 3019, - 3020 + 3019 ] }, { - "teal": 3226, + "teal": 3224, "source": "examples/reti/validatorRegistry.algo.ts:867", "pc": [ + 3020, 3021 ] }, { "teal": 3227, - "source": "examples/reti/validatorRegistry.algo.ts:867", + "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 3022, - 3023 + 3022 ] }, { - "teal": 3230, + "teal": 3228, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ + 3023, 3024 ] }, @@ -14118,45 +14118,45 @@ "teal": 3231, "source": "examples/reti/validatorRegistry.algo.ts:865", "pc": [ - 3025, - 3026 + 3025 ] }, { "teal": 3234, - "source": "examples/reti/validatorRegistry.algo.ts:865", + "source": "examples/reti/validatorRegistry.algo.ts:850", "pc": [ - 3027 + 3026, + 3027, + 3028 ] }, { - "teal": 3237, - "source": "examples/reti/validatorRegistry.algo.ts:850", + "teal": 3242, + "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ - 3028, 3029, 3030 ] }, { - "teal": 3245, + "teal": 3243, "source": "examples/reti/validatorRegistry.algo.ts:892", "pc": [ 3031, - 3032 + 3032, + 3033 ] }, { - "teal": 3246, - "source": "examples/reti/validatorRegistry.algo.ts:892", + "teal": 3248, + "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3033, 3034, 3035 ] }, { - "teal": 3251, + "teal": 3249, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3036, @@ -14164,460 +14164,460 @@ ] }, { - "teal": 3252, + "teal": 3250, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3038, - 3039 + 3039, + 3040 ] }, { - "teal": 3253, + "teal": 3251, + "source": "examples/reti/validatorRegistry.algo.ts:894", + "pc": [ + 3041 + ] + }, + { + "teal": 3252, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3040, - 3041, 3042 ] }, { - "teal": 3254, + "teal": 3253, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3043 ] }, + { + "teal": 3254, + "source": "examples/reti/validatorRegistry.algo.ts:894", + "pc": [ + 3044, + 3045 + ] + }, { "teal": 3255, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3044 + 3046 ] }, { "teal": 3256, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3045 + 3047 ] }, { "teal": 3257, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3046, - 3047 + 3048 ] }, { "teal": 3258, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3048 + 3049 ] }, { "teal": 3259, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3049 + 3050, + 3051 ] }, { "teal": 3260, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3050 + 3052, + 3053 ] }, { "teal": 3261, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3051 + 3054, + 3055, + 3056 ] }, { "teal": 3262, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3052, - 3053 + 3057 ] }, { "teal": 3263, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3054, - 3055 + 3058 ] }, { "teal": 3264, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3056, - 3057, - 3058 + 3059 ] }, { "teal": 3265, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3059 + 3060, + 3061 ] }, { "teal": 3266, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3060 + 3062 ] }, { "teal": 3267, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3061 + 3063 ] }, { "teal": 3268, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3062, - 3063 + 3064 ] }, { "teal": 3269, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3064 + 3065 ] }, { "teal": 3270, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3065 + 3066, + 3067 ] }, { "teal": 3271, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3066 + 3068 ] }, { "teal": 3272, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3067 + 3069, + 3070 ] }, { "teal": 3273, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3068, - 3069 + 3071, + 3072, + 3073 ] }, { "teal": 3274, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3070 + 3074 ] }, { "teal": 3275, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3071, - 3072 + 3075 ] }, { "teal": 3276, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3073, - 3074, - 3075 + 3076 ] }, { "teal": 3277, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3076 + 3077, + 3078 ] }, { "teal": 3278, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3077 + 3079 ] }, { "teal": 3279, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3078 + 3080 ] }, { "teal": 3280, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3079, - 3080 + 3081 ] }, { "teal": 3281, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3081 + 3082 ] }, { "teal": 3282, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3082 + 3083 ] }, { "teal": 3283, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3083 + 3084, + 3085, + 3086 ] }, { "teal": 3284, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3084 + 3087 ] }, { "teal": 3285, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3085 + 3088, + 3089 ] }, { "teal": 3286, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3086, - 3087, - 3088 + 3090, + 3091, + 3092 ] }, { "teal": 3287, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3089 + 3093 ] }, { "teal": 3288, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3090, - 3091 - ] - }, - { - "teal": 3289, - "source": "examples/reti/validatorRegistry.algo.ts:894", - "pc": [ - 3092, - 3093, 3094 ] }, { - "teal": 3290, + "teal": 3289, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ 3095 ] }, { - "teal": 3291, - "source": "examples/reti/validatorRegistry.algo.ts:894", - "pc": [ - 3096 - ] - }, - { - "teal": 3292, + "teal": 3290, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ + 3096, 3097 ] }, { - "teal": 3293, + "teal": 3291, "source": "examples/reti/validatorRegistry.algo.ts:894", "pc": [ - 3098, - 3099 + 3098 ] }, { - "teal": 3294, - "source": "examples/reti/validatorRegistry.algo.ts:894", + "teal": 3299, + "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ + 3099, 3100 ] }, { - "teal": 3302, + "teal": 3300, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ 3101, - 3102 + 3102, + 3103 ] }, { - "teal": 3303, + "teal": 3301, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ - 3103, - 3104, - 3105 + 3104 ] }, { - "teal": 3304, + "teal": 3302, "source": "examples/reti/validatorRegistry.algo.ts:897", "pc": [ - 3106 + 3105 ] }, { - "teal": 3305, - "source": "examples/reti/validatorRegistry.algo.ts:897", + "teal": 3303, + "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ + 3106, 3107 ] }, { - "teal": 3306, + "teal": 3304, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ 3108, - 3109 + 3109, + 3110 ] }, { - "teal": 3307, + "teal": 3305, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3110, - 3111, - 3112 + 3111 ] }, { - "teal": 3308, + "teal": 3306, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3113 + 3112 ] }, { - "teal": 3309, + "teal": 3307, "source": "examples/reti/validatorRegistry.algo.ts:898", "pc": [ - 3114 + 3113 ] }, { - "teal": 3310, - "source": "examples/reti/validatorRegistry.algo.ts:898", + "teal": 3308, + "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ + 3114, 3115 ] }, { - "teal": 3311, + "teal": 3309, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ 3116, - 3117 + 3117, + 3118 ] }, { - "teal": 3312, + "teal": 3310, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3118, - 3119, - 3120 + 3119 ] }, { - "teal": 3313, + "teal": 3311, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3121 + 3120 ] }, { - "teal": 3314, + "teal": 3312, "source": "examples/reti/validatorRegistry.algo.ts:899", "pc": [ - 3122 + 3121 ] }, { - "teal": 3315, - "source": "examples/reti/validatorRegistry.algo.ts:899", + "teal": 3313, + "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ + 3122, 3123 ] }, { - "teal": 3316, + "teal": 3314, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ 3124, - 3125 + 3125, + 3126 ] }, { - "teal": 3317, + "teal": 3315, "source": "examples/reti/validatorRegistry.algo.ts:896", "pc": [ - 3126, 3127, 3128 ] }, { - "teal": 3318, - "source": "examples/reti/validatorRegistry.algo.ts:896", + "teal": 3319, + "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3129, 3130 ] }, { - "teal": 3322, + "teal": 3320, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3131, @@ -14625,7 +14625,7 @@ ] }, { - "teal": 3323, + "teal": 3321, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ 3133, @@ -14633,37 +14633,37 @@ ] }, { - "teal": 3324, + "teal": 3322, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ - 3135, - 3136 + 3135 ] }, { - "teal": 3325, + "teal": 3323, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ - 3137 + 3136 ] }, { - "teal": 3326, + "teal": 3324, "source": "examples/reti/validatorRegistry.algo.ts:901", "pc": [ + 3137, 3138 ] }, { - "teal": 3327, - "source": "examples/reti/validatorRegistry.algo.ts:901", + "teal": 3328, + "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3139, 3140 ] }, { - "teal": 3331, + "teal": 3329, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3141, @@ -14671,7 +14671,7 @@ ] }, { - "teal": 3332, + "teal": 3330, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ 3143, @@ -14679,633 +14679,633 @@ ] }, { - "teal": 3333, + "teal": 3331, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ - 3145, - 3146 + 3145 ] }, { - "teal": 3334, + "teal": 3332, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ - 3147 + 3146 ] }, { - "teal": 3335, + "teal": 3333, "source": "examples/reti/validatorRegistry.algo.ts:902", "pc": [ + 3147, 3148 ] }, { - "teal": 3336, - "source": "examples/reti/validatorRegistry.algo.ts:902", + "teal": 3338, + "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3149, 3150 ] }, { - "teal": 3341, + "teal": 3339, "source": "examples/reti/validatorRegistry.algo.ts:904", "pc": [ 3151, - 3152 + 3152, + 3153 ] }, { - "teal": 3342, - "source": "examples/reti/validatorRegistry.algo.ts:904", + "teal": 3344, + "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3153, 3154, 3155 ] }, { - "teal": 3347, + "teal": 3345, + "source": "examples/reti/validatorRegistry.algo.ts:905", + "pc": [ + 3156 + ] + }, + { + "teal": 3346, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3156, 3157 ] }, { - "teal": 3348, + "teal": 3347, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3158 ] }, + { + "teal": 3348, + "source": "examples/reti/validatorRegistry.algo.ts:905", + "pc": [ + 3159, + 3160 + ] + }, { "teal": 3349, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3159 + 3161, + 3162, + 3163 ] }, { "teal": 3350, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3160 + 3164 ] }, { "teal": 3351, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3161, - 3162 + 3165 ] }, { "teal": 3352, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3163, - 3164, - 3165 + 3166 ] }, { "teal": 3353, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3166 + 3167, + 3168 ] }, { "teal": 3354, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3167 + 3169 ] }, { "teal": 3355, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3168 + 3170 ] }, { "teal": 3356, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3169, - 3170 + 3171 ] }, { "teal": 3357, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3171 + 3172 ] }, { "teal": 3358, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3172 + 3173 ] }, { "teal": 3359, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3173 + 3174 ] }, { "teal": 3360, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3174 + 3175, + 3176 ] }, { "teal": 3361, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3175 + 3177, + 3178, + 3179 ] }, { "teal": 3362, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3176 + 3180 ] }, { "teal": 3363, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3177, - 3178 - ] - }, - { - "teal": 3364, - "source": "examples/reti/validatorRegistry.algo.ts:905", - "pc": [ - 3179, - 3180, 3181 ] }, { - "teal": 3365, + "teal": 3364, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ 3182 ] }, { - "teal": 3366, - "source": "examples/reti/validatorRegistry.algo.ts:905", - "pc": [ - 3183 - ] - }, - { - "teal": 3367, + "teal": 3365, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ + 3183, 3184 ] }, { - "teal": 3368, + "teal": 3366, "source": "examples/reti/validatorRegistry.algo.ts:905", "pc": [ - 3185, - 3186 + 3185 ] }, { - "teal": 3369, - "source": "examples/reti/validatorRegistry.algo.ts:905", + "teal": 3372, + "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ + 3186, 3187 ] }, { - "teal": 3375, + "teal": 3373, "source": "examples/reti/validatorRegistry.algo.ts:908", "pc": [ 3188, - 3189 + 3189, + 3190 ] }, { - "teal": 3376, - "source": "examples/reti/validatorRegistry.algo.ts:908", + "teal": 3378, + "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3190, 3191, 3192 ] }, { - "teal": 3381, + "teal": 3379, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3193, - 3194 + 3193 ] }, { - "teal": 3382, + "teal": 3380, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3195 + 3194 ] }, { - "teal": 3383, + "teal": 3381, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3196 + 3195 ] }, { - "teal": 3384, + "teal": 3382, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ + 3196, 3197 ] }, { - "teal": 3385, + "teal": 3383, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3198, - 3199 + 3198 ] }, { - "teal": 3386, + "teal": 3384, "source": "examples/reti/validatorRegistry.algo.ts:909", "pc": [ - 3200 + 3199 ] }, { - "teal": 3387, - "source": "examples/reti/validatorRegistry.algo.ts:909", + "teal": 3389, + "source": "examples/reti/validatorRegistry.algo.ts:829", "pc": [ - 3201 + 3200 ] }, { - "teal": 3392, - "source": "examples/reti/validatorRegistry.algo.ts:829", + "teal": 3394, + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3202 + 3201 ] }, { "teal": 3397, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ - 3203 + 3202, + 3203, + 3204 ] }, { - "teal": 3400, + "teal": 3398, "source": "examples/reti/validatorRegistry.algo.ts:928", "pc": [ - 3204, - 3205, - 3206 + 3205 ] }, { "teal": 3401, - "source": "examples/reti/validatorRegistry.algo.ts:928", + "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3207 + 3206, + 3207, + 3208 ] }, { - "teal": 3404, + "teal": 3402, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3208, - 3209, - 3210 + 3209 ] }, { - "teal": 3405, + "teal": 3403, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3211 + 3210 ] }, { - "teal": 3406, + "teal": 3404, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ + 3211, 3212 ] }, { - "teal": 3407, + "teal": 3405, "source": "examples/reti/validatorRegistry.algo.ts:927", "pc": [ - 3213, - 3214 + 3213 ] }, { "teal": 3408, "source": "examples/reti/validatorRegistry.algo.ts:927", + "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address", "pc": [ - 3215 + 3214 ] }, { "teal": 3411, - "source": "examples/reti/validatorRegistry.algo.ts:927", - "errorMessage": "argument 1 (staker) for findPoolForStaker must be a address", + "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ - 3216 + 3215, + 3216, + 3217 ] }, { - "teal": 3414, + "teal": 3412, "source": "examples/reti/validatorRegistry.algo.ts:926", "pc": [ - 3217, - 3218, - 3219 + 3218 ] }, { "teal": 3415, - "source": "examples/reti/validatorRegistry.algo.ts:926", + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3220 + 3219, + 3220, + 3221 ] }, { - "teal": 3418, + "teal": 3416, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3221, - 3222, - 3223 + 3222 ] }, { - "teal": 3419, + "teal": 3417, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3224 + 3223 ] }, { - "teal": 3420, + "teal": 3418, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3225 + 3224 ] }, { - "teal": 3421, + "teal": 3419, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3226 + 3225 ] }, { - "teal": 3422, + "teal": 3433, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3227 + 3226, + 3227, + 3228 ] }, { "teal": 3436, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3228, - 3229, - 3230 + 3229 ] }, { - "teal": 3439, + "teal": 3437, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ + 3230, 3231 ] }, { - "teal": 3440, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "teal": 3441, + "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ - 3232, - 3233 + 3232 ] }, { - "teal": 3444, + "teal": 3442, "source": "examples/reti/validatorRegistry.algo.ts:930", "pc": [ + 3233, 3234 ] }, { - "teal": 3445, - "source": "examples/reti/validatorRegistry.algo.ts:930", + "teal": 3446, + "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ - 3235, - 3236 + 3235 ] }, { - "teal": 3449, + "teal": 3447, "source": "examples/reti/validatorRegistry.algo.ts:931", "pc": [ + 3236, 3237 ] }, { - "teal": 3450, - "source": "examples/reti/validatorRegistry.algo.ts:931", + "teal": 3451, + "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3238, 3239 ] }, { - "teal": 3454, + "teal": 3452, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ 3240, - 3241 + 3241, + 3242 ] }, { - "teal": 3455, + "teal": 3453, "source": "examples/reti/validatorRegistry.algo.ts:939", "pc": [ - 3242, 3243, 3244 ] }, { - "teal": 3456, - "source": "examples/reti/validatorRegistry.algo.ts:939", + "teal": 3458, + "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3245, - 3246 + 3245 ] }, { - "teal": 3461, + "teal": 3459, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ + 3246, 3247 ] }, { - "teal": 3462, + "teal": 3460, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3248, - 3249 + 3248 ] }, { - "teal": 3463, + "teal": 3461, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3250 + 3249 ] }, { - "teal": 3464, + "teal": 3462, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3251 + 3250 ] }, { - "teal": 3465, + "teal": 3463, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3252 + 3251 ] }, { - "teal": 3466, + "teal": 3464, "source": "examples/reti/validatorRegistry.algo.ts:942", "pc": [ - 3253 + 3252, + 3253, + 3254 ] }, { - "teal": 3467, - "source": "examples/reti/validatorRegistry.algo.ts:942", + "teal": 3469, + "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3254, - 3255, - 3256 + 3255 ] }, { - "teal": 3472, + "teal": 3470, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ + 3256, 3257 ] }, { - "teal": 3473, + "teal": 3471, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3258, - 3259 + 3258 ] }, { - "teal": 3474, + "teal": 3472, "source": "examples/reti/validatorRegistry.algo.ts:943", "pc": [ - 3260 + 3259 ] }, { "teal": 3475, "source": "examples/reti/validatorRegistry.algo.ts:943", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 3261 + 3260 ] }, { - "teal": 3478, + "teal": 3476, "source": "examples/reti/validatorRegistry.algo.ts:943", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 3261, 3262 ] }, { - "teal": 3479, - "source": "examples/reti/validatorRegistry.algo.ts:943", + "teal": 3480, + "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ 3263, 3264 ] }, { - "teal": 3483, + "teal": 3481, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3265, - 3266 + 3265 ] }, { - "teal": 3484, + "teal": 3482, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3267 + 3266 ] }, { - "teal": 3485, + "teal": 3483, "source": "examples/reti/validatorRegistry.algo.ts:944", "pc": [ - 3268 + 3267 ] }, { - "teal": 3486, - "source": "examples/reti/validatorRegistry.algo.ts:944", + "teal": 3487, + "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3269 + 3268 ] }, { - "teal": 3490, + "teal": 3488, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ + 3269, 3270 ] }, { - "teal": 3491, + "teal": 3493, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3271, @@ -15313,7 +15313,7 @@ ] }, { - "teal": 3496, + "teal": 3494, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3273, @@ -15321,31 +15321,31 @@ ] }, { - "teal": 3497, + "teal": 3495, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3275, - 3276 + 3275 ] }, { - "teal": 3498, + "teal": 3496, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3277 + 3276, + 3277, + 3278 ] }, { - "teal": 3499, - "source": "examples/reti/validatorRegistry.algo.ts:945", + "teal": 3501, + "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3278, 3279, 3280 ] }, { - "teal": 3504, + "teal": 3502, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ 3281, @@ -15353,38 +15353,38 @@ ] }, { - "teal": 3505, + "teal": 3503, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3283, - 3284 + 3283 ] }, { - "teal": 3506, + "teal": 3504, "source": "examples/reti/validatorRegistry.algo.ts:946", "pc": [ - 3285 + 3284, + 3285, + 3286 ] }, { - "teal": 3507, - "source": "examples/reti/validatorRegistry.algo.ts:946", + "teal": 3509, + "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3286, - 3287, - 3288 + 3287 ] }, { - "teal": 3512, + "teal": 3510, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3288, 3289 ] }, { - "teal": 3513, + "teal": 3511, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3290, @@ -15392,22 +15392,22 @@ ] }, { - "teal": 3514, + "teal": 3512, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3292, - 3293 + 3292 ] }, { - "teal": 3515, + "teal": 3513, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3293, 3294 ] }, { - "teal": 3516, + "teal": 3514, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3295, @@ -15415,22 +15415,22 @@ ] }, { - "teal": 3517, + "teal": 3515, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3297, - 3298 + 3297 ] }, { - "teal": 3518, + "teal": 3516, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ + 3298, 3299 ] }, { - "teal": 3519, + "teal": 3517, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3300, @@ -15438,7 +15438,7 @@ ] }, { - "teal": 3520, + "teal": 3518, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3302, @@ -15446,7 +15446,7 @@ ] }, { - "teal": 3521, + "teal": 3519, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ 3304, @@ -15454,22 +15454,22 @@ ] }, { - "teal": 3522, + "teal": 3520, "source": "examples/reti/validatorRegistry.algo.ts:947", "pc": [ - 3306, - 3307 + 3306 ] }, { - "teal": 3523, - "source": "examples/reti/validatorRegistry.algo.ts:947", + "teal": 3526, + "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ + 3307, 3308 ] }, { - "teal": 3529, + "teal": 3527, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3309, @@ -15477,111 +15477,111 @@ ] }, { - "teal": 3530, + "teal": 3528, + "source": "examples/reti/validatorRegistry.algo.ts:949", + "pc": [ + 3311 + ] + }, + { + "teal": 3529, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ - 3311, 3312 ] }, { - "teal": 3531, + "teal": 3530, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3313 ] }, { - "teal": 3532, + "teal": 3531, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3314 ] }, { - "teal": 3533, + "teal": 3532, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3315 ] }, { - "teal": 3534, + "teal": 3533, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3316 ] }, { - "teal": 3535, + "teal": 3534, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3317 ] }, { - "teal": 3536, + "teal": 3535, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3318 ] }, { - "teal": 3537, + "teal": 3536, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ 3319 ] }, { - "teal": 3538, - "source": "examples/reti/validatorRegistry.algo.ts:949", - "pc": [ - 3320 - ] - }, - { - "teal": 3539, + "teal": 3537, "source": "examples/reti/validatorRegistry.algo.ts:949", "pc": [ - 3321 + 3320, + 3321, + 3322 ] }, { "teal": 3540, - "source": "examples/reti/validatorRegistry.algo.ts:949", + "source": "examples/reti/validatorRegistry.algo.ts:950", "pc": [ - 3322, 3323, - 3324 + 3324, + 3325 ] }, { - "teal": 3543, - "source": "examples/reti/validatorRegistry.algo.ts:950", + "teal": 3545, + "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ - 3325, - 3326, - 3327 + 3326 ] }, { - "teal": 3548, + "teal": 3546, "source": "examples/reti/validatorRegistry.algo.ts:952", "pc": [ + 3327, 3328 ] }, { - "teal": 3549, - "source": "examples/reti/validatorRegistry.algo.ts:952", + "teal": 3551, + "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3329, 3330 ] }, { - "teal": 3554, + "teal": 3552, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3331, @@ -15589,103 +15589,103 @@ ] }, { - "teal": 3555, + "teal": 3553, + "source": "examples/reti/validatorRegistry.algo.ts:953", + "pc": [ + 3333 + ] + }, + { + "teal": 3554, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3333, 3334 ] }, { - "teal": 3556, + "teal": 3555, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3335 ] }, { - "teal": 3557, + "teal": 3556, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3336 ] }, { - "teal": 3558, + "teal": 3557, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3337 ] }, { - "teal": 3559, + "teal": 3558, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3338 ] }, { - "teal": 3560, + "teal": 3559, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ 3339 ] }, { - "teal": 3561, - "source": "examples/reti/validatorRegistry.algo.ts:953", - "pc": [ - 3340 - ] - }, - { - "teal": 3562, + "teal": 3560, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ + 3340, 3341 ] }, { - "teal": 3563, + "teal": 3561, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3342, - 3343 + 3342 ] }, { - "teal": 3564, + "teal": 3562, "source": "examples/reti/validatorRegistry.algo.ts:953", "pc": [ - 3344 + 3343, + 3344, + 3345 ] }, { - "teal": 3565, - "source": "examples/reti/validatorRegistry.algo.ts:953", + "teal": 3567, + "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ - 3345, - 3346, - 3347 + 3346 ] }, { - "teal": 3570, + "teal": 3568, "source": "examples/reti/validatorRegistry.algo.ts:955", "pc": [ + 3347, 3348 ] }, { - "teal": 3571, - "source": "examples/reti/validatorRegistry.algo.ts:955", + "teal": 3574, + "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3349, 3350 ] }, { - "teal": 3577, + "teal": 3575, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3351, @@ -15693,7 +15693,7 @@ ] }, { - "teal": 3578, + "teal": 3576, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3353, @@ -15701,363 +15701,363 @@ ] }, { - "teal": 3579, + "teal": 3577, + "source": "examples/reti/validatorRegistry.algo.ts:957", + "pc": [ + 3355 + ] + }, + { + "teal": 3578, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3355, 3356 ] }, { - "teal": 3580, + "teal": 3579, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3357 ] }, { - "teal": 3581, + "teal": 3580, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3358 ] }, { - "teal": 3582, + "teal": 3581, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3359 ] }, { - "teal": 3583, + "teal": 3582, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3360 ] }, { - "teal": 3584, + "teal": 3583, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3361 ] }, { - "teal": 3585, + "teal": 3584, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3362 ] }, { - "teal": 3586, + "teal": 3585, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ 3363 ] }, + { + "teal": 3586, + "source": "examples/reti/validatorRegistry.algo.ts:957", + "pc": [ + 3364, + 3365 + ] + }, { "teal": 3587, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3364 + 3366 ] }, { "teal": 3588, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3365 + 3367 ] }, { "teal": 3589, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3366, - 3367 + 3368, + 3369 ] }, { "teal": 3590, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3368 + 3370 ] }, { "teal": 3591, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3369 + 3371 ] }, { "teal": 3592, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3370, - 3371 + 3372 ] }, { "teal": 3593, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3372 + 3373, + 3374 ] }, { "teal": 3594, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3373 + 3375 ] }, { "teal": 3595, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3374 + 3376 ] }, { "teal": 3596, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3375, - 3376 + 3377, + 3378 ] }, { "teal": 3597, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3377 + 3379 ] }, { "teal": 3598, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3378 + 3380 ] }, { "teal": 3599, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3379, - 3380 + 3381, + 3382 ] }, { "teal": 3600, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3381 + 3383 ] }, { "teal": 3601, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "source": "examples/reti/validatorRegistry.algo.ts:958", "pc": [ - 3382 + 3384, + 3385 ] }, { "teal": 3602, "source": "examples/reti/validatorRegistry.algo.ts:957", "pc": [ - 3383, - 3384 + 3386 ] }, { "teal": 3603, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "source": "examples/reti/validatorRegistry.algo.ts:956", "pc": [ - 3385 + 3387, + 3388, + 3389 ] }, { - "teal": 3604, - "source": "examples/reti/validatorRegistry.algo.ts:958", + "teal": 3608, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3386, - 3387 + 3390, + 3391 ] }, { - "teal": 3605, - "source": "examples/reti/validatorRegistry.algo.ts:957", + "teal": 3609, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3388 + 3392, + 3393 ] }, { - "teal": 3606, - "source": "examples/reti/validatorRegistry.algo.ts:956", + "teal": 3610, + "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3389, - 3390, - 3391 + 3394 ] }, { "teal": 3611, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3392, - 3393 + 3395 ] }, { "teal": 3612, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3394, - 3395 + 3396 ] }, { "teal": 3613, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3396 + 3397 ] }, { "teal": 3614, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3397 + 3398, + 3399 ] }, { "teal": 3615, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3398 + 3400 ] }, { "teal": 3616, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3399 + 3401, + 3402 ] }, { "teal": 3617, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3400, - 3401 + 3403 ] }, { "teal": 3618, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3402 + 3404 ] }, { "teal": 3619, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3403, - 3404 + 3405, + 3406 ] }, { "teal": 3620, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3405 + 3407 ] }, { "teal": 3621, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3406 - ] - }, - { - "teal": 3622, - "source": "examples/reti/validatorRegistry.algo.ts:960", - "pc": [ - 3407, 3408 ] }, { - "teal": 3623, - "source": "examples/reti/validatorRegistry.algo.ts:960", - "pc": [ - 3409 - ] - }, - { - "teal": 3624, + "teal": 3622, "source": "examples/reti/validatorRegistry.algo.ts:960", "pc": [ - 3410 + 3409, + 3410, + 3411 ] }, { - "teal": 3625, - "source": "examples/reti/validatorRegistry.algo.ts:960", + "teal": 3631, + "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3411, 3412, 3413 ] }, { - "teal": 3634, + "teal": 3632, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3414, - 3415 + 3414 ] }, { - "teal": 3635, + "teal": 3633, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ - 3416 + 3415 ] }, { - "teal": 3636, + "teal": 3634, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ + 3416, 3417 ] }, { - "teal": 3637, + "teal": 3635, "source": "examples/reti/validatorRegistry.algo.ts:945", "pc": [ 3418, - 3419 + 3419, + 3420 ] }, { - "teal": 3638, - "source": "examples/reti/validatorRegistry.algo.ts:945", + "teal": 3645, + "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3420, 3421, 3422 ] }, { - "teal": 3648, + "teal": 3646, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ 3423, @@ -16065,88 +16065,88 @@ ] }, { - "teal": 3649, + "teal": 3647, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3425, - 3426 + 3425 ] }, { - "teal": 3650, + "teal": 3648, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3427 + 3426 ] }, { - "teal": 3651, + "teal": 3649, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ + 3427, 3428 ] }, { - "teal": 3652, + "teal": 3650, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3429, - 3430 + 3429 ] }, { - "teal": 3653, + "teal": 3651, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3431 + 3430 ] }, { - "teal": 3654, + "teal": 3652, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ + 3431, 3432 ] }, { - "teal": 3655, + "teal": 3653, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3433, - 3434 + 3433 ] }, { - "teal": 3656, + "teal": 3654, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3435 + 3434 ] }, { - "teal": 3657, + "teal": 3655, "source": "examples/reti/validatorRegistry.algo.ts:968", "pc": [ - 3436 + 3435 ] }, { "teal": 3658, - "source": "examples/reti/validatorRegistry.algo.ts:968", + "source": "examples/reti/validatorRegistry.algo.ts:967", + "errorMessage": "must stake at least the minimum for this pool", "pc": [ - 3437 + 3436 ] }, { - "teal": 3661, - "source": "examples/reti/validatorRegistry.algo.ts:967", - "errorMessage": "must stake at least the minimum for this pool", + "teal": 3662, + "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3437, 3438 ] }, { - "teal": 3665, + "teal": 3663, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ 3439, @@ -16154,67 +16154,67 @@ ] }, { - "teal": 3666, + "teal": 3664, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3441, - 3442 + 3441 ] }, { - "teal": 3667, + "teal": 3665, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3442, 3443 ] }, { - "teal": 3668, + "teal": 3666, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3444, - 3445 + 3444 ] }, { - "teal": 3669, + "teal": 3667, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3446 + 3445 ] }, { - "teal": 3670, + "teal": 3668, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3446, 3447 ] }, { - "teal": 3671, + "teal": 3669, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ - 3448, - 3449 + 3448 ] }, { - "teal": 3672, + "teal": 3670, "source": "examples/reti/validatorRegistry.algo.ts:973", "pc": [ + 3449, 3450 ] }, { - "teal": 3673, - "source": "examples/reti/validatorRegistry.algo.ts:973", + "teal": 3674, + "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3451, 3452 ] }, { - "teal": 3677, + "teal": 3675, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ 3453, @@ -16222,81 +16222,81 @@ ] }, { - "teal": 3678, + "teal": 3676, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3455, - 3456 + 3455 ] }, { - "teal": 3679, + "teal": 3677, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3456, 3457 ] }, { - "teal": 3680, + "teal": 3678, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3458, - 3459 + 3458 ] }, { - "teal": 3681, + "teal": 3679, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3460 + 3459 ] }, { - "teal": 3682, + "teal": 3680, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3460, 3461 ] }, { - "teal": 3683, + "teal": 3681, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3462, - 3463 + 3462 ] }, { - "teal": 3684, + "teal": 3682, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ - 3464 + 3463 ] }, { - "teal": 3685, + "teal": 3683, "source": "examples/reti/validatorRegistry.algo.ts:974", "pc": [ + 3464, 3465 ] }, { - "teal": 3686, - "source": "examples/reti/validatorRegistry.algo.ts:974", + "teal": 3687, + "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3466, - 3467 + 3466 ] }, { - "teal": 3690, + "teal": 3688, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ + 3467, 3468 ] }, { - "teal": 3691, + "teal": 3693, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3469, @@ -16304,7 +16304,7 @@ ] }, { - "teal": 3696, + "teal": 3694, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3471, @@ -16312,31 +16312,31 @@ ] }, { - "teal": 3697, + "teal": 3695, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3473, - 3474 + 3473 ] }, { - "teal": 3698, + "teal": 3696, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3475 + 3474, + 3475, + 3476 ] }, { - "teal": 3699, - "source": "examples/reti/validatorRegistry.algo.ts:975", + "teal": 3701, + "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3476, 3477, 3478 ] }, { - "teal": 3704, + "teal": 3702, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3479, @@ -16344,442 +16344,442 @@ ] }, { - "teal": 3705, + "teal": 3703, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ 3481, 3482 ] }, + { + "teal": 3704, + "source": "examples/reti/validatorRegistry.algo.ts:976", + "pc": [ + 3483 + ] + }, + { + "teal": 3705, + "source": "examples/reti/validatorRegistry.algo.ts:976", + "pc": [ + 3484, + 3485 + ] + }, { "teal": 3706, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3483, - 3484 + 3486 ] }, { "teal": 3707, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3485 + 3487 ] }, { "teal": 3708, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3486, - 3487 + 3488 ] }, { "teal": 3709, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3488 + 3489 ] }, { "teal": 3710, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3489 + 3490, + 3491 ] }, { "teal": 3711, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3490 + 3492 ] }, { "teal": 3712, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3491 + 3493, + 3494 ] }, { "teal": 3713, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3492, - 3493 + 3495 ] }, { "teal": 3714, "source": "examples/reti/validatorRegistry.algo.ts:976", "pc": [ - 3494 + 3496, + 3497, + 3498 ] }, { - "teal": 3715, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3723, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3495, - 3496 + 3499, + 3500 ] }, { - "teal": 3716, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3724, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3497 + 3501 ] }, { - "teal": 3717, - "source": "examples/reti/validatorRegistry.algo.ts:976", + "teal": 3725, + "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3498, - 3499, - 3500 + 3502, + 3503 ] }, { "teal": 3726, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3501, - 3502 + 3504 ] }, { "teal": 3727, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3503 + 3505 ] }, { "teal": 3728, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3504, - 3505 + 3506 ] }, { "teal": 3729, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3506 + 3507 ] }, { "teal": 3730, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3507 + 3508, + 3509 ] }, { "teal": 3731, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3508 + 3510, + 3511 ] }, { "teal": 3732, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3509 + 3512, + 3513 ] }, { "teal": 3733, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3510, - 3511 + 3514 ] }, { "teal": 3734, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3512, - 3513 + 3515 ] }, { "teal": 3735, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3514, - 3515 + 3516 ] }, { "teal": 3736, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3516 + 3517 ] }, { "teal": 3737, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3517 + 3518 ] }, { "teal": 3738, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3518 + 3519 ] }, { "teal": 3739, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3519 + 3520 ] }, { "teal": 3740, "source": "examples/reti/validatorRegistry.algo.ts:978", "pc": [ - 3520 + 3521 ] }, { "teal": 3741, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3521 + 3522, + 3523 ] }, { "teal": 3742, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3522 + 3524 ] }, { "teal": 3743, - "source": "examples/reti/validatorRegistry.algo.ts:978", + "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3523 + 3525, + 3526 ] }, { "teal": 3744, "source": "examples/reti/validatorRegistry.algo.ts:979", "pc": [ - 3524, - 3525 + 3527 ] }, { "teal": 3745, - "source": "examples/reti/validatorRegistry.algo.ts:979", - "pc": [ - 3526 - ] - }, - { - "teal": 3746, - "source": "examples/reti/validatorRegistry.algo.ts:979", + "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ - 3527, 3528 ] }, { - "teal": 3747, - "source": "examples/reti/validatorRegistry.algo.ts:979", - "pc": [ - 3529 - ] - }, - { - "teal": 3748, + "teal": 3746, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ + 3529, 3530 ] }, { - "teal": 3749, + "teal": 3747, "source": "examples/reti/validatorRegistry.algo.ts:980", "pc": [ - 3531, - 3532 + 3531 ] }, { - "teal": 3750, - "source": "examples/reti/validatorRegistry.algo.ts:980", + "teal": 3748, + "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ - 3533 + 3532 ] }, { - "teal": 3751, + "teal": 3749, "source": "examples/reti/validatorRegistry.algo.ts:977", "pc": [ - 3534 + 3533, + 3534, + 3535 ] }, { - "teal": 3752, - "source": "examples/reti/validatorRegistry.algo.ts:977", + "teal": 3756, + "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3535, 3536, 3537 ] }, { - "teal": 3759, + "teal": 3757, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3538, - 3539 + 3538 ] }, { - "teal": 3760, + "teal": 3758, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ - 3540 + 3539 ] }, { - "teal": 3761, + "teal": 3759, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ + 3540, 3541 ] }, { - "teal": 3762, + "teal": 3760, "source": "examples/reti/validatorRegistry.algo.ts:975", "pc": [ 3542, - 3543 + 3543, + 3544 ] }, { - "teal": 3763, - "source": "examples/reti/validatorRegistry.algo.ts:975", + "teal": 3765, + "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3544, 3545, 3546 ] }, { - "teal": 3768, + "teal": 3766, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3547, - 3548 + 3547 ] }, { - "teal": 3769, + "teal": 3767, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3548, 3549 ] }, { - "teal": 3770, + "teal": 3768, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3550, - 3551 + 3550 ] }, { - "teal": 3771, + "teal": 3769, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3551, 3552 ] }, { - "teal": 3772, + "teal": 3770, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3553, - 3554 + 3553 ] }, { - "teal": 3773, + "teal": 3771, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3554, 3555 ] }, { - "teal": 3774, + "teal": 3772, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3556, - 3557 + 3556 ] }, { - "teal": 3775, + "teal": 3773, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3557, 3558 ] }, { - "teal": 3776, + "teal": 3774, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3559, - 3560 + 3559 ] }, { - "teal": 3777, + "teal": 3775, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3561 + 3560 ] }, { - "teal": 3778, + "teal": 3776, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ + 3561, 3562 ] }, { - "teal": 3779, + "teal": 3777, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3563, - 3564 + 3563 ] }, { - "teal": 3780, + "teal": 3778, "source": "examples/reti/validatorRegistry.algo.ts:985", "pc": [ - 3565 + 3564 ] }, { - "teal": 3781, - "source": "examples/reti/validatorRegistry.algo.ts:985", + "teal": 3782, + "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ + 3565, 3566 ] }, @@ -16792,207 +16792,207 @@ ] }, { - "teal": 3788, + "teal": 3786, "source": "examples/reti/validatorRegistry.algo.ts:925", "pc": [ - 3569, - 3570 + 3569 ] }, { - "teal": 3789, - "source": "examples/reti/validatorRegistry.algo.ts:925", + "teal": 3791, + "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3571 + 3570, + 3571, + 3572 ] }, { - "teal": 3794, + "teal": 3792, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3572, - 3573, - 3574 + 3573 ] }, { "teal": 3795, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3575 + 3574, + 3575, + 3576 ] }, { - "teal": 3798, + "teal": 3796, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3576, - 3577, - 3578 + 3577 ] }, { "teal": 3799, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3579 + 3578, + 3579, + 3580 ] }, { - "teal": 3802, + "teal": 3800, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3580, - 3581, - 3582 + 3581 ] }, { "teal": 3803, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3583 + 3582, + 3583, + 3584 ] }, { - "teal": 3806, + "teal": 3804, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3584, - 3585, - 3586 + 3585 ] }, { - "teal": 3807, + "teal": 3805, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3587 + 3586 ] }, { - "teal": 3808, + "teal": 3819, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3588 + 3587, + 3588, + 3589 ] }, { "teal": 3822, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3589, - 3590, - 3591 + 3590 ] }, { - "teal": 3825, + "teal": 3823, "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ + 3591, 3592 ] }, { - "teal": 3826, - "source": "examples/reti/validatorRegistry.algo.ts:999", + "teal": 3831, + "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ 3593, 3594 ] }, { - "teal": 3834, + "teal": 3832, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3595, - 3596 + 3595 ] }, { - "teal": 3835, + "teal": 3833, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3596, 3597 ] }, { - "teal": 3836, + "teal": 3834, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3598, - 3599 + 3598 ] }, { - "teal": 3837, + "teal": 3835, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3599, 3600 ] }, { - "teal": 3838, + "teal": 3836, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3601, - 3602 + 3601 ] }, { - "teal": 3839, + "teal": 3837, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3603 + 3602 ] }, { - "teal": 3840, + "teal": 3838, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ + 3603, 3604 ] }, { - "teal": 3841, + "teal": 3839, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3605, - 3606 + 3605 ] }, { - "teal": 3842, + "teal": 3840, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3607 + 3606 ] }, { - "teal": 3843, + "teal": 3841, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3608 + 3607 ] }, { - "teal": 3844, + "teal": 3842, "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3609 + 3608, + 3609, + 3610 ] }, { - "teal": 3845, - "source": "examples/reti/validatorRegistry.algo.ts:1002", + "teal": 3843, + "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3610, 3611, 3612 ] }, { - "teal": 3846, + "teal": 3844, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3613, @@ -17000,7 +17000,7 @@ ] }, { - "teal": 3847, + "teal": 3845, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ 3615, @@ -17008,81 +17008,81 @@ ] }, { - "teal": 3848, + "teal": 3846, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3617, - 3618 + 3617 ] }, { - "teal": 3849, + "teal": 3847, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ + 3618, 3619 ] }, { - "teal": 3850, + "teal": 3848, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3620, - 3621 + 3620 ] }, { - "teal": 3851, + "teal": 3849, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3622 + 3621 ] }, { - "teal": 3852, + "teal": 3850, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ + 3622, 3623 ] }, { - "teal": 3853, + "teal": 3851, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3624, - 3625 + 3624 ] }, { - "teal": 3854, + "teal": 3852, "source": "examples/reti/validatorRegistry.algo.ts:1003", "pc": [ - 3626 + 3625 ] }, { - "teal": 3855, - "source": "examples/reti/validatorRegistry.algo.ts:1003", + "teal": 3853, + "source": "examples/reti/validatorRegistry.algo.ts:1002", "pc": [ - 3627 + 3626 ] }, { - "teal": 3856, - "source": "examples/reti/validatorRegistry.algo.ts:1002", + "teal": 3857, + "source": "examples/reti/validatorRegistry.algo.ts:1001", + "errorMessage": "can only be called by owner or manager of validator", "pc": [ - 3628 + 3627 ] }, { - "teal": 3860, - "source": "examples/reti/validatorRegistry.algo.ts:1001", - "errorMessage": "can only be called by owner or manager of validator", + "teal": 3861, + "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3628, 3629 ] }, { - "teal": 3864, + "teal": 3862, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ 3630, @@ -17090,149 +17090,149 @@ ] }, { - "teal": 3865, + "teal": 3863, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3632, - 3633 + 3632 ] }, { - "teal": 3866, + "teal": 3864, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3633, 3634 ] }, { - "teal": 3867, + "teal": 3865, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3635, - 3636 + 3635 ] }, { - "teal": 3868, + "teal": 3866, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3637 + 3636 ] }, { - "teal": 3869, + "teal": 3867, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3637, 3638 ] }, { - "teal": 3870, + "teal": 3868, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ - 3639, - 3640 + 3639 ] }, { - "teal": 3871, + "teal": 3869, "source": "examples/reti/validatorRegistry.algo.ts:1007", "pc": [ + 3640, 3641 ] }, { - "teal": 3872, - "source": "examples/reti/validatorRegistry.algo.ts:1007", + "teal": 3873, + "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3642, 3643 ] }, { - "teal": 3876, + "teal": 3874, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3644, - 3645 + 3644 ] }, { - "teal": 3877, + "teal": 3875, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3646 + 3645 ] }, { - "teal": 3878, + "teal": 3876, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3647 + 3646 ] }, { - "teal": 3879, + "teal": 3877, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3648 + 3647, + 3648, + 3649 ] }, { - "teal": 3880, + "teal": 3878, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3649, 3650, 3651 ] }, { - "teal": 3881, + "teal": 3879, + "source": "examples/reti/validatorRegistry.algo.ts:1008", + "pc": [ + 3652 + ] + }, + { + "teal": 3880, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ - 3652, 3653 ] }, { - "teal": 3882, + "teal": 3881, "source": "examples/reti/validatorRegistry.algo.ts:1008", "pc": [ 3654 ] }, { - "teal": 3883, + "teal": 3885, "source": "examples/reti/validatorRegistry.algo.ts:1008", + "errorMessage": "node number out of allowable range", "pc": [ 3655 ] }, { - "teal": 3884, - "source": "examples/reti/validatorRegistry.algo.ts:1008", + "teal": 3889, + "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3656 ] }, { - "teal": 3888, - "source": "examples/reti/validatorRegistry.algo.ts:1008", - "errorMessage": "node number out of allowable range", - "pc": [ - 3657 - ] - }, - { - "teal": 3892, + "teal": 3890, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ + 3657, 3658 ] }, { - "teal": 3893, + "teal": 3895, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3659, @@ -17240,45 +17240,45 @@ ] }, { - "teal": 3898, + "teal": 3896, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3661, - 3662 + 3661 ] }, { - "teal": 3899, + "teal": 3897, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3663 + 3662 ] }, { - "teal": 3900, + "teal": 3898, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3664 + 3663, + 3664, + 3665 ] }, { - "teal": 3901, - "source": "examples/reti/validatorRegistry.algo.ts:1010", + "teal": 3902, + "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3665, - 3666, - 3667 + 3666 ] }, { - "teal": 3905, + "teal": 3903, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3667, 3668 ] }, { - "teal": 3906, + "teal": 3908, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3669, @@ -17286,7 +17286,7 @@ ] }, { - "teal": 3911, + "teal": 3909, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3671, @@ -17294,347 +17294,347 @@ ] }, { - "teal": 3912, + "teal": 3910, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3673, - 3674 + 3673 ] }, { - "teal": 3913, + "teal": 3911, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3675 + 3674, + 3675, + 3676 ] }, { - "teal": 3914, - "source": "examples/reti/validatorRegistry.algo.ts:1011", + "teal": 3916, + "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3676, 3677, 3678 ] }, + { + "teal": 3917, + "source": "examples/reti/validatorRegistry.algo.ts:1012", + "pc": [ + 3679 + ] + }, + { + "teal": 3918, + "source": "examples/reti/validatorRegistry.algo.ts:1012", + "pc": [ + 3680, + 3681 + ] + }, { "teal": 3919, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3679, - 3680 + 3682 ] }, { "teal": 3920, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3681 + 3683 ] }, { "teal": 3921, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3682, - 3683 + 3684 ] }, { "teal": 3922, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3684 + 3685 ] }, { "teal": 3923, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3685 + 3686 ] }, { "teal": 3924, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3686 + 3687, + 3688 ] }, { "teal": 3925, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3687 + 3689 ] }, { "teal": 3926, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3688 + 3690 ] }, { "teal": 3927, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3689, - 3690 + 3691 ] }, { "teal": 3928, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3691 + 3692 ] }, { "teal": 3929, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3692 + 3693 ] }, { "teal": 3930, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3693 + 3694 ] }, { "teal": 3931, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3694 + 3695, + 3696 ] }, { "teal": 3932, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3695 + 3697 ] }, { "teal": 3933, "source": "examples/reti/validatorRegistry.algo.ts:1012", "pc": [ - 3696 + 3698, + 3699, + 3700 ] }, { - "teal": 3934, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3938, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3697, - 3698 + 3701, + 3702 ] }, { - "teal": 3935, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3939, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3699 + 3703 ] }, { - "teal": 3936, - "source": "examples/reti/validatorRegistry.algo.ts:1012", + "teal": 3940, + "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3700, - 3701, - 3702 + 3704 ] }, { "teal": 3941, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3703, - 3704 + 3705, + 3706 ] }, { "teal": 3942, "source": "examples/reti/validatorRegistry.algo.ts:1013", "pc": [ - 3705 + 3707 ] }, { - "teal": 3943, + "teal": 3945, "source": "examples/reti/validatorRegistry.algo.ts:1013", + "errorMessage": "can't move to same node", "pc": [ - 3706 + 3708 ] }, { - "teal": 3944, - "source": "examples/reti/validatorRegistry.algo.ts:1013", + "teal": 3949, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3707, - 3708 + 3709, + 3710 ] }, { - "teal": 3945, - "source": "examples/reti/validatorRegistry.algo.ts:1013", + "teal": 3950, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3709 + 3711, + 3712 ] }, { - "teal": 3948, - "source": "examples/reti/validatorRegistry.algo.ts:1013", - "errorMessage": "can't move to same node", + "teal": 3951, + "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3710 + 3713 ] }, { "teal": 3952, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3711, - 3712 + 3714 ] }, { "teal": 3953, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3713, - 3714 + 3715 ] }, { "teal": 3954, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3715 + 3716 ] }, { "teal": 3955, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3716 + 3717 ] }, { "teal": 3956, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3717 + 3718, + 3719 ] }, { "teal": 3957, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3718 + 3720 ] }, { "teal": 3958, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3719 + 3721 ] }, { "teal": 3959, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3720, - 3721 + 3722 ] }, { "teal": 3960, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3722 + 3723, + 3724 ] }, { "teal": 3961, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3723 + 3725 ] }, { "teal": 3962, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3724 + 3726, + 3727 ] }, { "teal": 3963, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3725, - 3726 + 3728 ] }, { "teal": 3964, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3727 + 3729 ] }, { "teal": 3965, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3728, - 3729 + 3730, + 3731 ] }, { "teal": 3966, "source": "examples/reti/validatorRegistry.algo.ts:1015", "pc": [ - 3730 - ] - }, - { - "teal": 3967, - "source": "examples/reti/validatorRegistry.algo.ts:1015", - "pc": [ - 3731 + 3732 ] }, { - "teal": 3968, - "source": "examples/reti/validatorRegistry.algo.ts:1015", + "teal": 3972, + "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3732, 3733 ] }, { - "teal": 3969, - "source": "examples/reti/validatorRegistry.algo.ts:1015", - "pc": [ - 3734 - ] - }, - { - "teal": 3975, + "teal": 3973, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ + 3734, 3735 ] }, { - "teal": 3976, + "teal": 3974, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3736, @@ -17642,35 +17642,35 @@ ] }, { - "teal": 3977, + "teal": 3975, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ 3738, - 3739 + 3739, + 3740, + 3741, + 3742, + 3743 ] }, { - "teal": 3978, + "teal": 3976, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3740, - 3741, - 3742, - 3743, 3744, 3745 ] }, { - "teal": 3979, - "source": "examples/reti/validatorRegistry.algo.ts:1018", + "teal": 3980, + "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3746, 3747 ] }, { - "teal": 3983, + "teal": 3981, "source": "examples/reti/validatorRegistry.algo.ts:1019", "pc": [ 3748, @@ -17679,16 +17679,16 @@ }, { "teal": 3984, - "source": "examples/reti/validatorRegistry.algo.ts:1019", + "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3750, - 3751 + 3750 ] }, { - "teal": 3987, + "teal": 3985, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ + 3751, 3752 ] }, @@ -17696,19 +17696,19 @@ "teal": 3988, "source": "examples/reti/validatorRegistry.algo.ts:1018", "pc": [ - 3753, - 3754 + 3753 ] }, { - "teal": 3991, - "source": "examples/reti/validatorRegistry.algo.ts:1018", + "teal": 3992, + "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ + 3754, 3755 ] }, { - "teal": 3995, + "teal": 3993, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3756, @@ -17716,7 +17716,7 @@ ] }, { - "teal": 3996, + "teal": 3994, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3758, @@ -17724,595 +17724,595 @@ ] }, { - "teal": 3997, + "teal": 3995, "source": "examples/reti/validatorRegistry.algo.ts:1023", "pc": [ 3760, - 3761 + 3761, + 3762 ] }, { - "teal": 3998, - "source": "examples/reti/validatorRegistry.algo.ts:1023", + "teal": 3999, + "source": "examples/reti/validatorRegistry.algo.ts:1024", "pc": [ - 3762, - 3763, - 3764 + 3763 ] }, { - "teal": 4002, - "source": "examples/reti/validatorRegistry.algo.ts:1024", + "teal": 4006, + "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3764, 3765 ] }, { - "teal": 4009, + "teal": 4007, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3766, - 3767 + 3766 ] }, { - "teal": 4010, + "teal": 4008, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ - 3768 + 3767 ] }, { - "teal": 4011, + "teal": 4009, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ + 3768, 3769 ] }, { - "teal": 4012, + "teal": 4010, "source": "examples/reti/validatorRegistry.algo.ts:1011", "pc": [ 3770, - 3771 + 3771, + 3772 ] }, { - "teal": 4013, - "source": "examples/reti/validatorRegistry.algo.ts:1011", + "teal": 4017, + "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3772, 3773, 3774 ] }, { - "teal": 4020, + "teal": 4018, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3775, - 3776 + 3775 ] }, { - "teal": 4021, + "teal": 4019, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ - 3777 + 3776 ] }, { - "teal": 4022, + "teal": 4020, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ + 3777, 3778 ] }, { - "teal": 4023, + "teal": 4021, "source": "examples/reti/validatorRegistry.algo.ts:1010", "pc": [ 3779, - 3780 + 3780, + 3781 ] }, { - "teal": 4024, - "source": "examples/reti/validatorRegistry.algo.ts:1010", + "teal": 4025, + "source": "examples/reti/validatorRegistry.algo.ts:1028", + "errorMessage": "couldn't find pool app id in nodes to move", "pc": [ - 3781, - 3782, - 3783 + 3782 ] }, { - "teal": 4028, - "source": "examples/reti/validatorRegistry.algo.ts:1028", - "errorMessage": "couldn't find pool app id in nodes to move", + "teal": 4026, + "source": "examples/reti/validatorRegistry.algo.ts:999", "pc": [ - 3784 + 3783 ] }, { - "teal": 4029, - "source": "examples/reti/validatorRegistry.algo.ts:999", + "teal": 4031, + "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3785 + 3784 ] }, { "teal": 4034, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3786 + 3785, + 3786, + 3787 ] }, { - "teal": 4037, + "teal": 4035, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3787, - 3788, - 3789 + 3788 ] }, { - "teal": 4038, + "teal": 4036, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3790 + 3789 ] }, { - "teal": 4039, + "teal": 4037, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ + 3790, 3791 ] }, { - "teal": 4040, + "teal": 4038, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3792, - 3793 + 3792 ] }, { "teal": 4041, "source": "examples/reti/validatorRegistry.algo.ts:1042", + "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address", "pc": [ - 3794 + 3793 ] }, { "teal": 4044, "source": "examples/reti/validatorRegistry.algo.ts:1042", - "errorMessage": "argument 0 (receiver) for emptyTokenRewards must be a address", "pc": [ - 3795 + 3794, + 3795, + 3796 ] }, { - "teal": 4047, + "teal": 4045, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3796, - 3797, - 3798 + 3797 ] }, { "teal": 4048, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3799 + 3798, + 3799, + 3800 ] }, { - "teal": 4051, + "teal": 4049, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3800, - 3801, - 3802 + 3801 ] }, { - "teal": 4052, + "teal": 4050, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3803 + 3802 ] }, { - "teal": 4053, + "teal": 4051, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3804 + 3803 ] }, { - "teal": 4054, + "teal": 4052, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3805 + 3804 ] }, { - "teal": 4055, + "teal": 4053, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3806 + 3805 ] }, { - "teal": 4056, + "teal": 4067, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3807 + 3806, + 3807, + 3808 ] }, { "teal": 4070, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3808, - 3809, - 3810 + 3809 ] }, { - "teal": 4073, + "teal": 4071, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ + 3810, 3811 ] }, { - "teal": 4074, - "source": "examples/reti/validatorRegistry.algo.ts:1042", + "teal": 4078, + "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ 3812, 3813 ] }, { - "teal": 4081, + "teal": 4079, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3814, - 3815 + 3814 ] }, { - "teal": 4082, + "teal": 4080, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3815, 3816 ] }, { - "teal": 4083, + "teal": 4081, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3817, - 3818 + 3817 ] }, { - "teal": 4084, + "teal": 4082, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3818, 3819 ] }, { - "teal": 4085, + "teal": 4083, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3820, - 3821 + 3820 ] }, { - "teal": 4086, + "teal": 4084, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3822 + 3821 ] }, { - "teal": 4087, + "teal": 4085, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ + 3822, 3823 ] }, { - "teal": 4088, + "teal": 4086, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3824, - 3825 + 3824 ] }, { - "teal": 4089, + "teal": 4087, "source": "examples/reti/validatorRegistry.algo.ts:1044", "pc": [ - 3826 + 3825 ] }, { "teal": 4090, - "source": "examples/reti/validatorRegistry.algo.ts:1044", + "source": "examples/reti/validatorRegistry.algo.ts:1043", + "errorMessage": "can only be called by validator owner", "pc": [ - 3827 + 3826 ] }, { - "teal": 4093, - "source": "examples/reti/validatorRegistry.algo.ts:1043", - "errorMessage": "can only be called by validator owner", + "teal": 4094, + "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3827, 3828 ] }, { - "teal": 4097, + "teal": 4095, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3829, - 3830 + 3829 ] }, { - "teal": 4098, + "teal": 4096, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3831 + 3830 ] }, { - "teal": 4099, + "teal": 4097, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3831, 3832 ] }, { - "teal": 4100, + "teal": 4098, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3833, - 3834 + 3833 ] }, { - "teal": 4101, + "teal": 4099, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3835 + 3834 ] }, { - "teal": 4102, + "teal": 4100, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3835, 3836 ] }, { - "teal": 4103, + "teal": 4101, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3837, - 3838 + 3837 ] }, { - "teal": 4104, + "teal": 4102, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ - 3839 + 3838 ] }, { - "teal": 4105, + "teal": 4103, "source": "examples/reti/validatorRegistry.algo.ts:1047", "pc": [ + 3839, 3840 ] }, { - "teal": 4106, - "source": "examples/reti/validatorRegistry.algo.ts:1047", + "teal": 4107, + "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ 3841, 3842 ] }, { - "teal": 4110, + "teal": 4108, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3843, - 3844 + 3843 ] }, { - "teal": 4111, + "teal": 4109, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3845 + 3844 ] }, { - "teal": 4112, + "teal": 4110, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3845, 3846 ] }, { - "teal": 4113, + "teal": 4111, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3847, - 3848 + 3847 ] }, { - "teal": 4114, + "teal": 4112, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3849 + 3848 ] }, { - "teal": 4115, + "teal": 4113, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3849, 3850 ] }, { - "teal": 4116, + "teal": 4114, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3851, - 3852 + 3851 ] }, { - "teal": 4117, + "teal": 4115, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ - 3853 + 3852 ] }, { - "teal": 4118, + "teal": 4116, "source": "examples/reti/validatorRegistry.algo.ts:1048", "pc": [ + 3853, 3854 ] }, { - "teal": 4119, - "source": "examples/reti/validatorRegistry.algo.ts:1048", + "teal": 4120, + "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ 3855, 3856 ] }, { - "teal": 4123, + "teal": 4121, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ - 3857, - 3858 + 3857 ] }, { - "teal": 4124, + "teal": 4122, "source": "examples/reti/validatorRegistry.algo.ts:1049", "pc": [ - 3859 + 3858 ] }, { "teal": 4125, "source": "examples/reti/validatorRegistry.algo.ts:1049", + "errorMessage": "this validator doesn't have a reward token defined", "pc": [ - 3860 + 3859 ] }, { - "teal": 4128, - "source": "examples/reti/validatorRegistry.algo.ts:1049", - "errorMessage": "this validator doesn't have a reward token defined", + "teal": 4129, + "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3860, 3861 ] }, { - "teal": 4132, + "teal": 4130, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3862, - 3863 + 3862 ] }, { - "teal": 4133, + "teal": 4131, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3864 + 3863 ] }, { - "teal": 4134, + "teal": 4132, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3864, 3865 ] }, { - "teal": 4135, + "teal": 4133, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3866, - 3867 + 3866 ] }, { - "teal": 4136, + "teal": 4134, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3868 + 3867 ] }, { - "teal": 4137, + "teal": 4135, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3868, 3869 ] }, { - "teal": 4138, + "teal": 4136, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3870, - 3871 + 3870 ] }, { - "teal": 4139, + "teal": 4137, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ - 3872 + 3871 ] }, { - "teal": 4140, + "teal": 4138, "source": "examples/reti/validatorRegistry.algo.ts:1050", "pc": [ + 3872, 3873 ] }, { - "teal": 4141, - "source": "examples/reti/validatorRegistry.algo.ts:1050", + "teal": 4142, + "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3874, 3875 ] }, { - "teal": 4145, + "teal": 4143, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3876, @@ -18320,22 +18320,22 @@ ] }, { - "teal": 4146, + "teal": 4144, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3878, - 3879 + 3878 ] }, { - "teal": 4147, + "teal": 4145, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3879, 3880 ] }, { - "teal": 4148, + "teal": 4146, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ 3881, @@ -18343,52 +18343,52 @@ ] }, { - "teal": 4149, + "teal": 4147, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3883, - 3884 + 3883 ] }, { - "teal": 4150, + "teal": 4148, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3884, 3885 ] }, { - "teal": 4151, + "teal": 4149, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ - 3886, - 3887 + 3886 ] }, { - "teal": 4152, + "teal": 4150, "source": "examples/reti/validatorRegistry.algo.ts:1052", "pc": [ + 3887, 3888 ] }, { - "teal": 4153, - "source": "examples/reti/validatorRegistry.algo.ts:1052", + "teal": 4157, + "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3889, - 3890 + 3889 ] }, { - "teal": 4160, + "teal": 4158, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ + 3890, 3891 ] }, { - "teal": 4161, + "teal": 4159, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3892, @@ -18396,7 +18396,7 @@ ] }, { - "teal": 4162, + "teal": 4160, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3894, @@ -18404,7 +18404,7 @@ ] }, { - "teal": 4163, + "teal": 4161, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ 3896, @@ -18412,15 +18412,15 @@ ] }, { - "teal": 4164, - "source": "examples/reti/validatorRegistry.algo.ts:1055", + "teal": 4165, + "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3898, 3899 ] }, { - "teal": 4168, + "teal": 4166, "source": "examples/reti/validatorRegistry.algo.ts:1056", "pc": [ 3900, @@ -18428,15 +18428,15 @@ ] }, { - "teal": 4169, - "source": "examples/reti/validatorRegistry.algo.ts:1056", + "teal": 4170, + "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3902, 3903 ] }, { - "teal": 4173, + "teal": 4171, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3904, @@ -18444,7 +18444,7 @@ ] }, { - "teal": 4174, + "teal": 4172, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3906, @@ -18452,22 +18452,22 @@ ] }, { - "teal": 4175, + "teal": 4173, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ - 3908, - 3909 + 3908 ] }, { - "teal": 4176, + "teal": 4174, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ + 3909, 3910 ] }, { - "teal": 4177, + "teal": 4175, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ 3911, @@ -18475,32 +18475,32 @@ ] }, { - "teal": 4178, + "teal": 4176, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ - 3913, - 3914 + 3913 ] }, { - "teal": 4179, + "teal": 4177, "source": "examples/reti/validatorRegistry.algo.ts:1057", "pc": [ + 3914, 3915 ] }, { "teal": 4180, - "source": "examples/reti/validatorRegistry.algo.ts:1057", + "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3916, - 3917 + 3916 ] }, { - "teal": 4183, + "teal": 4181, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ + 3917, 3918 ] }, @@ -18508,19 +18508,19 @@ "teal": 4184, "source": "examples/reti/validatorRegistry.algo.ts:1055", "pc": [ - 3919, - 3920 + 3919 ] }, { - "teal": 4187, - "source": "examples/reti/validatorRegistry.algo.ts:1055", + "teal": 4191, + "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3920, 3921 ] }, { - "teal": 4194, + "teal": 4192, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3922, @@ -18528,22 +18528,22 @@ ] }, { - "teal": 4195, + "teal": 4193, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3924, - 3925 + 3924 ] }, { - "teal": 4196, + "teal": 4194, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3925, 3926 ] }, { - "teal": 4197, + "teal": 4195, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ 3927, @@ -18551,46 +18551,46 @@ ] }, { - "teal": 4198, + "teal": 4196, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3929, - 3930 + 3929 ] }, { - "teal": 4199, + "teal": 4197, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ + 3930, 3931 ] }, { - "teal": 4200, + "teal": 4198, "source": "examples/reti/validatorRegistry.algo.ts:1060", "pc": [ - 3932, - 3933 + 3932 ] }, { "teal": 4201, - "source": "examples/reti/validatorRegistry.algo.ts:1060", + "source": "examples/reti/validatorRegistry.algo.ts:1059", + "errorMessage": "balance of remaining reward tokens should match the held back amount", "pc": [ - 3934 + 3933 ] }, { - "teal": 4204, - "source": "examples/reti/validatorRegistry.algo.ts:1059", - "errorMessage": "balance of remaining reward tokens should match the held back amount", + "teal": 4205, + "source": "examples/reti/validatorRegistry.algo.ts:1063", "pc": [ + 3934, 3935 ] }, { "teal": 4208, - "source": "examples/reti/validatorRegistry.algo.ts:1063", + "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ 3936, 3937 @@ -18605,529 +18605,529 @@ ] }, { - "teal": 4214, + "teal": 4212, "source": "examples/reti/validatorRegistry.algo.ts:1042", "pc": [ - 3940, - 3941 + 3940 ] }, { - "teal": 4215, - "source": "examples/reti/validatorRegistry.algo.ts:1042", + "teal": 4223, + "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ - 3942 + 3941, + 3942, + 3943 ] }, { - "teal": 4226, - "source": "examples/reti/validatorRegistry.algo.ts:1160", + "teal": 4227, + "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ - 3943, - 3944, - 3945 + 3944 ] }, { - "teal": 4230, + "teal": 4228, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ + 3945, 3946 ] }, { - "teal": 4231, + "teal": 4229, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3947, - 3948 + 3948, + 3949 ] }, { - "teal": 4232, + "teal": 4230, + "source": "examples/reti/validatorRegistry.algo.ts:1161", + "pc": [ + 3950 + ] + }, + { + "teal": 4231, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ - 3949, - 3950, 3951 ] }, { - "teal": 4233, + "teal": 4232, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3952 ] }, { - "teal": 4234, + "teal": 4233, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3953 ] }, { - "teal": 4235, + "teal": 4234, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3954 ] }, { - "teal": 4236, + "teal": 4235, "source": "examples/reti/validatorRegistry.algo.ts:1161", "pc": [ 3955 ] }, { - "teal": 4237, + "teal": 4238, "source": "examples/reti/validatorRegistry.algo.ts:1161", + "errorMessage": "the specified validator id isn't valid", "pc": [ 3956 ] }, { - "teal": 4238, - "source": "examples/reti/validatorRegistry.algo.ts:1161", + "teal": 4242, + "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3957 + 3957, + 3958 ] }, { - "teal": 4241, - "source": "examples/reti/validatorRegistry.algo.ts:1161", - "errorMessage": "the specified validator id isn't valid", + "teal": 4243, + "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3958 + 3959, + 3960, + 3961 ] }, { - "teal": 4245, + "teal": 4244, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ - 3959, - 3960 + 3962 ] }, { - "teal": 4246, - "source": "examples/reti/validatorRegistry.algo.ts:1162", + "teal": 4245, + "source": "examples/reti/validatorRegistry.algo.ts:32", "pc": [ - 3961, - 3962, 3963 ] }, { - "teal": 4247, + "teal": 4246, "source": "examples/reti/validatorRegistry.algo.ts:1162", "pc": [ 3964 ] }, { - "teal": 4248, - "source": "examples/reti/validatorRegistry.algo.ts:32", + "teal": 4249, + "source": "examples/reti/validatorRegistry.algo.ts:1162", + "errorMessage": "pool id not in valid range", "pc": [ 3965 ] }, { - "teal": 4249, - "source": "examples/reti/validatorRegistry.algo.ts:1162", + "teal": 4256, + "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3966 + 3966, + 3967 ] }, { - "teal": 4252, - "source": "examples/reti/validatorRegistry.algo.ts:1162", - "errorMessage": "pool id not in valid range", + "teal": 4257, + "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3967 + 3968, + 3969, + 3970 + ] + }, + { + "teal": 4258, + "source": "examples/reti/validatorRegistry.algo.ts:1164", + "pc": [ + 3971 ] }, { "teal": 4259, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3968, - 3969 + 3972 ] }, { "teal": 4260, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3970, - 3971, - 3972 + 3973 ] }, { "teal": 4261, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3973 + 3974 ] }, { "teal": 4262, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3974 + 3975, + 3976, + 3977 ] }, { "teal": 4263, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3975 + 3978, + 3979 ] }, { "teal": 4264, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3976 + 3980, + 3981, + 3982 ] }, { "teal": 4265, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3977, - 3978, - 3979 + 3983 ] }, { "teal": 4266, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3980, - 3981 + 3984, + 3985 ] }, { "teal": 4267, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3982, - 3983, - 3984 + 3986, + 3987 ] }, { "teal": 4268, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3985 + 3988 ] }, { "teal": 4269, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3986, - 3987 + 3989, + 3990 ] }, { "teal": 4270, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3988, - 3989 + 3991, + 3992, + 3993 ] }, { "teal": 4271, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3990 + 3994 ] }, { "teal": 4272, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3991, - 3992 + 3995 ] }, { "teal": 4273, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3993, - 3994, - 3995 + 3996 ] }, { "teal": 4274, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3996 + 3997, + 3998 ] }, { "teal": 4275, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3997 + 3999 ] }, { "teal": 4276, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3998 + 4000 ] }, { "teal": 4277, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 3999, - 4000 + 4001 ] }, { "teal": 4278, "source": "examples/reti/validatorRegistry.algo.ts:1164", "pc": [ - 4001 + 4002 ] }, { - "teal": 4279, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4282, + "source": "examples/reti/validatorRegistry.algo.ts:1163", + "errorMessage": "pool id outside of range of pools created for this validator", "pc": [ - 4002 + 4003 ] }, { - "teal": 4280, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4289, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4003 + 4004, + 4005 ] }, { - "teal": 4281, - "source": "examples/reti/validatorRegistry.algo.ts:1164", + "teal": 4290, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4004 + 4006, + 4007, + 4008 ] }, { - "teal": 4285, - "source": "examples/reti/validatorRegistry.algo.ts:1163", - "errorMessage": "pool id outside of range of pools created for this validator", + "teal": 4291, + "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4005 + 4009 ] }, { "teal": 4292, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4006, - 4007 + 4010, + 4011 ] }, { "teal": 4293, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4008, - 4009, - 4010 + 4012, + 4013 ] }, { "teal": 4294, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4011 + 4014, + 4015, + 4016 ] }, { "teal": 4295, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4012, - 4013 + 4017 ] }, { "teal": 4296, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4014, - 4015 + 4018 ] }, { "teal": 4297, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4016, - 4017, - 4018 + 4019 ] }, { "teal": 4298, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4019 + 4020, + 4021 ] }, { "teal": 4299, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4020 + 4022 ] }, { "teal": 4300, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4021 + 4023 ] }, { "teal": 4301, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4022, - 4023 + 4024 ] }, { "teal": 4302, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4024 + 4025 ] }, { "teal": 4303, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4025 + 4026 ] }, { "teal": 4304, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4026 + 4027 ] }, { "teal": 4305, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4027 + 4028, + 4029 ] }, { "teal": 4306, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4028 + 4030, + 4031, + 4032 ] }, { "teal": 4307, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4029 + 4033 ] }, { "teal": 4308, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4030, - 4031 + 4034 ] }, { "teal": 4309, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4032, - 4033, - 4034 + 4035 ] }, { "teal": 4310, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4035 + 4036, + 4037 ] }, { "teal": 4311, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4036 + 4038 ] }, { "teal": 4312, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ - 4037 - ] - }, - { - "teal": 4313, - "source": "examples/reti/validatorRegistry.algo.ts:1170", - "pc": [ - 4038, 4039 ] }, { - "teal": 4314, + "teal": 4313, "source": "examples/reti/validatorRegistry.algo.ts:1170", "pc": [ 4040 ] }, - { - "teal": 4315, - "source": "examples/reti/validatorRegistry.algo.ts:1170", - "pc": [ - 4041 - ] - }, { "teal": 4316, - "source": "examples/reti/validatorRegistry.algo.ts:1170", + "source": "examples/reti/validatorRegistry.algo.ts:1169", + "errorMessage": "The passed in app id doesn't match the passed in ids", "pc": [ - 4042 + 4041 ] }, { - "teal": 4319, - "source": "examples/reti/validatorRegistry.algo.ts:1169", - "errorMessage": "The passed in app id doesn't match the passed in ids", + "teal": 4320, + "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ + 4042, 4043 ] }, { - "teal": 4323, + "teal": 4321, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4044, @@ -19135,110 +19135,104 @@ ] }, { - "teal": 4324, + "teal": 4322, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ 4046, - 4047 + 4047, + 4048 ] }, { - "teal": 4325, + "teal": 4323, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4048, - 4049, - 4050 + 4049 ] }, { - "teal": 4326, + "teal": 4324, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ + 4050, 4051 ] }, { - "teal": 4327, + "teal": 4325, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4052, - 4053 + 4052 ] }, { - "teal": 4328, + "teal": 4326, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4054 + 4053 ] }, { - "teal": 4329, + "teal": 4327, "source": "examples/reti/validatorRegistry.algo.ts:1174", "pc": [ - 4055 + 4054 ] }, { - "teal": 4330, - "source": "examples/reti/validatorRegistry.algo.ts:1174", + "teal": 4331, + "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4055, 4056 ] }, { - "teal": 4334, + "teal": 4332, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4057, - 4058 + 4058, + 4059 ] }, { - "teal": 4335, + "teal": 4333, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4059, - 4060, - 4061 + 4060 ] }, { - "teal": 4336, + "teal": 4334, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4061, 4062 ] }, { - "teal": 4337, + "teal": 4335, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ 4063, - 4064 - ] - }, - { - "teal": 4338, - "source": "examples/reti/validatorRegistry.algo.ts:1176", - "pc": [ - 4065, - 4066, - 4067 + 4064, + 4065 ] }, { - "teal": 4339, + "teal": 4336, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4068 + 4066 ] }, { - "teal": 4340, + "teal": 4337, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ + 4067, + 4068, 4069, 4070, 4071, @@ -19249,476 +19243,482 @@ 4076, 4077, 4078, - 4079, - 4080, - 4081 + 4079 ] }, { - "teal": 4341, + "teal": 4338, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4082 + 4080 ] }, { - "teal": 4344, + "teal": 4341, "source": "examples/reti/validatorRegistry.algo.ts:1176", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('validatorId')", "pc": [ - 4083 + 4081 ] }, { - "teal": 4345, + "teal": 4342, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4084 + 4082 ] }, { - "teal": 4346, + "teal": 4343, "source": "examples/reti/validatorRegistry.algo.ts:1176", "pc": [ - 4085 + 4083 ] }, { - "teal": 4350, + "teal": 4347, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4086, - 4087 + 4084, + 4085 ] }, { - "teal": 4351, + "teal": 4348, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4088, - 4089, - 4090 + 4086, + 4087, + 4088 ] }, { - "teal": 4352, + "teal": 4349, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4091 + 4089 ] }, { - "teal": 4353, + "teal": 4350, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4092, - 4093 + 4090, + 4091 ] }, { - "teal": 4354, + "teal": 4351, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4094, - 4095, - 4096 + 4092, + 4093, + 4094 ] }, { - "teal": 4355, + "teal": 4352, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4097 + 4095 ] }, { - "teal": 4356, + "teal": 4353, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ + 4096, + 4097, 4098, 4099, 4100, 4101, 4102, - 4103, - 4104, - 4105 + 4103 ] }, { - "teal": 4357, + "teal": 4354, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4106 + 4104 ] }, { - "teal": 4360, + "teal": 4357, "source": "examples/reti/validatorRegistry.algo.ts:1177", "errorMessage": "global state value does not exist: AppID.fromUint64(poolKey.poolAppId).globalState('poolId')", "pc": [ - 4107 + 4105 ] }, { - "teal": 4361, + "teal": 4358, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4108 + 4106 ] }, { - "teal": 4362, + "teal": 4359, "source": "examples/reti/validatorRegistry.algo.ts:1177", "pc": [ - 4109 + 4107 ] }, { - "teal": 4363, + "teal": 4360, "source": "examples/reti/validatorRegistry.algo.ts:1160", "pc": [ - 4110 + 4108 ] }, { - "teal": 4372, + "teal": 4369, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4111, - 4112, - 4113 + 4109, + 4110, + 4111 ] }, { - "teal": 4375, + "teal": 4372, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4114 + 4112 ] }, { - "teal": 4376, + "teal": 4373, "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4115 + 4113 ] }, { - "teal": 4380, + "teal": 4377, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4114 + ] + }, + { + "teal": 4378, + "source": "examples/reti/validatorRegistry.algo.ts:1187", + "pc": [ + 4115, 4116 ] }, { - "teal": 4381, + "teal": 4379, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4117, - 4118 + 4117 ] }, { - "teal": 4382, + "teal": 4380, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4119 + 4118 ] }, { - "teal": 4383, + "teal": 4381, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4119, 4120 ] }, { - "teal": 4384, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4386, + "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ 4121, 4122 ] }, { - "teal": 4389, + "teal": 4387, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4123, - 4124 + 4123 ] }, { - "teal": 4390, - "source": "examples/reti/validatorRegistry.algo.ts:1188", + "teal": 4388, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4125 + 4124 ] }, { - "teal": 4391, + "teal": 4389, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4125, 4126 ] }, { - "teal": 4392, + "teal": 4390, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4127, - 4128 + 4127 ] }, { - "teal": 4393, + "teal": 4391, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4129 + 4128 ] }, { - "teal": 4394, + "teal": 4392, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4129, 4130 ] }, { - "teal": 4395, + "teal": 4393, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4131, - 4132 + 4131 ] }, { - "teal": 4396, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4394, + "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4133 + 4132 ] }, { - "teal": 4397, + "teal": 4395, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4134 + 4133 ] }, { - "teal": 4398, + "teal": 4396, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4135 + 4134 ] }, { - "teal": 4399, + "teal": 4397, "source": "examples/reti/validatorRegistry.algo.ts:1188", "pc": [ - 4136 + 4135, + 4136, + 4137 ] }, { - "teal": 4400, - "source": "examples/reti/validatorRegistry.algo.ts:1188", + "teal": 4402, + "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4137, 4138, 4139 ] }, { - "teal": 4405, + "teal": 4403, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4140, - 4141 + 4140 ] }, { - "teal": 4406, - "source": "examples/reti/validatorRegistry.algo.ts:1191", + "teal": 4404, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4142 + 4141 ] }, { - "teal": 4407, + "teal": 4405, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4142, 4143 ] }, { - "teal": 4408, + "teal": 4406, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4144, - 4145 + 4144 ] }, { - "teal": 4409, + "teal": 4407, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4146 + 4145 ] }, { - "teal": 4410, + "teal": 4408, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4146, 4147 ] }, { - "teal": 4411, + "teal": 4409, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4148, - 4149 + 4148 ] }, { - "teal": 4412, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4410, + "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4150 + 4149 ] }, { - "teal": 4413, + "teal": 4411, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ + 4150, 4151 ] }, { - "teal": 4414, + "teal": 4412, "source": "examples/reti/validatorRegistry.algo.ts:1191", "pc": [ - 4152, - 4153 + 4152 ] }, { "teal": 4415, "source": "examples/reti/validatorRegistry.algo.ts:1191", + "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')", "pc": [ - 4154 + 4153 ] }, { - "teal": 4418, + "teal": 4416, "source": "examples/reti/validatorRegistry.algo.ts:1191", - "errorMessage": "global state value does not exist: AppID.fromUint64(validatorConfig.nfdForInfo).globalState('i.owner.a')", "pc": [ + 4154, 4155 ] }, { - "teal": 4419, - "source": "examples/reti/validatorRegistry.algo.ts:1191", + "teal": 4421, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4156, - 4157 + 4156 ] }, { - "teal": 4424, + "teal": 4422, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4157, 4158 ] }, { - "teal": 4425, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4423, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4159, - 4160 + 4159 ] }, { - "teal": 4426, + "teal": 4424, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4160, 4161 ] }, { - "teal": 4427, + "teal": 4425, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4162, - 4163 + 4162 ] }, { - "teal": 4428, + "teal": 4426, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4164 + 4163 ] }, { - "teal": 4429, + "teal": 4427, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4164, 4165 ] }, { - "teal": 4430, + "teal": 4428, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4166, - 4167 + 4166 ] }, { - "teal": 4431, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4429, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4167, 4168 ] }, { - "teal": 4432, + "teal": 4430, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4169, - 4170 + 4169 ] }, { - "teal": 4433, + "teal": 4431, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4171 + 4170 ] }, { - "teal": 4434, + "teal": 4432, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4172 + 4171, + 4172, + 4173 ] }, { - "teal": 4435, + "teal": 4433, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4173, 4174, 4175 ] }, { - "teal": 4436, + "teal": 4434, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ 4176, @@ -19726,90 +19726,90 @@ ] }, { - "teal": 4437, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4435, + "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4178, - 4179 + 4178 ] }, { - "teal": 4438, + "teal": 4436, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4179, 4180 ] }, { - "teal": 4439, + "teal": 4437, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4181, - 4182 + 4181 ] }, { - "teal": 4440, + "teal": 4438, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4183 + 4182 ] }, { - "teal": 4441, + "teal": 4439, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ + 4183, 4184 ] }, { - "teal": 4442, + "teal": 4440, "source": "examples/reti/validatorRegistry.algo.ts:1187", "pc": [ - 4185, - 4186 + 4185 ] }, { - "teal": 4443, - "source": "examples/reti/validatorRegistry.algo.ts:1187", + "teal": 4441, + "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ + 4186, 4187 ] }, { - "teal": 4444, + "teal": 4442, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4188, - 4189 + 4188 ] }, { - "teal": 4445, + "teal": 4443, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4190 + 4189 ] }, { "teal": 4446, "source": "examples/reti/validatorRegistry.algo.ts:1193", "pc": [ - 4191 + 4190, + 4191, + 4192 ] }, { - "teal": 4449, - "source": "examples/reti/validatorRegistry.algo.ts:1193", + "teal": 4451, + "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4192, 4193, 4194 ] }, { - "teal": 4454, + "teal": 4452, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ 4195, @@ -19817,766 +19817,766 @@ ] }, { - "teal": 4455, + "teal": 4453, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4197, - 4198 + 4197 ] }, { - "teal": 4456, + "teal": 4454, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ + 4198, 4199 ] }, { - "teal": 4457, + "teal": 4455, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4200, - 4201 + 4200 ] }, { - "teal": 4458, + "teal": 4456, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4202 + 4201 ] }, { - "teal": 4459, + "teal": 4457, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ + 4202, 4203 ] }, { - "teal": 4460, + "teal": 4458, "source": "examples/reti/validatorRegistry.algo.ts:1195", "pc": [ - 4204, - 4205 + 4204 ] }, { - "teal": 4461, - "source": "examples/reti/validatorRegistry.algo.ts:1195", + "teal": 4463, + "source": "examples/reti/validatorRegistry.algo.ts:1186", "pc": [ - 4206 + 4205 ] }, { - "teal": 4466, - "source": "examples/reti/validatorRegistry.algo.ts:1186", + "teal": 4467, + "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ - 4207 + 4206, + 4207, + 4208 ] }, { - "teal": 4470, - "source": "examples/reti/validatorRegistry.algo.ts:1200", + "teal": 4474, + "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4208, 4209, 4210 ] }, { - "teal": 4477, + "teal": 4475, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4211, - 4212 + 4212, + 4213 ] }, { - "teal": 4478, + "teal": 4476, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4213, - 4214, - 4215 + 4214 ] }, { - "teal": 4479, + "teal": 4477, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4216 + 4215 ] }, { - "teal": 4480, + "teal": 4478, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4217 + 4216 ] }, { - "teal": 4481, + "teal": 4479, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4218 + 4217 ] }, { - "teal": 4482, + "teal": 4480, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4219 + 4218, + 4219, + 4220 ] }, { - "teal": 4483, + "teal": 4481, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4220, 4221, 4222 ] }, { - "teal": 4484, + "teal": 4482, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ 4223, - 4224 + 4224, + 4225 ] }, { - "teal": 4485, + "teal": 4483, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4225, - 4226, - 4227 + 4226 ] }, { - "teal": 4486, + "teal": 4484, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ + 4227, 4228 ] }, { - "teal": 4487, + "teal": 4485, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4229, - 4230 + 4229 ] }, { - "teal": 4488, + "teal": 4486, "source": "examples/reti/validatorRegistry.algo.ts:1203", "pc": [ - 4231 + 4230 ] }, { - "teal": 4489, - "source": "examples/reti/validatorRegistry.algo.ts:1203", + "teal": 4490, + "source": "examples/reti/validatorRegistry.algo.ts:1202", + "errorMessage": "gating type not valid", "pc": [ - 4232 + 4231 ] }, { - "teal": 4493, - "source": "examples/reti/validatorRegistry.algo.ts:1202", - "errorMessage": "gating type not valid", + "teal": 4497, + "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ + 4232, 4233 ] }, { - "teal": 4500, + "teal": 4498, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4234, - 4235 + 4235, + 4236 ] }, { - "teal": 4501, + "teal": 4499, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4236, - 4237, - 4238 + 4237 ] }, { - "teal": 4502, + "teal": 4500, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4239 + 4238 ] }, { - "teal": 4503, + "teal": 4501, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4240 + 4239 ] }, { - "teal": 4504, + "teal": 4502, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4241 + 4240 ] }, { - "teal": 4505, + "teal": 4503, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4242 + 4241, + 4242, + 4243 ] }, { - "teal": 4506, + "teal": 4504, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4243, 4244, 4245 ] }, { - "teal": 4507, + "teal": 4505, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ 4246, - 4247 + 4247, + 4248 ] }, { - "teal": 4508, + "teal": 4506, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4248, - 4249, - 4250 + 4249 ] }, { - "teal": 4509, + "teal": 4507, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ + 4250, 4251 ] }, { - "teal": 4510, + "teal": 4508, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4252, - 4253 + 4252 ] }, { - "teal": 4511, + "teal": 4509, "source": "examples/reti/validatorRegistry.algo.ts:1207", "pc": [ - 4254 + 4253 ] }, { - "teal": 4512, - "source": "examples/reti/validatorRegistry.algo.ts:1207", + "teal": 4513, + "source": "examples/reti/validatorRegistry.algo.ts:1206", + "errorMessage": "epoch length not in allowable range", "pc": [ - 4255 + 4254 ] }, { - "teal": 4516, - "source": "examples/reti/validatorRegistry.algo.ts:1206", - "errorMessage": "epoch length not in allowable range", + "teal": 4520, + "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ + 4255, 4256 ] }, { - "teal": 4523, + "teal": 4521, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4257, - 4258 + 4258, + 4259 ] }, { - "teal": 4524, + "teal": 4522, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4259, - 4260, - 4261 + 4260 ] }, { - "teal": 4525, + "teal": 4523, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4262 + 4261 ] }, { - "teal": 4526, + "teal": 4524, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4263 + 4262 ] }, { - "teal": 4527, + "teal": 4525, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4264 + 4263 ] }, { - "teal": 4528, + "teal": 4526, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4265 + 4264, + 4265, + 4266 ] }, { - "teal": 4529, + "teal": 4527, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4266, 4267, 4268 ] }, { - "teal": 4530, + "teal": 4528, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ 4269, - 4270 + 4270, + 4271 ] }, { - "teal": 4531, + "teal": 4529, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4271, - 4272, - 4273 + 4272 ] }, { - "teal": 4532, + "teal": 4530, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ + 4273, 4274 ] }, { - "teal": 4533, - "source": "examples/reti/validatorRegistry.algo.ts:1211", - "pc": [ - 4275, - 4276 - ] - }, - { - "teal": 4534, + "teal": 4531, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4277 + 4275 ] }, { - "teal": 4535, + "teal": 4532, "source": "examples/reti/validatorRegistry.algo.ts:1211", "pc": [ - 4278 + 4276 ] }, { - "teal": 4539, + "teal": 4536, "source": "examples/reti/validatorRegistry.algo.ts:1210", "errorMessage": "commission percentage not valid", "pc": [ + 4277 + ] + }, + { + "teal": 4541, + "source": "examples/reti/validatorRegistry.algo.ts:1214", + "pc": [ + 4278, 4279 ] }, { - "teal": 4544, + "teal": 4542, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ 4280, - 4281 + 4281, + 4282 ] }, { - "teal": 4545, + "teal": 4543, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4282, - 4283, - 4284 + 4283 ] }, { - "teal": 4546, + "teal": 4544, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4285 + 4284 ] }, { - "teal": 4547, + "teal": 4545, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4286 + 4285 ] }, { - "teal": 4548, + "teal": 4546, "source": "examples/reti/validatorRegistry.algo.ts:1214", "pc": [ - 4287 + 4286, + 4287, + 4288 ] }, { - "teal": 4549, - "source": "examples/reti/validatorRegistry.algo.ts:1214", + "teal": 4554, + "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4288, 4289, 4290 ] }, { - "teal": 4557, + "teal": 4555, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ 4291, - 4292 + 4292, + 4293 ] }, { - "teal": 4558, + "teal": 4556, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4293, 4294, 4295 ] }, { - "teal": 4559, + "teal": 4557, "source": "examples/reti/validatorRegistry.algo.ts:1216", "pc": [ - 4296, - 4297 + 4296 ] }, { "teal": 4560, - "source": "examples/reti/validatorRegistry.algo.ts:1216", + "source": "examples/reti/validatorRegistry.algo.ts:1215", + "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0", "pc": [ - 4298 + 4297 ] }, { - "teal": 4563, - "source": "examples/reti/validatorRegistry.algo.ts:1215", - "errorMessage": "validatorCommissionAddress must be set if percent to validator is not 0", + "teal": 4565, + "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ + 4298, 4299 ] }, { - "teal": 4568, + "teal": 4566, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ 4300, - 4301 + 4301, + 4302 ] }, { - "teal": 4569, + "teal": 4567, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ - 4302, - 4303, - 4304 + 4303 ] }, { - "teal": 4570, + "teal": 4568, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ + 4304, 4305 ] }, { - "teal": 4571, + "teal": 4569, "source": "examples/reti/validatorRegistry.algo.ts:1220", "pc": [ - 4306, - 4307 + 4306 ] }, { "teal": 4572, "source": "examples/reti/validatorRegistry.algo.ts:1220", + "errorMessage": "staking pool must have minimum entry of 1 algo", "pc": [ - 4308 + 4307 ] }, { - "teal": 4575, - "source": "examples/reti/validatorRegistry.algo.ts:1220", - "errorMessage": "staking pool must have minimum entry of 1 algo", + "teal": 4579, + "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ + 4308, 4309 ] }, { - "teal": 4582, + "teal": 4580, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4310, - 4311 + 4311, + 4312 ] }, { - "teal": 4583, + "teal": 4581, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4312, - 4313, - 4314 + 4313 ] }, { - "teal": 4584, + "teal": 4582, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4315 + 4314 ] }, { - "teal": 4585, + "teal": 4583, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4316 + 4315 ] }, { - "teal": 4586, + "teal": 4584, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4317 + 4316 ] }, { - "teal": 4587, + "teal": 4585, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4318 + 4317, + 4318, + 4319 ] }, { - "teal": 4588, + "teal": 4586, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4319, 4320, 4321 ] }, { - "teal": 4589, + "teal": 4587, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ 4322, - 4323 + 4323, + 4324 ] }, { - "teal": 4590, + "teal": 4588, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4324, - 4325, - 4326 + 4325 ] }, { - "teal": 4591, + "teal": 4589, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ + 4326, 4327 ] }, { - "teal": 4592, + "teal": 4590, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4328, - 4329 + 4328 ] }, { - "teal": 4593, + "teal": 4591, "source": "examples/reti/validatorRegistry.algo.ts:1223", "pc": [ - 4330 + 4329 ] }, { - "teal": 4594, - "source": "examples/reti/validatorRegistry.algo.ts:1223", + "teal": 4595, + "source": "examples/reti/validatorRegistry.algo.ts:1222", + "errorMessage": "number of pools per node exceeds allowed number", "pc": [ - 4331 + 4330 ] }, { - "teal": 4598, - "source": "examples/reti/validatorRegistry.algo.ts:1222", - "errorMessage": "number of pools per node exceeds allowed number", + "teal": 4600, + "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ + 4331, 4332 ] }, { - "teal": 4603, + "teal": 4601, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ 4333, - 4334 + 4334, + 4335 ] }, { - "teal": 4604, + "teal": 4602, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4335, - 4336, - 4337 + 4336 ] }, { - "teal": 4605, + "teal": 4603, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4338 + 4337 ] }, { - "teal": 4606, + "teal": 4604, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4339 + 4338 ] }, { - "teal": 4607, + "teal": 4605, "source": "examples/reti/validatorRegistry.algo.ts:1226", "pc": [ - 4340 + 4339, + 4340, + 4341 ] }, { - "teal": 4608, - "source": "examples/reti/validatorRegistry.algo.ts:1226", + "teal": 4610, + "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4341, 4342, 4343 ] }, { - "teal": 4613, + "teal": 4611, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ 4344, - 4345 + 4345, + 4346 ] }, { - "teal": 4614, + "teal": 4612, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4346, - 4347, - 4348 + 4347 ] }, { - "teal": 4615, + "teal": 4613, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ + 4348, 4349 ] }, { - "teal": 4616, + "teal": 4614, "source": "examples/reti/validatorRegistry.algo.ts:1227", "pc": [ - 4350, - 4351 + 4350 ] }, { "teal": 4617, "source": "examples/reti/validatorRegistry.algo.ts:1227", + "errorMessage": "sunsettingOn must be later than now if set", "pc": [ - 4352 + 4351 ] }, { "teal": 4620, - "source": "examples/reti/validatorRegistry.algo.ts:1227", - "errorMessage": "sunsettingOn must be later than now if set", + "source": "examples/reti/validatorRegistry.algo.ts:1200", "pc": [ - 4353 + 4352 ] }, { - "teal": 4623, - "source": "examples/reti/validatorRegistry.algo.ts:1200", + "teal": 4634, + "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4354 + 4353, + 4354, + 4355 ] }, { "teal": 4637, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4355, - 4356, - 4357 + 4356 ] }, { - "teal": 4640, + "teal": 4638, "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ + 4357, 4358 ] }, { - "teal": 4641, - "source": "examples/reti/validatorRegistry.algo.ts:1242", + "teal": 4642, + "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4359, 4360 ] }, { - "teal": 4645, + "teal": 4643, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4361, @@ -20584,177 +20584,177 @@ ] }, { - "teal": 4646, + "teal": 4644, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4363, - 4364 + 4364, + 4365 ] }, { - "teal": 4647, + "teal": 4645, + "source": "examples/reti/validatorRegistry.algo.ts:1249", + "pc": [ + 4366 + ] + }, + { + "teal": 4646, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4365, - 4366, 4367 ] }, { - "teal": 4648, + "teal": 4647, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ 4368 ] }, + { + "teal": 4648, + "source": "examples/reti/validatorRegistry.algo.ts:1249", + "pc": [ + 4369, + 4370 + ] + }, { "teal": 4649, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4369 + 4371 ] }, { "teal": 4650, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4370 + 4372 ] }, { "teal": 4651, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4371, - 4372 + 4373 ] }, { "teal": 4652, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4373 + 4374 ] }, { "teal": 4653, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4374 + 4375 ] }, { "teal": 4654, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4375 + 4376 ] }, { "teal": 4655, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4376 + 4377, + 4378 ] }, { "teal": 4656, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4377 + 4379, + 4380, + 4381 ] }, { "teal": 4657, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4378 + 4382 ] }, { "teal": 4658, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4379, - 4380 + 4383 ] }, { "teal": 4659, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4381, - 4382, - 4383 + 4384 ] }, { "teal": 4660, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4384 + 4385, + 4386 ] }, { "teal": 4661, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4385 + 4387 ] }, { "teal": 4662, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ - 4386 - ] - }, - { - "teal": 4663, - "source": "examples/reti/validatorRegistry.algo.ts:1249", - "pc": [ - 4387, 4388 ] }, { - "teal": 4664, - "source": "examples/reti/validatorRegistry.algo.ts:1249", - "pc": [ - 4389 - ] - }, - { - "teal": 4665, + "teal": 4663, "source": "examples/reti/validatorRegistry.algo.ts:1249", "pc": [ + 4389, 4390 ] }, { - "teal": 4666, - "source": "examples/reti/validatorRegistry.algo.ts:1249", + "teal": 4676, + "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4391, - 4392 + 4391 ] }, { - "teal": 4679, + "teal": 4677, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4393 + 4392 ] }, { - "teal": 4680, + "teal": 4678, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4393, 4394 ] }, { - "teal": 4681, + "teal": 4682, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4395, @@ -20762,7 +20762,7 @@ ] }, { - "teal": 4685, + "teal": 4683, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4397, @@ -20770,7 +20770,7 @@ ] }, { - "teal": 4686, + "teal": 4684, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4399, @@ -20778,22 +20778,22 @@ ] }, { - "teal": 4687, + "teal": 4685, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4401, - 4402 + 4401 ] }, { - "teal": 4688, + "teal": 4686, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4402, 4403 ] }, { - "teal": 4689, + "teal": 4690, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4404, @@ -20801,7 +20801,7 @@ ] }, { - "teal": 4693, + "teal": 4691, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ 4406, @@ -20809,17 +20809,17 @@ ] }, { - "teal": 4694, + "teal": 4692, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4408, - 4409 + 4408 ] }, { - "teal": 4695, + "teal": 4693, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4409, 4410 ] }, @@ -20827,34 +20827,34 @@ "teal": 4696, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ - 4411, - 4412 + 4411 ] }, { - "teal": 4699, + "teal": 4697, "source": "examples/reti/validatorRegistry.algo.ts:1258", "pc": [ + 4412, 4413 ] }, { - "teal": 4700, - "source": "examples/reti/validatorRegistry.algo.ts:1258", + "teal": 4698, + "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4414, - 4415 + 4414 ] }, { - "teal": 4701, + "teal": 4699, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4415, 4416 ] }, { - "teal": 4702, + "teal": 4700, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4417, @@ -20862,35 +20862,35 @@ ] }, { - "teal": 4703, + "teal": 4701, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4419, - 4420 + 4420, + 4421, + 4422, + 4423, + 4424 ] }, { - "teal": 4704, + "teal": 4702, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4421, - 4422, - 4423, - 4424, 4425, 4426 ] }, { - "teal": 4705, - "source": "examples/reti/validatorRegistry.algo.ts:1253", + "teal": 4706, + "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4427, 4428 ] }, { - "teal": 4709, + "teal": 4707, "source": "examples/reti/validatorRegistry.algo.ts:1254", "pc": [ 4429, @@ -20898,15 +20898,15 @@ ] }, { - "teal": 4710, - "source": "examples/reti/validatorRegistry.algo.ts:1254", + "teal": 4717, + "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4431, 4432 ] }, { - "teal": 4720, + "teal": 4718, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4433, @@ -20914,7 +20914,7 @@ ] }, { - "teal": 4721, + "teal": 4719, "source": "examples/reti/validatorRegistry.algo.ts:1260", "pc": [ 4435, @@ -20923,16 +20923,16 @@ }, { "teal": 4722, - "source": "examples/reti/validatorRegistry.algo.ts:1260", + "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4437, - 4438 + 4437 ] }, { - "teal": 4725, + "teal": 4723, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4438, 4439 ] }, @@ -20940,105 +20940,105 @@ "teal": 4726, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4440, - 4441 + 4440 ] }, { - "teal": 4729, + "teal": 4727, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4441, 4442 ] }, { - "teal": 4730, + "teal": 4728, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4443, - 4444 + 4443 ] }, { - "teal": 4731, + "teal": 4729, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4445 + 4444 ] }, { - "teal": 4732, + "teal": 4730, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ + 4445, 4446 ] }, { - "teal": 4733, + "teal": 4731, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ 4447, - 4448 + 4448, + 4449 ] }, { - "teal": 4734, + "teal": 4732, "source": "examples/reti/validatorRegistry.algo.ts:1253", "pc": [ - 4449, - 4450, - 4451 + 4450 ] }, { - "teal": 4735, - "source": "examples/reti/validatorRegistry.algo.ts:1253", + "teal": 4737, + "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ + 4451, 4452 ] }, { - "teal": 4740, + "teal": 4738, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ 4453, - 4454 + 4454, + 4455 ] }, { - "teal": 4741, + "teal": 4739, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ - 4455, - 4456, - 4457 + 4456 ] }, { - "teal": 4742, + "teal": 4740, "source": "examples/reti/validatorRegistry.algo.ts:1263", "pc": [ - 4458 + 4457, + 4458, + 4459 ] }, { - "teal": 4743, - "source": "examples/reti/validatorRegistry.algo.ts:1263", + "teal": 4745, + "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4459, - 4460, - 4461 + 4460 ] }, { - "teal": 4748, + "teal": 4746, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4461, 4462 ] }, { - "teal": 4749, + "teal": 4747, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4463, @@ -21046,22 +21046,22 @@ ] }, { - "teal": 4750, + "teal": 4748, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4465, - 4466 + 4465 ] }, { - "teal": 4751, + "teal": 4749, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4466, 4467 ] }, { - "teal": 4752, + "teal": 4750, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4468, @@ -21069,22 +21069,22 @@ ] }, { - "teal": 4753, + "teal": 4751, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4470, - 4471 + 4470 ] }, { - "teal": 4754, + "teal": 4752, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ + 4471, 4472 ] }, { - "teal": 4755, + "teal": 4753, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4473, @@ -21092,7 +21092,7 @@ ] }, { - "teal": 4756, + "teal": 4754, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4475, @@ -21100,7 +21100,7 @@ ] }, { - "teal": 4757, + "teal": 4755, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ 4477, @@ -21108,22 +21108,22 @@ ] }, { - "teal": 4758, + "teal": 4756, "source": "examples/reti/validatorRegistry.algo.ts:1264", "pc": [ - 4479, - 4480 + 4479 ] }, { - "teal": 4759, - "source": "examples/reti/validatorRegistry.algo.ts:1264", + "teal": 4761, + "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ + 4480, 4481 ] }, { - "teal": 4764, + "teal": 4762, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ 4482, @@ -21131,38 +21131,38 @@ ] }, { - "teal": 4765, + "teal": 4763, "source": "examples/reti/validatorRegistry.algo.ts:1268", "pc": [ - 4484, - 4485 + 4484 ] }, { "teal": 4766, "source": "examples/reti/validatorRegistry.algo.ts:1268", + "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')", "pc": [ - 4486 + 4485 ] }, { - "teal": 4769, + "teal": 4767, "source": "examples/reti/validatorRegistry.algo.ts:1268", - "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('numStakers')", "pc": [ + 4486, 4487 ] }, { - "teal": 4770, - "source": "examples/reti/validatorRegistry.algo.ts:1268", + "teal": 4771, + "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4488, 4489 ] }, { - "teal": 4774, + "teal": 4772, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ 4490, @@ -21170,38 +21170,38 @@ ] }, { - "teal": 4775, + "teal": 4773, "source": "examples/reti/validatorRegistry.algo.ts:1269", "pc": [ - 4492, - 4493 + 4492 ] }, { "teal": 4776, "source": "examples/reti/validatorRegistry.algo.ts:1269", + "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')", "pc": [ - 4494 + 4493 ] }, { - "teal": 4779, + "teal": 4777, "source": "examples/reti/validatorRegistry.algo.ts:1269", - "errorMessage": "global state value does not exist: AppID.fromUint64(poolAppId).globalState('staked')", "pc": [ + 4494, 4495 ] }, { - "teal": 4780, - "source": "examples/reti/validatorRegistry.algo.ts:1269", + "teal": 4781, + "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4496, 4497 ] }, { - "teal": 4784, + "teal": 4782, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4498, @@ -21209,787 +21209,787 @@ ] }, { - "teal": 4785, + "teal": 4783, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4500, - 4501 + 4501, + 4502 ] }, { - "teal": 4786, + "teal": 4784, + "source": "examples/reti/validatorRegistry.algo.ts:1270", + "pc": [ + 4503 + ] + }, + { + "teal": 4785, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4502, - 4503, 4504 ] }, { - "teal": 4787, + "teal": 4786, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ 4505 ] }, + { + "teal": 4787, + "source": "examples/reti/validatorRegistry.algo.ts:1270", + "pc": [ + 4506, + 4507 + ] + }, { "teal": 4788, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4506 + 4508 ] }, { "teal": 4789, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4507 + 4509 ] }, { "teal": 4790, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4508, - 4509 + 4510 ] }, { "teal": 4791, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4510 + 4511 ] }, { "teal": 4792, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4511 + 4512, + 4513 ] }, { "teal": 4793, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4512 + 4514 ] }, { "teal": 4794, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4513 + 4515, + 4516, + 4517 ] }, { "teal": 4795, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4514, - 4515 + 4518 ] }, { "teal": 4796, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4516 + 4519, + 4520 ] }, { "teal": 4797, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4517, - 4518, - 4519 + 4521, + 4522, + 4523 ] }, { "teal": 4798, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4520 + 4524 ] }, { "teal": 4799, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4521, - 4522 + 4525 ] }, { "teal": 4800, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4523, - 4524, - 4525 + 4526 ] }, { "teal": 4801, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4526 + 4527, + 4528 ] }, { "teal": 4802, "source": "examples/reti/validatorRegistry.algo.ts:1270", "pc": [ - 4527 + 4529 ] }, { - "teal": 4803, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4806, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4528 + 4530, + 4531 ] }, { - "teal": 4804, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4807, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4529, - 4530 + 4532, + 4533 ] }, { - "teal": 4805, - "source": "examples/reti/validatorRegistry.algo.ts:1270", + "teal": 4808, + "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4531 + 4534, + 4535, + 4536 ] }, { "teal": 4809, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4532, - 4533 + 4537 ] }, { "teal": 4810, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4534, - 4535 + 4538 ] }, { "teal": 4811, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4536, - 4537, - 4538 + 4539 ] }, { "teal": 4812, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4539 + 4540, + 4541 ] }, { "teal": 4813, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4540 + 4542 ] }, { "teal": 4814, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4541 + 4543 ] }, { "teal": 4815, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4542, - 4543 + 4544, + 4545 ] }, { "teal": 4816, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4544 + 4546 ] }, { "teal": 4817, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4545 + 4547, + 4548 ] }, { "teal": 4818, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4546, - 4547 + 4549 ] }, { "teal": 4819, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4548 + 4550 ] }, { "teal": 4820, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4549, - 4550 + 4551, + 4552 ] }, { "teal": 4821, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4551 + 4553, + 4554, + 4555 ] }, { "teal": 4822, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4552 + 4556 ] }, { "teal": 4823, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4553, - 4554 + 4557 ] }, { "teal": 4824, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4555, - 4556, - 4557 + 4558 ] }, { "teal": 4825, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4558 + 4559, + 4560 ] }, { "teal": 4826, "source": "examples/reti/validatorRegistry.algo.ts:1271", "pc": [ - 4559 + 4561 ] }, { - "teal": 4827, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4831, + "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ - 4560 + 4562, + 4563 ] }, { - "teal": 4828, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4832, + "source": "examples/reti/validatorRegistry.algo.ts:1274", "pc": [ - 4561, - 4562 + 4564, + 4565, + 4566 ] }, { - "teal": 4829, - "source": "examples/reti/validatorRegistry.algo.ts:1271", + "teal": 4837, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4563 + 4567, + 4568 ] }, { - "teal": 4834, - "source": "examples/reti/validatorRegistry.algo.ts:1274", + "teal": 4838, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4564, - 4565 + 4569 ] }, { - "teal": 4835, - "source": "examples/reti/validatorRegistry.algo.ts:1274", + "teal": 4839, + "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4566, - 4567, - 4568 + 4570 ] }, { "teal": 4840, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4569, - 4570 + 4571 ] }, { "teal": 4841, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4571 + 4572, + 4573 ] }, { "teal": 4842, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4572 + 4574, + 4575, + 4576 ] }, { "teal": 4843, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4573 + 4577 ] }, { "teal": 4844, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4574, - 4575 + 4578 ] }, { "teal": 4845, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4576, - 4577, - 4578 + 4579 ] }, { "teal": 4846, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4579 + 4580, + 4581 ] }, { "teal": 4847, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4580 + 4582 ] }, { "teal": 4848, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4581 + 4583 ] }, { "teal": 4849, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4582, - 4583 + 4584 ] }, { "teal": 4850, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4584 + 4585 ] }, { "teal": 4851, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4585 + 4586 ] }, { "teal": 4852, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4586 + 4587 ] }, { "teal": 4853, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4587 + 4588, + 4589 ] }, { "teal": 4854, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4588 + 4590, + 4591, + 4592 ] }, { "teal": 4855, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4589 + 4593 ] }, { "teal": 4856, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4590, - 4591 + 4594 ] }, { "teal": 4857, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4592, - 4593, - 4594 + 4595 ] }, { "teal": 4858, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4595 + 4596, + 4597 ] }, { "teal": 4859, "source": "examples/reti/validatorRegistry.algo.ts:1275", "pc": [ - 4596 + 4598 ] }, { - "teal": 4860, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4865, + "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ - 4597 + 4599, + 4600 ] }, { - "teal": 4861, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4866, + "source": "examples/reti/validatorRegistry.algo.ts:1277", "pc": [ - 4598, - 4599 + 4601, + 4602, + 4603 ] }, { - "teal": 4862, - "source": "examples/reti/validatorRegistry.algo.ts:1275", + "teal": 4871, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4600 + 4604, + 4605 ] }, { - "teal": 4868, - "source": "examples/reti/validatorRegistry.algo.ts:1277", + "teal": 4872, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4601, - 4602 + 4606 ] }, { - "teal": 4869, - "source": "examples/reti/validatorRegistry.algo.ts:1277", + "teal": 4873, + "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4603, - 4604, - 4605 + 4607 ] }, { "teal": 4874, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4606, - 4607 + 4608 ] }, { "teal": 4875, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4608 + 4609, + 4610 ] }, { "teal": 4876, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4609 + 4611 ] }, { "teal": 4877, "source": "examples/reti/validatorRegistry.algo.ts:1278", "pc": [ - 4610 + 4612 ] }, { - "teal": 4878, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4882, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4611, - 4612 + 4613, + 4614 ] }, { - "teal": 4879, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4883, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4613 + 4615 ] }, { - "teal": 4880, - "source": "examples/reti/validatorRegistry.algo.ts:1278", + "teal": 4884, + "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4614 + 4616 ] }, { "teal": 4885, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4615, - 4616 + 4617 ] }, { "teal": 4886, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4617 + 4618, + 4619 ] }, { "teal": 4887, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4618 + 4620, + 4621, + 4622 ] }, { "teal": 4888, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4619 + 4623 ] }, { "teal": 4889, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4620, - 4621 + 4624 ] }, { "teal": 4890, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4622, - 4623, - 4624 + 4625 ] }, { "teal": 4891, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4625 + 4626, + 4627 ] }, { "teal": 4892, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4626 + 4628 ] }, { "teal": 4893, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4627 + 4629 ] }, { "teal": 4894, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4628, - 4629 + 4630, + 4631 ] }, { "teal": 4895, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4630 + 4632, + 4633 ] }, { "teal": 4896, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4631 + 4634, + 4635 ] }, { "teal": 4897, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4632, - 4633 + 4636 ] }, { "teal": 4898, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4634, - 4635 + 4637 ] }, { "teal": 4899, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4636, - 4637 + 4638 ] }, { "teal": 4900, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4638 + 4639 ] }, { "teal": 4901, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4639 + 4640, + 4641 ] }, { "teal": 4902, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4640 + 4642, + 4643, + 4644 ] }, { "teal": 4903, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4641 + 4645 ] }, { "teal": 4904, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4642, - 4643 - ] - }, - { - "teal": 4905, - "source": "examples/reti/validatorRegistry.algo.ts:1280", - "pc": [ - 4644, - 4645, 4646 ] }, { - "teal": 4906, + "teal": 4905, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ 4647 ] }, { - "teal": 4907, - "source": "examples/reti/validatorRegistry.algo.ts:1280", - "pc": [ - 4648 - ] - }, - { - "teal": 4908, + "teal": 4906, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ + 4648, 4649 ] }, { - "teal": 4909, + "teal": 4907, "source": "examples/reti/validatorRegistry.algo.ts:1280", "pc": [ - 4650, - 4651 + 4650 ] }, { - "teal": 4910, - "source": "examples/reti/validatorRegistry.algo.ts:1280", + "teal": 4911, + "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4651, 4652 ] }, { - "teal": 4914, + "teal": 4912, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4653, - 4654 + 4653 ] }, { - "teal": 4915, + "teal": 4913, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4654, 4655 ] }, { - "teal": 4916, + "teal": 4914, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4656, @@ -21997,7 +21997,7 @@ ] }, { - "teal": 4917, + "teal": 4915, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ 4658, @@ -22005,199 +22005,199 @@ ] }, { - "teal": 4918, + "teal": 4916, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4660, - 4661 + 4660 ] }, { - "teal": 4919, + "teal": 4917, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4662 + 4661 ] }, { - "teal": 4920, + "teal": 4918, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ + 4662, 4663 ] }, { - "teal": 4921, + "teal": 4919, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4664, - 4665 + 4664 ] }, { - "teal": 4922, + "teal": 4920, "source": "examples/reti/validatorRegistry.algo.ts:1281", "pc": [ - 4666 + 4665 ] }, { - "teal": 4923, - "source": "examples/reti/validatorRegistry.algo.ts:1281", + "teal": 4921, + "source": "examples/reti/validatorRegistry.algo.ts:1242", "pc": [ - 4667 + 4666 ] }, { - "teal": 4924, - "source": "examples/reti/validatorRegistry.algo.ts:1242", + "teal": 4925, + "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4668 + 4667, + 4668, + 4669 ] }, { "teal": 4928, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4669, - 4670, - 4671 + 4670 ] }, { - "teal": 4931, + "teal": 4929, "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ + 4671, 4672 ] }, { - "teal": 4932, - "source": "examples/reti/validatorRegistry.algo.ts:1284", + "teal": 4933, + "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4673, - 4674 + 4673 ] }, { - "teal": 4936, + "teal": 4934, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ + 4674, 4675 ] }, { - "teal": 4937, + "teal": 4935, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4676, - 4677 + 4676 ] }, { - "teal": 4938, + "teal": 4936, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4678 + 4677 ] }, { - "teal": 4939, + "teal": 4937, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4679 + 4678 ] }, { - "teal": 4940, + "teal": 4938, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4680 + 4679 ] }, { - "teal": 4941, + "teal": 4939, "source": "examples/reti/validatorRegistry.algo.ts:1285", "pc": [ - 4681 + 4680 ] }, { - "teal": 4942, - "source": "examples/reti/validatorRegistry.algo.ts:1285", + "teal": 4943, + "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4682 + 4681 ] }, { - "teal": 4946, + "teal": 4944, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ + 4682, 4683 ] }, { - "teal": 4947, + "teal": 4945, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4684, - 4685 + 4684 ] }, { - "teal": 4948, + "teal": 4946, "source": "examples/reti/validatorRegistry.algo.ts:1287", "pc": [ - 4686 + 4685 ] }, { "teal": 4949, "source": "examples/reti/validatorRegistry.algo.ts:1287", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 4687 + 4686 ] }, { - "teal": 4952, + "teal": 4950, "source": "examples/reti/validatorRegistry.algo.ts:1287", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 4687, 4688 ] }, { - "teal": 4953, - "source": "examples/reti/validatorRegistry.algo.ts:1287", + "teal": 4954, + "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ - 4689, - 4690 + 4689 ] }, { - "teal": 4957, + "teal": 4955, "source": "examples/reti/validatorRegistry.algo.ts:1288", "pc": [ + 4690, 4691 ] }, { - "teal": 4958, - "source": "examples/reti/validatorRegistry.algo.ts:1288", + "teal": 4959, + "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4692, - 4693 + 4692 ] }, { - "teal": 4962, + "teal": 4960, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ + 4693, 4694 ] }, { - "teal": 4963, + "teal": 4965, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4695, @@ -22205,7 +22205,7 @@ ] }, { - "teal": 4968, + "teal": 4966, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4697, @@ -22213,31 +22213,31 @@ ] }, { - "teal": 4969, + "teal": 4967, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4699, - 4700 + 4699 ] }, { - "teal": 4970, + "teal": 4968, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4701 + 4700, + 4701, + 4702 ] }, { - "teal": 4971, - "source": "examples/reti/validatorRegistry.algo.ts:1289", + "teal": 4973, + "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4702, 4703, 4704 ] }, { - "teal": 4976, + "teal": 4974, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ 4705, @@ -22245,112 +22245,112 @@ ] }, { - "teal": 4977, + "teal": 4975, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4707, - 4708 + 4707 ] }, { - "teal": 4978, + "teal": 4976, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4709 + 4708 ] }, { - "teal": 4979, + "teal": 4977, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4710 + 4709 ] }, { - "teal": 4980, + "teal": 4978, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4711 + 4710 ] }, { - "teal": 4981, + "teal": 4979, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ + 4711, 4712 ] }, { - "teal": 4982, + "teal": 4980, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4713, - 4714 + 4713 ] }, { - "teal": 4983, + "teal": 4981, "source": "examples/reti/validatorRegistry.algo.ts:1290", "pc": [ - 4715 + 4714, + 4715, + 4716 ] }, { - "teal": 4984, - "source": "examples/reti/validatorRegistry.algo.ts:1290", + "teal": 4986, + "source": "examples/reti/validatorRegistry.algo.ts:1292", "pc": [ - 4716, - 4717, - 4718 + 4717 ] }, { - "teal": 4989, - "source": "examples/reti/validatorRegistry.algo.ts:1292", + "teal": 4992, + "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ + 4718, 4719 ] }, { - "teal": 4995, + "teal": 4993, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4720, - 4721 + 4720 ] }, { - "teal": 4996, + "teal": 4994, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4722 + 4721 ] }, { - "teal": 4997, + "teal": 4995, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4723 + 4722 ] }, { - "teal": 4998, + "teal": 4996, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4724 + 4723, + 4724, + 4725 ] }, { - "teal": 4999, + "teal": 4997, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4725, 4726, 4727 ] }, { - "teal": 5000, + "teal": 4998, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4728, @@ -22358,411 +22358,411 @@ ] }, { - "teal": 5001, + "teal": 4999, + "source": "examples/reti/validatorRegistry.algo.ts:1294", + "pc": [ + 4730 + ] + }, + { + "teal": 5000, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4730, 4731 ] }, { - "teal": 5002, + "teal": 5001, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4732 ] }, { - "teal": 5003, + "teal": 5002, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4733 ] }, { - "teal": 5004, + "teal": 5003, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4734 ] }, { - "teal": 5005, + "teal": 5004, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4735 ] }, { - "teal": 5006, + "teal": 5005, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4736 ] }, { - "teal": 5007, + "teal": 5006, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4737 ] }, { - "teal": 5008, + "teal": 5007, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4738 ] }, { - "teal": 5009, + "teal": 5008, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ 4739 ] }, - { - "teal": 5010, - "source": "examples/reti/validatorRegistry.algo.ts:1294", - "pc": [ - 4740 - ] - }, { "teal": 5011, "source": "examples/reti/validatorRegistry.algo.ts:1294", "pc": [ - 4741 + 4740, + 4741, + 4742 ] }, { - "teal": 5014, - "source": "examples/reti/validatorRegistry.algo.ts:1294", + "teal": 5016, + "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4742, 4743, 4744 ] }, { - "teal": 5019, + "teal": 5017, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4745, - 4746 + 4745 ] }, { - "teal": 5020, + "teal": 5018, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ - 4747 + 4746 ] }, { - "teal": 5021, + "teal": 5019, "source": "examples/reti/validatorRegistry.algo.ts:1295", "pc": [ + 4747, 4748 ] }, { - "teal": 5022, - "source": "examples/reti/validatorRegistry.algo.ts:1295", + "teal": 5026, + "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4749, 4750 ] }, { - "teal": 5029, + "teal": 5027, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4751, - 4752 + 4751 ] }, { - "teal": 5030, + "teal": 5028, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ - 4753 + 4752 ] }, { - "teal": 5031, + "teal": 5029, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ + 4753, 4754 ] }, { - "teal": 5032, + "teal": 5030, "source": "examples/reti/validatorRegistry.algo.ts:1289", "pc": [ 4755, - 4756 + 4756, + 4757 ] }, { - "teal": 5033, - "source": "examples/reti/validatorRegistry.algo.ts:1289", + "teal": 5036, + "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4757, 4758, 4759 ] }, { - "teal": 5039, + "teal": 5037, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4760, - 4761 + 4760 ] }, { - "teal": 5040, + "teal": 5038, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4762 + 4761 ] }, { - "teal": 5041, + "teal": 5039, "source": "examples/reti/validatorRegistry.algo.ts:1298", "pc": [ - 4763 + 4762, + 4763, + 4764 ] }, { - "teal": 5042, - "source": "examples/reti/validatorRegistry.algo.ts:1298", + "teal": 5043, + "source": "examples/reti/validatorRegistry.algo.ts:1299", + "errorMessage": "No empty slot available in the staker pool set", "pc": [ - 4764, - 4765, - 4766 + 4765 ] }, { - "teal": 5046, - "source": "examples/reti/validatorRegistry.algo.ts:1299", - "errorMessage": "No empty slot available in the staker pool set", + "teal": 5048, + "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4766, 4767 ] }, { - "teal": 5051, + "teal": 5049, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4768, - 4769 + 4768 ] }, { - "teal": 5052, + "teal": 5050, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4770 + 4769 ] }, { - "teal": 5053, + "teal": 5051, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4771 + 4770 ] }, { - "teal": 5054, + "teal": 5052, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4772 + 4771 ] }, { - "teal": 5055, + "teal": 5053, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4772, 4773 ] }, { - "teal": 5056, + "teal": 5054, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4774, - 4775 + 4774 ] }, { - "teal": 5057, + "teal": 5055, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4775, 4776 ] }, { - "teal": 5058, + "teal": 5056, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4777, - 4778 + 4777 ] }, { - "teal": 5059, + "teal": 5057, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ + 4778, 4779 ] }, { - "teal": 5060, + "teal": 5058, "source": "examples/reti/validatorRegistry.algo.ts:1301", "pc": [ - 4780, - 4781 + 4780 ] }, { - "teal": 5061, - "source": "examples/reti/validatorRegistry.algo.ts:1301", + "teal": 5059, + "source": "examples/reti/validatorRegistry.algo.ts:1284", "pc": [ - 4782 + 4781 ] }, { - "teal": 5062, - "source": "examples/reti/validatorRegistry.algo.ts:1284", + "teal": 5070, + "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4783 + 4782, + 4783, + 4784 ] }, { "teal": 5073, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4784, - 4785, - 4786 + 4785 ] }, { - "teal": 5076, + "teal": 5074, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ + 4786, 4787 ] }, { - "teal": 5077, - "source": "examples/reti/validatorRegistry.algo.ts:1312", + "teal": 5078, + "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ - 4788, - 4789 + 4788 ] }, { - "teal": 5081, + "teal": 5079, "source": "examples/reti/validatorRegistry.algo.ts:1314", "pc": [ + 4789, 4790 ] }, { - "teal": 5082, - "source": "examples/reti/validatorRegistry.algo.ts:1314", + "teal": 5083, + "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ - 4791, - 4792 + 4791 ] }, { - "teal": 5086, + "teal": 5084, "source": "examples/reti/validatorRegistry.algo.ts:1315", "pc": [ + 4792, 4793 ] }, { - "teal": 5087, - "source": "examples/reti/validatorRegistry.algo.ts:1315", + "teal": 5088, + "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ - 4794, - 4795 + 4794 ] }, { - "teal": 5091, + "teal": 5089, "source": "examples/reti/validatorRegistry.algo.ts:1316", "pc": [ + 4795, 4796 ] }, { - "teal": 5092, - "source": "examples/reti/validatorRegistry.algo.ts:1316", + "teal": 5093, + "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4797, - 4798 + 4797 ] }, { - "teal": 5096, + "teal": 5094, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ + 4798, 4799 ] }, { - "teal": 5097, + "teal": 5095, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4800, - 4801 + 4800 ] }, { - "teal": 5098, + "teal": 5096, "source": "examples/reti/validatorRegistry.algo.ts:1318", "pc": [ - 4802 + 4801 ] }, { "teal": 5099, "source": "examples/reti/validatorRegistry.algo.ts:1318", + "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ - 4803 + 4802 ] }, { - "teal": 5102, + "teal": 5100, "source": "examples/reti/validatorRegistry.algo.ts:1318", - "errorMessage": "box value does not exist: this.stakerPoolSet(staker).value", "pc": [ + 4803, 4804 ] }, { - "teal": 5103, - "source": "examples/reti/validatorRegistry.algo.ts:1318", + "teal": 5104, + "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4805, - 4806 + 4805 ] }, { - "teal": 5107, + "teal": 5105, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ + 4806, 4807 ] }, { - "teal": 5108, + "teal": 5110, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4808, @@ -22770,7 +22770,7 @@ ] }, { - "teal": 5113, + "teal": 5111, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4810, @@ -22778,31 +22778,31 @@ ] }, { - "teal": 5114, + "teal": 5112, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4812, - 4813 + 4812 ] }, { - "teal": 5115, + "teal": 5113, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4814 + 4813, + 4814, + 4815 ] }, { - "teal": 5116, - "source": "examples/reti/validatorRegistry.algo.ts:1319", + "teal": 5118, + "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4815, 4816, 4817 ] }, { - "teal": 5121, + "teal": 5119, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4818, @@ -22810,126 +22810,126 @@ ] }, { - "teal": 5122, + "teal": 5120, + "source": "examples/reti/validatorRegistry.algo.ts:1320", + "pc": [ + 4820 + ] + }, + { + "teal": 5121, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4820, 4821 ] }, { - "teal": 5123, + "teal": 5122, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4822 ] }, { - "teal": 5124, + "teal": 5123, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4823 ] }, { - "teal": 5125, + "teal": 5124, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4824 ] }, { - "teal": 5126, + "teal": 5125, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4825 ] }, { - "teal": 5127, + "teal": 5126, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4826 ] }, { - "teal": 5128, + "teal": 5127, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4827 ] }, { - "teal": 5129, + "teal": 5128, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ 4828 ] }, { - "teal": 5130, - "source": "examples/reti/validatorRegistry.algo.ts:1320", - "pc": [ - 4829 - ] - }, - { - "teal": 5131, + "teal": 5129, "source": "examples/reti/validatorRegistry.algo.ts:1320", "pc": [ - 4830 + 4829, + 4830, + 4831 ] }, { "teal": 5132, - "source": "examples/reti/validatorRegistry.algo.ts:1320", + "source": "examples/reti/validatorRegistry.algo.ts:1321", "pc": [ - 4831, 4832, - 4833 + 4833, + 4834 ] }, { - "teal": 5135, - "source": "examples/reti/validatorRegistry.algo.ts:1321", + "teal": 5137, + "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4834, 4835, 4836 ] }, { - "teal": 5140, + "teal": 5138, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4837, - 4838 + 4837 ] }, { - "teal": 5141, + "teal": 5139, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ - 4839 + 4838 ] }, { - "teal": 5142, + "teal": 5140, "source": "examples/reti/validatorRegistry.algo.ts:1323", "pc": [ + 4839, 4840 ] }, { - "teal": 5143, - "source": "examples/reti/validatorRegistry.algo.ts:1323", + "teal": 5145, + "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4841, 4842 ] }, { - "teal": 5148, + "teal": 5146, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4843, @@ -22937,104 +22937,104 @@ ] }, { - "teal": 5149, + "teal": 5147, + "source": "examples/reti/validatorRegistry.algo.ts:1324", + "pc": [ + 4845 + ] + }, + { + "teal": 5148, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4845, 4846 ] }, { - "teal": 5150, + "teal": 5149, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4847 ] }, { - "teal": 5151, + "teal": 5150, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4848 ] }, { - "teal": 5152, + "teal": 5151, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4849 ] }, { - "teal": 5153, + "teal": 5152, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4850 ] }, { - "teal": 5154, + "teal": 5153, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4851 ] }, { - "teal": 5155, - "source": "examples/reti/validatorRegistry.algo.ts:1324", - "pc": [ - 4852 - ] - }, - { - "teal": 5156, + "teal": 5154, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ + 4852, 4853 ] }, { - "teal": 5157, + "teal": 5155, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ 4854, - 4855 + 4855, + 4856 ] }, { - "teal": 5158, + "teal": 5156, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4856, - 4857, - 4858 + 4857 ] }, { - "teal": 5159, + "teal": 5157, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4859 + 4858 ] }, { - "teal": 5160, + "teal": 5158, "source": "examples/reti/validatorRegistry.algo.ts:1324", "pc": [ - 4860 + 4859, + 4860, + 4861 ] }, { - "teal": 5161, - "source": "examples/reti/validatorRegistry.algo.ts:1324", + "teal": 5164, + "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4861, 4862, 4863 ] }, { - "teal": 5167, + "teal": 5165, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ 4864, @@ -23042,106 +23042,100 @@ ] }, { - "teal": 5168, + "teal": 5166, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4866, - 4867 + 4866 ] }, { - "teal": 5169, + "teal": 5167, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4868 + 4867 ] }, { - "teal": 5170, + "teal": 5168, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4869 + 4868 ] }, { - "teal": 5171, + "teal": 5169, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4870 + 4869 ] }, { - "teal": 5172, + "teal": 5170, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ + 4870, 4871 ] }, { - "teal": 5173, + "teal": 5171, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4872, - 4873 + 4872 ] }, { - "teal": 5174, + "teal": 5172, "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4874 + 4873, + 4874, + 4875 ] }, { - "teal": 5175, - "source": "examples/reti/validatorRegistry.algo.ts:1325", + "teal": 5177, + "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ - 4875, - 4876, - 4877 + 4876 ] }, { - "teal": 5180, + "teal": 5178, "source": "examples/reti/validatorRegistry.algo.ts:1326", "pc": [ + 4877, 4878 ] }, { - "teal": 5181, - "source": "examples/reti/validatorRegistry.algo.ts:1326", + "teal": 5182, + "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ 4879, 4880 ] }, { - "teal": 5185, - "source": "examples/reti/validatorRegistry.algo.ts:1328", - "pc": [ - 4881, - 4882 - ] - }, - { - "teal": 5186, + "teal": 5183, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4883 + 4881 ] }, { - "teal": 5187, + "teal": 5184, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4884 + 4882 ] }, { - "teal": 5188, + "teal": 5185, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4883, + 4884, 4885, 4886, 4887, @@ -23165,235 +23159,241 @@ 4905, 4906, 4907, - 4908, - 4909, - 4910 + 4908 + ] + }, + { + "teal": 5186, + "source": "examples/reti/validatorRegistry.algo.ts:1328", + "pc": [ + 4909 ] }, { - "teal": 5189, + "teal": 5187, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4910, 4911 ] }, { - "teal": 5190, + "teal": 5188, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4912, - 4913 + 4912 ] }, { - "teal": 5191, + "teal": 5189, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ + 4913, 4914 ] }, { - "teal": 5192, + "teal": 5190, "source": "examples/reti/validatorRegistry.algo.ts:1328", "pc": [ - 4915, - 4916 + 4915 ] }, { - "teal": 5193, - "source": "examples/reti/validatorRegistry.algo.ts:1328", + "teal": 5191, + "source": "examples/reti/validatorRegistry.algo.ts:1325", "pc": [ - 4917 + 4916, + 4917, + 4918 ] }, { - "teal": 5194, - "source": "examples/reti/validatorRegistry.algo.ts:1325", + "teal": 5196, + "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4918, 4919, 4920 ] }, { - "teal": 5199, + "teal": 5197, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4921, - 4922 + 4921 ] }, { - "teal": 5200, + "teal": 5198, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ - 4923 + 4922 ] }, { - "teal": 5201, + "teal": 5199, "source": "examples/reti/validatorRegistry.algo.ts:1330", "pc": [ + 4923, 4924 ] }, { - "teal": 5202, - "source": "examples/reti/validatorRegistry.algo.ts:1330", + "teal": 5208, + "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4925, 4926 ] }, { - "teal": 5211, + "teal": 5209, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4927, - 4928 + 4927 ] }, { - "teal": 5212, + "teal": 5210, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ - 4929 + 4928 ] }, { - "teal": 5213, + "teal": 5211, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ + 4929, 4930 ] }, { - "teal": 5214, + "teal": 5212, "source": "examples/reti/validatorRegistry.algo.ts:1319", "pc": [ 4931, - 4932 + 4932, + 4933 ] }, { - "teal": 5215, - "source": "examples/reti/validatorRegistry.algo.ts:1319", + "teal": 5218, + "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4933, 4934, 4935 ] }, { - "teal": 5221, + "teal": 5219, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4936, - 4937 + 4936 ] }, { - "teal": 5222, + "teal": 5220, "source": "examples/reti/validatorRegistry.algo.ts:1334", "pc": [ - 4938 + 4937, + 4938, + 4939 ] }, { - "teal": 5223, - "source": "examples/reti/validatorRegistry.algo.ts:1334", + "teal": 5224, + "source": "examples/reti/validatorRegistry.algo.ts:1335", + "errorMessage": "No matching slot found when told to remove a pool from the stakers set", "pc": [ - 4939, - 4940, - 4941 + 4940 ] }, { - "teal": 5227, - "source": "examples/reti/validatorRegistry.algo.ts:1335", - "errorMessage": "No matching slot found when told to remove a pool from the stakers set", + "teal": 5229, + "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4941, 4942 ] }, { - "teal": 5232, + "teal": 5230, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4943, - 4944 + 4943 ] }, { - "teal": 5233, + "teal": 5231, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4944, 4945 ] }, { - "teal": 5234, + "teal": 5232, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4946, - 4947 + 4946 ] }, { - "teal": 5235, + "teal": 5233, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4948 + 4947 ] }, { - "teal": 5236, + "teal": 5234, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4949 + 4948 ] }, { - "teal": 5237, + "teal": 5235, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4950 + 4949 ] }, { - "teal": 5238, + "teal": 5236, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ + 4950, 4951 ] }, { - "teal": 5239, + "teal": 5237, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4952, - 4953 + 4952 ] }, { - "teal": 5240, + "teal": 5238, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4954 + 4953 ] }, { - "teal": 5241, + "teal": 5239, "source": "examples/reti/validatorRegistry.algo.ts:1338", "pc": [ - 4955 + 4954 ] }, { "teal": 5242, - "source": "examples/reti/validatorRegistry.algo.ts:1338", + "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ + 4955, 4956 ] }, @@ -23406,46 +23406,46 @@ ] }, { - "teal": 5248, + "teal": 5246, "source": "examples/reti/validatorRegistry.algo.ts:1312", "pc": [ - 4959, - 4960 + 4959 ] }, { - "teal": 5249, - "source": "examples/reti/validatorRegistry.algo.ts:1312", + "teal": 5250, + "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 4961 + 4960, + 4961, + 4962 ] }, { "teal": 5253, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 4962, - 4963, - 4964 + 4963 ] }, { - "teal": 5256, + "teal": 5254, "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ + 4964, 4965 ] }, { - "teal": 5257, - "source": "examples/reti/validatorRegistry.algo.ts:1341", + "teal": 5258, + "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4966, 4967 ] }, { - "teal": 5261, + "teal": 5259, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ 4968, @@ -23453,224 +23453,224 @@ ] }, { - "teal": 5262, + "teal": 5260, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4970, - 4971 + 4970 ] }, { - "teal": 5263, + "teal": 5261, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4971, 4972 ] }, { - "teal": 5264, + "teal": 5262, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4973, - 4974 + 4973 ] }, { - "teal": 5265, + "teal": 5263, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4975 + 4974 ] }, { - "teal": 5266, + "teal": 5264, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4975, 4976 ] }, { - "teal": 5267, + "teal": 5265, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ - 4977, - 4978 + 4977 ] }, { - "teal": 5268, + "teal": 5266, "source": "examples/reti/validatorRegistry.algo.ts:1342", "pc": [ + 4978, 4979 ] }, { - "teal": 5269, - "source": "examples/reti/validatorRegistry.algo.ts:1342", + "teal": 5270, + "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ 4980, - 4981 + 4981, + 4982 ] }, { - "teal": 5273, + "teal": 5271, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4982, - 4983, - 4984 + 4983 ] }, { - "teal": 5274, + "teal": 5272, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4985 + 4984 ] }, { - "teal": 5275, + "teal": 5273, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4985, 4986 ] }, { - "teal": 5276, + "teal": 5274, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4987, - 4988 + 4987 ] }, { - "teal": 5277, + "teal": 5275, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4989 + 4988 ] }, { - "teal": 5278, + "teal": 5276, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4989, 4990 ] }, { - "teal": 5279, + "teal": 5277, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4991, - 4992 + 4991 ] }, { - "teal": 5280, + "teal": 5278, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ - 4993 + 4992 ] }, { - "teal": 5281, + "teal": 5279, "source": "examples/reti/validatorRegistry.algo.ts:1343", "pc": [ + 4993, 4994 ] }, { - "teal": 5282, - "source": "examples/reti/validatorRegistry.algo.ts:1343", + "teal": 5283, + "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ 4995, 4996 ] }, { - "teal": 5286, + "teal": 5284, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 4997, - 4998 + 4997 ] }, { - "teal": 5287, + "teal": 5285, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 4999 + 4998 ] }, { - "teal": 5288, + "teal": 5286, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5000 + 4999 ] }, { - "teal": 5289, + "teal": 5287, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5001 + 5000, + 5001, + 5002 ] }, { - "teal": 5290, + "teal": 5288, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5002, 5003, 5004 ] }, { - "teal": 5291, + "teal": 5289, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5005, - 5006 + 5005 ] }, { - "teal": 5292, + "teal": 5290, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5007 + 5006 ] }, { - "teal": 5293, + "teal": 5291, "source": "examples/reti/validatorRegistry.algo.ts:1345", "pc": [ - 5008 + 5007 ] }, { - "teal": 5294, + "teal": 5295, "source": "examples/reti/validatorRegistry.algo.ts:1345", + "errorMessage": "node number not in valid range", "pc": [ - 5009 + 5008 ] }, { - "teal": 5298, - "source": "examples/reti/validatorRegistry.algo.ts:1345", - "errorMessage": "node number not in valid range", + "teal": 5299, + "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5010 + 5009 ] }, { - "teal": 5302, + "teal": 5300, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5010, 5011 ] }, { - "teal": 5303, + "teal": 5305, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5012, @@ -23678,7 +23678,7 @@ ] }, { - "teal": 5308, + "teal": 5306, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5014, @@ -23686,526 +23686,526 @@ ] }, { - "teal": 5309, + "teal": 5307, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5016, - 5017 + 5016 ] }, { - "teal": 5310, + "teal": 5308, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5018 + 5017, + 5018, + 5019 ] }, { - "teal": 5311, - "source": "examples/reti/validatorRegistry.algo.ts:1347", + "teal": 5313, + "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5019, 5020, 5021 ] }, + { + "teal": 5314, + "source": "examples/reti/validatorRegistry.algo.ts:1348", + "pc": [ + 5022 + ] + }, + { + "teal": 5315, + "source": "examples/reti/validatorRegistry.algo.ts:1348", + "pc": [ + 5023, + 5024 + ] + }, { "teal": 5316, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5022, - 5023 + 5025 ] }, { "teal": 5317, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5024 + 5026 ] }, { "teal": 5318, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5025, - 5026 + 5027 ] }, { "teal": 5319, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5027 + 5028 ] }, { "teal": 5320, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5028 + 5029 ] }, { "teal": 5321, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5029 + 5030 ] }, { "teal": 5322, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5030 + 5031 ] }, { "teal": 5323, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5031 + 5032, + 5033 ] }, { "teal": 5324, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5032 + 5034 ] }, { "teal": 5325, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5033 + 5035 ] }, { "teal": 5326, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5034, - 5035 + 5036 ] }, { "teal": 5327, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5036 + 5037 ] }, { "teal": 5328, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5037 + 5038 ] }, { "teal": 5329, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5038 + 5039 ] }, { "teal": 5330, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5039 + 5040 ] }, { "teal": 5331, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5040 + 5041 ] }, { "teal": 5332, "source": "examples/reti/validatorRegistry.algo.ts:1348", "pc": [ - 5041 + 5042, + 5043, + 5044 ] }, { - "teal": 5333, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5337, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5042 + 5045, + 5046 ] }, { - "teal": 5334, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5338, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5043 + 5047, + 5048 ] }, { - "teal": 5335, - "source": "examples/reti/validatorRegistry.algo.ts:1348", + "teal": 5339, + "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5044, - 5045, - 5046 + 5049 ] }, { "teal": 5340, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5047, - 5048 + 5050 ] }, { "teal": 5341, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5049, - 5050 + 5051 ] }, { "teal": 5342, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5051 + 5052 ] }, { "teal": 5343, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5052 + 5053 ] }, { "teal": 5344, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5053 + 5054 ] }, { "teal": 5345, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5054 + 5055 ] }, { "teal": 5346, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5055 + 5056, + 5057 ] }, { "teal": 5347, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5056 + 5058 ] }, { "teal": 5348, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5057 + 5059 ] }, { "teal": 5349, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5058, - 5059 + 5060 ] }, { "teal": 5350, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5060 + 5061, + 5062 ] }, { "teal": 5351, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5061 + 5063 ] }, { "teal": 5352, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5062 + 5064 ] }, { "teal": 5353, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5063, - 5064 + 5065, + 5066 ] }, { "teal": 5354, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5065 + 5067 ] }, { "teal": 5355, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5066 + 5068 ] }, { "teal": 5356, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5067, - 5068 + 5069, + 5070 ] }, { "teal": 5357, "source": "examples/reti/validatorRegistry.algo.ts:1350", "pc": [ - 5069 - ] - }, - { - "teal": 5358, - "source": "examples/reti/validatorRegistry.algo.ts:1350", - "pc": [ - 5070 + 5071 ] }, { - "teal": 5359, - "source": "examples/reti/validatorRegistry.algo.ts:1350", + "teal": 5361, + "source": "examples/reti/validatorRegistry.algo.ts:1351", "pc": [ - 5071, 5072 ] }, { - "teal": 5360, - "source": "examples/reti/validatorRegistry.algo.ts:1350", - "pc": [ - 5073 - ] - }, - { - "teal": 5364, - "source": "examples/reti/validatorRegistry.algo.ts:1351", + "teal": 5368, + "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5073, 5074 ] }, { - "teal": 5371, + "teal": 5369, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5075, - 5076 + 5075 ] }, { - "teal": 5372, + "teal": 5370, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ - 5077 + 5076 ] }, { - "teal": 5373, + "teal": 5371, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ + 5077, 5078 ] }, { - "teal": 5374, + "teal": 5372, "source": "examples/reti/validatorRegistry.algo.ts:1347", "pc": [ 5079, - 5080 + 5080, + 5081 ] }, { - "teal": 5375, - "source": "examples/reti/validatorRegistry.algo.ts:1347", + "teal": 5376, + "source": "examples/reti/validatorRegistry.algo.ts:1354", + "errorMessage": "no available space in specified node for this pool", "pc": [ - 5081, - 5082, - 5083 + 5082 ] }, { - "teal": 5379, - "source": "examples/reti/validatorRegistry.algo.ts:1354", - "errorMessage": "no available space in specified node for this pool", + "teal": 5377, + "source": "examples/reti/validatorRegistry.algo.ts:1341", "pc": [ - 5084 + 5083 ] }, { - "teal": 5380, - "source": "examples/reti/validatorRegistry.algo.ts:1341", + "teal": 5387, + "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5085 + 5084, + 5085, + 5086 ] }, { "teal": 5390, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5086, - 5087, - 5088 + 5087 ] }, { - "teal": 5393, + "teal": 5391, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ + 5088, 5089 ] }, { - "teal": 5394, - "source": "examples/reti/validatorRegistry.algo.ts:1364", + "teal": 5395, + "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ 5090, 5091 ] }, { - "teal": 5398, + "teal": 5396, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5092, - 5093 + 5092 ] }, { - "teal": 5399, + "teal": 5397, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5094 + 5093 ] }, { - "teal": 5400, + "teal": 5398, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5094, 5095 ] }, { - "teal": 5401, + "teal": 5399, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5096, - 5097 + 5096 ] }, { - "teal": 5402, + "teal": 5400, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5098 + 5097 ] }, { - "teal": 5403, + "teal": 5401, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5098, 5099 ] }, { - "teal": 5404, + "teal": 5402, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5100, - 5101 + 5100 ] }, { - "teal": 5405, + "teal": 5403, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ - 5102 + 5101 ] }, { - "teal": 5406, + "teal": 5404, "source": "examples/reti/validatorRegistry.algo.ts:1365", "pc": [ + 5102, 5103 ] }, { - "teal": 5407, - "source": "examples/reti/validatorRegistry.algo.ts:1365", + "teal": 5409, + "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ 5104, 5105 ] }, { - "teal": 5412, + "teal": 5410, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5106, - 5107 + 5106 ] }, { - "teal": 5413, + "teal": 5411, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5108 + 5107 ] }, { - "teal": 5414, + "teal": 5412, "source": "examples/reti/validatorRegistry.algo.ts:1366", "pc": [ - 5109 + 5108, + 5109, + 5110 ] }, { - "teal": 5415, - "source": "examples/reti/validatorRegistry.algo.ts:1366", + "teal": 5417, + "source": "examples/reti/validatorRegistry.algo.ts:1367", "pc": [ - 5110, - 5111, - 5112 + 5111 ] }, { - "teal": 5420, - "source": "examples/reti/validatorRegistry.algo.ts:1367", + "teal": 5422, + "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ + 5112, 5113 ] }, { - "teal": 5425, + "teal": 5423, "source": "examples/reti/validatorRegistry.algo.ts:1369", "pc": [ 5114, @@ -24213,120 +24213,120 @@ ] }, { - "teal": 5426, - "source": "examples/reti/validatorRegistry.algo.ts:1369", + "teal": 5427, + "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5116, - 5117 + 5116 ] }, { - "teal": 5430, + "teal": 5428, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5117, 5118 ] }, { - "teal": 5431, + "teal": 5429, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5119, - 5120 + 5119 ] }, { - "teal": 5432, + "teal": 5430, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5120, 5121 ] }, { - "teal": 5433, + "teal": 5431, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5122, - 5123 + 5122 ] }, { - "teal": 5434, + "teal": 5432, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5124 + 5123 ] }, { - "teal": 5435, + "teal": 5433, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5124, 5125 ] }, { - "teal": 5436, + "teal": 5434, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ - 5126, - 5127 + 5126 ] }, { - "teal": 5437, + "teal": 5435, "source": "examples/reti/validatorRegistry.algo.ts:1370", "pc": [ + 5127, 5128 ] }, { - "teal": 5438, - "source": "examples/reti/validatorRegistry.algo.ts:1370", + "teal": 5442, + "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ 5129, 5130 ] }, { - "teal": 5445, + "teal": 5443, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5131, - 5132 + 5131 ] }, { - "teal": 5446, + "teal": 5444, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5133 + 5132 ] }, { - "teal": 5447, + "teal": 5445, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5134 + 5133 ] }, { - "teal": 5448, + "teal": 5446, "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5135 + 5134, + 5135, + 5136 ] }, { - "teal": 5449, - "source": "examples/reti/validatorRegistry.algo.ts:1374", + "teal": 5447, + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5136, 5137, 5138 ] }, { - "teal": 5450, + "teal": 5448, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ 5139, @@ -24334,45 +24334,45 @@ ] }, { - "teal": 5451, + "teal": 5449, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5141, - 5142 + 5141 ] }, { - "teal": 5452, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "teal": 5450, + "source": "examples/reti/validatorRegistry.algo.ts:1374", "pc": [ - 5143 + 5142 ] }, { "teal": 5453, - "source": "examples/reti/validatorRegistry.algo.ts:1374", + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5144 + 5143 ] }, { - "teal": 5456, + "teal": 5454, "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5145 + 5144, + 5145, + 5146 ] }, { - "teal": 5457, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "teal": 5455, + "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ - 5146, 5147, 5148 ] }, { - "teal": 5458, + "teal": 5456, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ 5149, @@ -24380,187 +24380,187 @@ ] }, { - "teal": 5459, + "teal": 5457, "source": "examples/reti/validatorRegistry.algo.ts:1376", "pc": [ - 5151, - 5152 + 5151 ] }, { - "teal": 5460, - "source": "examples/reti/validatorRegistry.algo.ts:1376", + "teal": 5458, + "source": "examples/reti/validatorRegistry.algo.ts:1375", "pc": [ - 5153 + 5152 ] }, { "teal": 5461, - "source": "examples/reti/validatorRegistry.algo.ts:1375", + "source": "examples/reti/validatorRegistry.algo.ts:1373", "pc": [ - 5154 + 5153, + 5154, + 5155 ] }, { - "teal": 5464, - "source": "examples/reti/validatorRegistry.algo.ts:1373", + "teal": 5466, + "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5155, 5156, 5157 ] }, { - "teal": 5469, + "teal": 5467, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5158, - 5159 + 5158 ] }, { - "teal": 5470, + "teal": 5468, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5160 + 5159 ] }, { - "teal": 5471, + "teal": 5469, "source": "examples/reti/validatorRegistry.algo.ts:1378", "pc": [ - 5161 + 5160 ] }, { - "teal": 5472, - "source": "examples/reti/validatorRegistry.algo.ts:1378", + "teal": 5473, + "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5161, 5162 ] }, { - "teal": 5476, + "teal": 5474, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5163, - 5164 + 5163 ] }, { - "teal": 5477, + "teal": 5475, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5165 + 5164 ] }, { - "teal": 5478, + "teal": 5476, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5165, 5166 ] }, { - "teal": 5479, + "teal": 5477, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5167, - 5168 + 5167 ] }, { - "teal": 5480, + "teal": 5478, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5169 + 5168 ] }, { - "teal": 5481, + "teal": 5479, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5169, 5170 ] }, { - "teal": 5482, + "teal": 5480, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5171, - 5172 + 5171 ] }, { - "teal": 5483, + "teal": 5481, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ - 5173 + 5172 ] }, { - "teal": 5484, + "teal": 5482, "source": "examples/reti/validatorRegistry.algo.ts:1379", "pc": [ + 5173, 5174 ] }, { - "teal": 5485, - "source": "examples/reti/validatorRegistry.algo.ts:1379", + "teal": 5487, + "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ 5175, 5176 ] }, { - "teal": 5490, + "teal": 5488, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5177, - 5178 + 5177 ] }, { - "teal": 5491, + "teal": 5489, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5179 + 5178 ] }, { - "teal": 5492, + "teal": 5490, "source": "examples/reti/validatorRegistry.algo.ts:1380", "pc": [ - 5180 + 5179, + 5180, + 5181 ] }, { - "teal": 5493, - "source": "examples/reti/validatorRegistry.algo.ts:1380", + "teal": 5495, + "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ - 5181, - 5182, - 5183 + 5182 ] }, { - "teal": 5498, + "teal": 5496, "source": "examples/reti/validatorRegistry.algo.ts:1381", "pc": [ + 5183, 5184 ] }, { - "teal": 5499, - "source": "examples/reti/validatorRegistry.algo.ts:1381", + "teal": 5504, + "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5185, 5186 ] }, { - "teal": 5507, + "teal": 5505, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5187, @@ -24568,7 +24568,7 @@ ] }, { - "teal": 5508, + "teal": 5506, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ 5189, @@ -24576,76 +24576,76 @@ ] }, { - "teal": 5509, + "teal": 5507, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ - 5191, - 5192 + 5191 ] }, { - "teal": 5510, + "teal": 5508, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ + 5192, 5193 ] }, { - "teal": 5511, + "teal": 5509, "source": "examples/reti/validatorRegistry.algo.ts:1384", "pc": [ - 5194, - 5195 + 5194 ] }, { "teal": 5512, - "source": "examples/reti/validatorRegistry.algo.ts:1384", + "source": "examples/reti/validatorRegistry.algo.ts:1383", + "errorMessage": "must have required minimum balance of validator defined token to add stake", "pc": [ - 5196 + 5195 ] }, { - "teal": 5515, - "source": "examples/reti/validatorRegistry.algo.ts:1383", - "errorMessage": "must have required minimum balance of validator defined token to add stake", + "teal": 5518, + "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ + 5196, 5197 ] }, { - "teal": 5521, + "teal": 5519, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5198, - 5199 + 5198 ] }, { - "teal": 5522, + "teal": 5520, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5200 + 5199 ] }, { - "teal": 5523, + "teal": 5521, "source": "examples/reti/validatorRegistry.algo.ts:1388", "pc": [ - 5201 + 5200, + 5201, + 5202 ] }, { - "teal": 5524, - "source": "examples/reti/validatorRegistry.algo.ts:1388", + "teal": 5529, + "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5202, 5203, 5204 ] }, { - "teal": 5532, + "teal": 5530, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5205, @@ -24653,54 +24653,54 @@ ] }, { - "teal": 5533, + "teal": 5531, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5207, - 5208 + 5207 ] }, { - "teal": 5534, + "teal": 5532, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ + 5208, 5209 ] }, { - "teal": 5535, + "teal": 5533, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ 5210, - 5211 + 5211, + 5212 ] }, { - "teal": 5536, + "teal": 5534, "source": "examples/reti/validatorRegistry.algo.ts:1390", "pc": [ - 5212, - 5213, - 5214 + 5213 ] }, { "teal": 5537, - "source": "examples/reti/validatorRegistry.algo.ts:1390", + "source": "examples/reti/validatorRegistry.algo.ts:1389", + "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake", "pc": [ - 5215 + 5214 ] }, { - "teal": 5540, - "source": "examples/reti/validatorRegistry.algo.ts:1389", - "errorMessage": "specified asset must be created by creator that the validator defined as a requirement to stake", + "teal": 5543, + "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ + 5215, 5216 ] }, { - "teal": 5546, + "teal": 5544, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ 5217, @@ -24708,146 +24708,146 @@ ] }, { - "teal": 5547, + "teal": 5545, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ - 5219, - 5220 + 5219 ] }, { - "teal": 5548, + "teal": 5546, "source": "examples/reti/validatorRegistry.algo.ts:1394", "pc": [ - 5221 + 5220, + 5221, + 5222 ] }, { - "teal": 5549, - "source": "examples/reti/validatorRegistry.algo.ts:1394", + "teal": 5551, + "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5222, 5223, 5224 ] }, { - "teal": 5554, + "teal": 5552, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5225, - 5226 + 5225 ] }, { - "teal": 5555, + "teal": 5553, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5227 + 5226 ] }, { - "teal": 5556, + "teal": 5554, "source": "examples/reti/validatorRegistry.algo.ts:1395", "pc": [ - 5228 + 5227 ] }, { - "teal": 5557, - "source": "examples/reti/validatorRegistry.algo.ts:1395", + "teal": 5558, + "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ - 5229 + 5228 ] }, { - "teal": 5561, + "teal": 5559, "source": "examples/reti/validatorRegistry.algo.ts:1396", "pc": [ + 5229, 5230 ] }, { - "teal": 5562, - "source": "examples/reti/validatorRegistry.algo.ts:1396", + "teal": 5563, + "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5231, 5232 ] }, { - "teal": 5566, + "teal": 5564, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5233, - 5234 + 5234, + 5235 ] }, { - "teal": 5567, + "teal": 5565, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5235, - 5236, - 5237 + 5236 ] }, { - "teal": 5568, + "teal": 5566, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5237, 5238 ] }, { - "teal": 5569, + "teal": 5567, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5239, - 5240 + 5240, + 5241 ] }, { - "teal": 5570, + "teal": 5568, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5241, - 5242, - 5243 + 5242 ] }, { - "teal": 5571, + "teal": 5569, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5243, 5244 ] }, { - "teal": 5572, + "teal": 5570, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5245, - 5246 + 5245 ] }, { - "teal": 5573, + "teal": 5571, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5246, 5247 ] }, { - "teal": 5574, - "source": "examples/reti/validatorRegistry.algo.ts:1397", + "teal": 5577, + "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5248, 5249 ] }, { - "teal": 5580, + "teal": 5578, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ 5250, @@ -24855,108 +24855,108 @@ ] }, { - "teal": 5581, + "teal": 5579, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ - 5252, - 5253 + 5252 ] }, { - "teal": 5582, + "teal": 5580, "source": "examples/reti/validatorRegistry.algo.ts:1398", "pc": [ - 5254 + 5253, + 5254, + 5255 ] }, { - "teal": 5583, - "source": "examples/reti/validatorRegistry.algo.ts:1398", + "teal": 5585, + "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ - 5255, - 5256, - 5257 + 5256 ] }, { - "teal": 5588, + "teal": 5586, "source": "examples/reti/validatorRegistry.algo.ts:1399", "pc": [ + 5257, 5258 ] }, { - "teal": 5589, - "source": "examples/reti/validatorRegistry.algo.ts:1399", + "teal": 5587, + "source": "examples/reti/validatorRegistry.algo.ts:1400", "pc": [ 5259, - 5260 + 5260, + 5261 ] }, { - "teal": 5590, - "source": "examples/reti/validatorRegistry.algo.ts:1400", + "teal": 5593, + "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5261, 5262, 5263 ] }, { - "teal": 5596, + "teal": 5594, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5264, - 5265 + 5264 ] }, { - "teal": 5597, + "teal": 5595, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5266 + 5265 ] }, { - "teal": 5598, + "teal": 5596, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5267 + 5266 ] }, { - "teal": 5599, + "teal": 5597, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5267, 5268 ] }, { - "teal": 5600, + "teal": 5598, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5269, - 5270 + 5269 ] }, { - "teal": 5601, + "teal": 5599, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5271 + 5270, + 5271, + 5272 ] }, { - "teal": 5602, + "teal": 5600, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5272, 5273, 5274 ] }, { - "teal": 5603, + "teal": 5601, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5275, @@ -24964,7 +24964,7 @@ ] }, { - "teal": 5604, + "teal": 5602, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5277, @@ -24972,47 +24972,47 @@ ] }, { - "teal": 5605, + "teal": 5603, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5279, - 5280 + 5279 ] }, { - "teal": 5606, + "teal": 5604, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5281 + 5280 ] }, { - "teal": 5607, + "teal": 5605, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ - 5282 + 5281 ] }, { - "teal": 5608, + "teal": 5606, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ + 5282, 5283 ] }, { - "teal": 5609, + "teal": 5607, "source": "examples/reti/validatorRegistry.algo.ts:1397", "pc": [ 5284, - 5285 + 5285, + 5286 ] }, { - "teal": 5610, - "source": "examples/reti/validatorRegistry.algo.ts:1397", + "teal": 5612, + "source": "examples/reti/validatorRegistry.algo.ts:1403", "pc": [ - 5286, 5287, 5288 ] @@ -25020,21 +25020,21 @@ { "teal": 5615, "source": "examples/reti/validatorRegistry.algo.ts:1403", + "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake", "pc": [ - 5289, - 5290 + 5289 ] }, { - "teal": 5618, - "source": "examples/reti/validatorRegistry.algo.ts:1403", - "errorMessage": "specified asset must be identical to the asset id defined as a requirement to stake", + "teal": 5621, + "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ + 5290, 5291 ] }, { - "teal": 5624, + "teal": 5622, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ 5292, @@ -25042,31 +25042,31 @@ ] }, { - "teal": 5625, + "teal": 5623, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ - 5294, - 5295 + 5294 ] }, { - "teal": 5626, + "teal": 5624, "source": "examples/reti/validatorRegistry.algo.ts:1405", "pc": [ - 5296 + 5295, + 5296, + 5297 ] }, { - "teal": 5627, - "source": "examples/reti/validatorRegistry.algo.ts:1405", + "teal": 5632, + "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5297, 5298, 5299 ] }, { - "teal": 5635, + "teal": 5633, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5300, @@ -25074,63 +25074,63 @@ ] }, { - "teal": 5636, + "teal": 5634, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5302, - 5303 + 5302 ] }, { - "teal": 5637, + "teal": 5635, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ + 5303, 5304 ] }, { - "teal": 5638, + "teal": 5636, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ 5305, - 5306 + 5306, + 5307 ] }, { - "teal": 5639, + "teal": 5637, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5307, - 5308, - 5309 + 5308 ] }, { - "teal": 5640, + "teal": 5638, "source": "examples/reti/validatorRegistry.algo.ts:1409", "pc": [ - 5310 + 5309, + 5310, + 5311 ] }, { "teal": 5641, - "source": "examples/reti/validatorRegistry.algo.ts:1409", + "source": "examples/reti/validatorRegistry.algo.ts:1408", + "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd", "pc": [ - 5311, - 5312, - 5313 + 5312 ] }, { - "teal": 5644, - "source": "examples/reti/validatorRegistry.algo.ts:1408", - "errorMessage": "specified asset must be created by creator that is one of the linked addresses in an nfd", + "teal": 5647, + "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ + 5313, 5314 ] }, { - "teal": 5650, + "teal": 5648, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ 5315, @@ -25138,31 +25138,31 @@ ] }, { - "teal": 5651, + "teal": 5649, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ - 5317, - 5318 + 5317 ] }, { - "teal": 5652, + "teal": 5650, "source": "examples/reti/validatorRegistry.algo.ts:1413", "pc": [ - 5319 + 5318, + 5319, + 5320 ] }, { - "teal": 5653, - "source": "examples/reti/validatorRegistry.algo.ts:1413", + "teal": 5655, + "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ - 5320, 5321, 5322 ] }, { - "teal": 5658, + "teal": 5656, "source": "examples/reti/validatorRegistry.algo.ts:1415", "pc": [ 5323, @@ -25170,40 +25170,40 @@ ] }, { - "teal": 5659, - "source": "examples/reti/validatorRegistry.algo.ts:1415", + "teal": 5660, + "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5325, 5326 ] }, { - "teal": 5663, + "teal": 5661, "source": "examples/reti/validatorRegistry.algo.ts:1416", "pc": [ 5327, - 5328 + 5328, + 5329 ] }, { "teal": 5664, "source": "examples/reti/validatorRegistry.algo.ts:1416", + "errorMessage": "provided NFD must be valid", "pc": [ - 5329, - 5330, - 5331 + 5330 ] }, { - "teal": 5667, - "source": "examples/reti/validatorRegistry.algo.ts:1416", - "errorMessage": "provided NFD must be valid", + "teal": 5672, + "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ + 5331, 5332 ] }, { - "teal": 5675, + "teal": 5673, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ 5333, @@ -25211,61 +25211,61 @@ ] }, { - "teal": 5676, + "teal": 5674, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5335, - 5336 + 5335 ] }, { "teal": 5677, "source": "examples/reti/validatorRegistry.algo.ts:1420", + "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')", "pc": [ - 5337 + 5336 ] }, { - "teal": 5680, + "teal": 5678, "source": "examples/reti/validatorRegistry.algo.ts:1420", - "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.owner.a')", "pc": [ + 5337, 5338 ] }, { - "teal": 5681, + "teal": 5679, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5339, - 5340 + 5339 ] }, { - "teal": 5682, + "teal": 5680, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5341 + 5340 ] }, { - "teal": 5683, + "teal": 5681, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5342 + 5341, + 5342, + 5343 ] }, { - "teal": 5684, - "source": "examples/reti/validatorRegistry.algo.ts:1420", + "teal": 5682, + "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ - 5343, 5344, 5345 ] }, { - "teal": 5685, + "teal": 5683, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5346, @@ -25273,49 +25273,43 @@ ] }, { - "teal": 5686, + "teal": 5684, "source": "examples/reti/validatorRegistry.algo.ts:1421", "pc": [ 5348, - 5349 + 5349, + 5350 ] }, { - "teal": 5687, - "source": "examples/reti/validatorRegistry.algo.ts:1421", - "pc": [ - 5350, - 5351, - 5352 - ] - }, - { - "teal": 5688, + "teal": 5685, "source": "examples/reti/validatorRegistry.algo.ts:1420", "pc": [ - 5353 + 5351 ] }, { - "teal": 5692, + "teal": 5689, "source": "examples/reti/validatorRegistry.algo.ts:1419", "errorMessage": "provided nfd for entry isn't owned or linked to the staker", "pc": [ - 5354 + 5352 ] }, { - "teal": 5700, + "teal": 5697, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5355, - 5356 + 5353, + 5354 ] }, { - "teal": 5701, + "teal": 5698, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ + 5355, + 5356, 5357, 5358, 5359, @@ -25328,149 +25322,155 @@ 5366, 5367, 5368, - 5369, - 5370, - 5371 + 5369 ] }, { - "teal": 5702, + "teal": 5699, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5372 + 5370 ] }, { - "teal": 5705, + "teal": 5702, "source": "examples/reti/validatorRegistry.algo.ts:1427", "errorMessage": "global state value does not exist: AppID.fromUint64(userOfferedNFDAppID).globalState('i.parentAppID')", "pc": [ - 5373 + 5371 ] }, { - "teal": 5706, + "teal": 5703, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5374 + 5372 ] }, { - "teal": 5707, + "teal": 5704, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5375, - 5376 + 5373, + 5374 ] }, { - "teal": 5708, + "teal": 5705, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5377, - 5378, - 5379 + 5375, + 5376, + 5377 ] }, { - "teal": 5709, + "teal": 5706, "source": "examples/reti/validatorRegistry.algo.ts:1428", "pc": [ - 5380 + 5378 ] }, { - "teal": 5710, + "teal": 5707, "source": "examples/reti/validatorRegistry.algo.ts:1427", "pc": [ - 5381 + 5379 ] }, { - "teal": 5713, + "teal": 5710, "source": "examples/reti/validatorRegistry.algo.ts:1426", "errorMessage": "specified nfd must be a segment of the nfd the validator specified as a requirement", "pc": [ - 5382 + 5380 ] }, { - "teal": 5716, + "teal": 5713, "source": "examples/reti/validatorRegistry.algo.ts:1364", "pc": [ - 5383 + 5381 ] }, { - "teal": 5728, + "teal": 5725, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5384, - 5385, - 5386 + 5382, + 5383, + 5384 ] }, { - "teal": 5731, + "teal": 5728, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5387 + 5385 ] }, { - "teal": 5735, + "teal": 5732, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5388, - 5389 + 5386, + 5387 ] }, { - "teal": 5736, + "teal": 5733, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ + 5388, + 5389, 5390, 5391, 5392, 5393, 5394, - 5395, - 5396, - 5397 + 5395 ] }, { - "teal": 5737, + "teal": 5734, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5398 + 5396 ] }, { - "teal": 5740, + "teal": 5737, "source": "examples/reti/validatorRegistry.algo.ts:1445", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppID).globalState('i.name')", "pc": [ - 5399 + 5397 ] }, { - "teal": 5741, + "teal": 5738, "source": "examples/reti/validatorRegistry.algo.ts:1445", "pc": [ - 5400, - 5401 + 5398, + 5399 + ] + }, + { + "teal": 5746, + "source": "examples/reti/validatorRegistry.algo.ts:1447", + "pc": [ + 5400 ] }, { - "teal": 5749, + "teal": 5747, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ + 5401, 5402 ] }, { - "teal": 5750, + "teal": 5748, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ 5403, @@ -25478,15 +25478,15 @@ ] }, { - "teal": 5751, - "source": "examples/reti/validatorRegistry.algo.ts:1447", + "teal": 5752, + "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5405, 5406 ] }, { - "teal": 5755, + "teal": 5753, "source": "examples/reti/validatorRegistry.algo.ts:1448", "pc": [ 5407, @@ -25494,15 +25494,15 @@ ] }, { - "teal": 5756, - "source": "examples/reti/validatorRegistry.algo.ts:1448", + "teal": 5757, + "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5409, 5410 ] }, { - "teal": 5760, + "teal": 5758, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5411, @@ -25510,7 +25510,7 @@ ] }, { - "teal": 5761, + "teal": 5759, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5413, @@ -25518,7 +25518,7 @@ ] }, { - "teal": 5762, + "teal": 5760, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5415, @@ -25526,7 +25526,7 @@ ] }, { - "teal": 5763, + "teal": 5761, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ 5417, @@ -25534,30 +25534,30 @@ ] }, { - "teal": 5764, + "teal": 5762, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ - 5419, - 5420 + 5419 ] }, { - "teal": 5765, + "teal": 5763, "source": "examples/reti/validatorRegistry.algo.ts:1449", "pc": [ + 5420, 5421 ] }, { - "teal": 5766, - "source": "examples/reti/validatorRegistry.algo.ts:1449", + "teal": 5767, + "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5422, 5423 ] }, { - "teal": 5770, + "teal": 5768, "source": "examples/reti/validatorRegistry.algo.ts:1450", "pc": [ 5424, @@ -25566,16 +25566,16 @@ }, { "teal": 5771, - "source": "examples/reti/validatorRegistry.algo.ts:1450", + "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ - 5426, - 5427 + 5426 ] }, { - "teal": 5774, + "teal": 5772, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ + 5427, 5428 ] }, @@ -25583,94 +25583,94 @@ "teal": 5775, "source": "examples/reti/validatorRegistry.algo.ts:1447", "pc": [ - 5429, - 5430 + 5429 ] }, { - "teal": 5778, - "source": "examples/reti/validatorRegistry.algo.ts:1447", + "teal": 5779, + "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ + 5430, 5431 ] }, { - "teal": 5782, + "teal": 5780, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5432, - 5433 + 5432 ] }, { - "teal": 5783, + "teal": 5781, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5434 + 5433 ] }, { - "teal": 5784, + "teal": 5782, "source": "examples/reti/validatorRegistry.algo.ts:1452", "pc": [ - 5435 + 5434 ] }, { "teal": 5785, - "source": "examples/reti/validatorRegistry.algo.ts:1452", + "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ + 5435, 5436 ] }, { - "teal": 5788, + "teal": 5786, "source": "examples/reti/validatorRegistry.algo.ts:1443", "pc": [ - 5437, - 5438 + 5437 ] }, { - "teal": 5789, - "source": "examples/reti/validatorRegistry.algo.ts:1443", + "teal": 5797, + "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5439 + 5438, + 5439, + 5440 ] }, { "teal": 5800, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5440, - 5441, - 5442 + 5441 ] }, { - "teal": 5803, + "teal": 5801, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ + 5442, 5443 ] }, { - "teal": 5804, - "source": "examples/reti/validatorRegistry.algo.ts:1463", + "teal": 5808, + "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5444, - 5445 + 5444 ] }, { - "teal": 5811, + "teal": 5809, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ + 5445, 5446 ] }, { - "teal": 5812, + "teal": 5810, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ 5447, @@ -25678,15 +25678,15 @@ ] }, { - "teal": 5813, - "source": "examples/reti/validatorRegistry.algo.ts:1464", + "teal": 5814, + "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5449, 5450 ] }, { - "teal": 5817, + "teal": 5815, "source": "examples/reti/validatorRegistry.algo.ts:1465", "pc": [ 5451, @@ -25694,17 +25694,11 @@ ] }, { - "teal": 5818, - "source": "examples/reti/validatorRegistry.algo.ts:1465", - "pc": [ - 5453, - 5454 - ] - }, - { - "teal": 5822, + "teal": 5819, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ + 5453, + 5454, 5455, 5456, 5457, @@ -25717,23 +25711,23 @@ 5464, 5465, 5466, - 5467, - 5468, - 5469 + 5467 ] }, { - "teal": 5823, + "teal": 5820, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ - 5470, - 5471 + 5468, + 5469 ] }, { - "teal": 5824, + "teal": 5821, "source": "examples/reti/validatorRegistry.algo.ts:1466", "pc": [ + 5470, + 5471, 5472, 5473, 5474, @@ -25746,23 +25740,29 @@ 5481, 5482, 5483, - 5484, + 5484 + ] + }, + { + "teal": 5822, + "source": "examples/reti/validatorRegistry.algo.ts:1466", + "pc": [ 5485, 5486 ] }, { "teal": 5825, - "source": "examples/reti/validatorRegistry.algo.ts:1466", + "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5487, - 5488 + 5487 ] }, { - "teal": 5828, + "teal": 5826, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ + 5488, 5489 ] }, @@ -25770,19 +25770,19 @@ "teal": 5829, "source": "examples/reti/validatorRegistry.algo.ts:1464", "pc": [ - 5490, - 5491 + 5490 ] }, { - "teal": 5832, - "source": "examples/reti/validatorRegistry.algo.ts:1464", + "teal": 5833, + "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ + 5491, 5492 ] }, { - "teal": 5836, + "teal": 5834, "source": "examples/reti/validatorRegistry.algo.ts:1468", "pc": [ 5493, @@ -25790,22 +25790,22 @@ ] }, { - "teal": 5837, - "source": "examples/reti/validatorRegistry.algo.ts:1468", + "teal": 5838, + "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5495, - 5496 + 5495 ] }, { - "teal": 5841, + "teal": 5839, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ + 5496, 5497 ] }, { - "teal": 5842, + "teal": 5844, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5498, @@ -25813,7 +25813,7 @@ ] }, { - "teal": 5847, + "teal": 5845, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5500, @@ -25821,38 +25821,38 @@ ] }, { - "teal": 5848, + "teal": 5846, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5502, - 5503 + 5502 ] }, { - "teal": 5849, + "teal": 5847, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5504 + 5503 ] }, { - "teal": 5850, + "teal": 5848, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5505 + 5504, + 5505, + 5506 ] }, { - "teal": 5851, - "source": "examples/reti/validatorRegistry.algo.ts:1469", + "teal": 5852, + "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ - 5506, 5507, 5508 ] }, { - "teal": 5855, + "teal": 5853, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5509, @@ -25860,7 +25860,7 @@ ] }, { - "teal": 5856, + "teal": 5854, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ 5511, @@ -25868,30 +25868,30 @@ ] }, { - "teal": 5857, + "teal": 5855, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ - 5513, - 5514 + 5513 ] }, { - "teal": 5858, + "teal": 5856, "source": "examples/reti/validatorRegistry.algo.ts:1470", "pc": [ + 5514, 5515 ] }, { - "teal": 5859, - "source": "examples/reti/validatorRegistry.algo.ts:1470", + "teal": 5861, + "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5516, 5517 ] }, { - "teal": 5864, + "teal": 5862, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5518, @@ -25899,38 +25899,38 @@ ] }, { - "teal": 5865, + "teal": 5863, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5520, - 5521 + 5520 ] }, { - "teal": 5866, + "teal": 5864, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5522 + 5521 ] }, { - "teal": 5867, + "teal": 5865, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5523 + 5522, + 5523, + 5524 ] }, { - "teal": 5868, + "teal": 5866, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5524, 5525, 5526 ] }, { - "teal": 5869, + "teal": 5867, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ 5527, @@ -25938,54 +25938,54 @@ ] }, { - "teal": 5870, + "teal": 5868, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5529, - 5530 + 5529 ] }, { - "teal": 5871, + "teal": 5869, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5531 + 5530 ] }, { "teal": 5872, "source": "examples/reti/validatorRegistry.algo.ts:1471", "pc": [ - 5532 + 5531, + 5532, + 5533 ] }, { - "teal": 5875, - "source": "examples/reti/validatorRegistry.algo.ts:1471", + "teal": 5877, + "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ - 5533, - 5534, - 5535 + 5534 ] }, { - "teal": 5880, + "teal": 5878, "source": "examples/reti/validatorRegistry.algo.ts:1472", "pc": [ - 5536 + 5535, + 5536, + 5537 ] }, { - "teal": 5881, - "source": "examples/reti/validatorRegistry.algo.ts:1472", + "teal": 5885, + "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5537, 5538, 5539 ] }, { - "teal": 5888, + "teal": 5886, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5540, @@ -25993,41 +25993,41 @@ ] }, { - "teal": 5889, + "teal": 5887, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ - 5542, - 5543 + 5542 ] }, { - "teal": 5890, + "teal": 5888, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ + 5543, 5544 ] }, { - "teal": 5891, + "teal": 5889, "source": "examples/reti/validatorRegistry.algo.ts:1469", "pc": [ 5545, - 5546 + 5546, + 5547 ] }, { - "teal": 5892, - "source": "examples/reti/validatorRegistry.algo.ts:1469", + "teal": 5894, + "source": "examples/reti/validatorRegistry.algo.ts:1475", "pc": [ - 5547, - 5548, - 5549 + 5548 ] }, { - "teal": 5897, - "source": "examples/reti/validatorRegistry.algo.ts:1475", + "teal": 5898, + "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ + 5549, 5550 ] }, @@ -26040,55 +26040,55 @@ ] }, { - "teal": 5904, + "teal": 5902, "source": "examples/reti/validatorRegistry.algo.ts:1463", "pc": [ - 5553, - 5554 + 5553 ] }, { - "teal": 5905, - "source": "examples/reti/validatorRegistry.algo.ts:1463", + "teal": 5910, + "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5555 + 5554, + 5555, + 5556 ] }, { "teal": 5913, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5556, - 5557, - 5558 + 5557 ] }, { - "teal": 5916, - "source": "examples/reti/validatorRegistry.algo.ts:1483", + "teal": 5917, + "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ - 5559 + 5558, + 5559, + 5560 ] }, { - "teal": 5920, + "teal": 5918, "source": "examples/reti/validatorRegistry.algo.ts:1484", "pc": [ - 5560, 5561, 5562 ] }, { - "teal": 5921, - "source": "examples/reti/validatorRegistry.algo.ts:1484", + "teal": 5922, + "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5563, 5564 ] }, { - "teal": 5925, + "teal": 5923, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ 5565, @@ -26096,302 +26096,302 @@ ] }, { - "teal": 5926, + "teal": 5924, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5567, - 5568 + 5567 ] }, { - "teal": 5927, + "teal": 5925, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5569 + 5568 ] }, { - "teal": 5928, + "teal": 5926, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ + 5569, 5570 ] }, { - "teal": 5929, + "teal": 5927, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5571, - 5572 + 5571 ] }, { - "teal": 5930, + "teal": 5928, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5573 + 5572 ] }, { - "teal": 5931, + "teal": 5929, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5574 + 5573 ] }, { - "teal": 5932, + "teal": 5930, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5575 + 5574 ] }, { - "teal": 5933, + "teal": 5931, "source": "examples/reti/validatorRegistry.algo.ts:1486", "pc": [ - 5576 + 5575 ] }, { "teal": 5934, "source": "examples/reti/validatorRegistry.algo.ts:1486", + "errorMessage": "wideRatio failed", "pc": [ - 5577 + 5576 ] }, { "teal": 5937, - "source": "examples/reti/validatorRegistry.algo.ts:1486", - "errorMessage": "wideRatio failed", + "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ + 5577, 5578 ] }, { - "teal": 5940, + "teal": 5938, "source": "examples/reti/validatorRegistry.algo.ts:1483", "pc": [ - 5579, - 5580 + 5579 ] }, { - "teal": 5941, - "source": "examples/reti/validatorRegistry.algo.ts:1483", + "teal": 5945, + "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5581 + 5580, + 5581, + 5582 ] }, { "teal": 5948, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5582, - 5583, - 5584 + 5583 ] }, { - "teal": 5951, - "source": "examples/reti/validatorRegistry.algo.ts:1493", + "teal": 5952, + "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ - 5585 + 5584, + 5585, + 5586 ] }, { - "teal": 5955, + "teal": 5953, "source": "examples/reti/validatorRegistry.algo.ts:1494", "pc": [ - 5586, 5587, 5588 ] }, { - "teal": 5956, - "source": "examples/reti/validatorRegistry.algo.ts:1494", + "teal": 5957, + "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5589, 5590 ] }, { - "teal": 5960, + "teal": 5958, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ 5591, - 5592 + 5592, + 5593 ] }, { - "teal": 5961, + "teal": 5959, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5593, - 5594, - 5595 + 5594 ] }, { - "teal": 5962, + "teal": 5960, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5596 + 5595 ] }, { - "teal": 5963, + "teal": 5961, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ + 5596, 5597 ] }, { - "teal": 5964, + "teal": 5962, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5598, - 5599 + 5598 ] }, { - "teal": 5965, + "teal": 5963, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5600 + 5599 ] }, { - "teal": 5966, + "teal": 5964, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5601 + 5600 ] }, { - "teal": 5967, + "teal": 5965, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5602 + 5601 ] }, { - "teal": 5968, + "teal": 5966, "source": "examples/reti/validatorRegistry.algo.ts:1496", "pc": [ - 5603 + 5602 ] }, { "teal": 5969, "source": "examples/reti/validatorRegistry.algo.ts:1496", - "pc": [ - 5604 - ] - }, - { - "teal": 5972, - "source": "examples/reti/validatorRegistry.algo.ts:1496", "errorMessage": "wideRatio failed", "pc": [ - 5605 + 5603 ] }, { - "teal": 5975, + "teal": 5972, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5606, - 5607 + 5604, + 5605 ] }, { - "teal": 5976, + "teal": 5973, "source": "examples/reti/validatorRegistry.algo.ts:1493", "pc": [ - 5608 + 5606 ] }, { - "teal": 5982, + "teal": 5979, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ - 5609, - 5610, - 5611 + 5607, + 5608, + 5609 ] }, { - "teal": 5986, + "teal": 5983, "source": "examples/reti/validatorRegistry.algo.ts:1504", "pc": [ + 5610, + 5611, 5612, 5613, 5614, 5615, 5616, - 5617, - 5618, - 5619 + 5617 ] }, { - "teal": 5987, + "teal": 5984, "source": "examples/reti/validatorRegistry.algo.ts:1502", "pc": [ - 5620 + 5618 ] }, { - "teal": 5991, + "teal": 5988, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ - 5621, - 5622, - 5623 + 5619, + 5620, + 5621 ] }, { - "teal": 5995, + "teal": 5992, "source": "examples/reti/validatorRegistry.algo.ts:1509", "pc": [ + 5622, + 5623, 5624, 5625, 5626, 5627, 5628, 5629, - 5630, - 5631, - 5632 + 5630 ] }, { - "teal": 5996, + "teal": 5993, "source": "examples/reti/validatorRegistry.algo.ts:1507", "pc": [ - 5633 + 5631 ] }, { - "teal": 6000, + "teal": 5997, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ - 5634, - 5635, - 5636 + 5632, + 5633, + 5634 ] }, { - "teal": 6003, + "teal": 6000, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ + 5635 + ] + }, + { + "teal": 6004, + "source": "examples/reti/validatorRegistry.algo.ts:1521", + "pc": [ + 5636, 5637 ] }, { - "teal": 6007, + "teal": 6005, "source": "examples/reti/validatorRegistry.algo.ts:1521", "pc": [ 5638, @@ -26399,15 +26399,15 @@ ] }, { - "teal": 6008, - "source": "examples/reti/validatorRegistry.algo.ts:1521", + "teal": 6009, + "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5640, 5641 ] }, { - "teal": 6012, + "teal": 6010, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5642, @@ -26415,7 +26415,7 @@ ] }, { - "teal": 6013, + "teal": 6011, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ 5644, @@ -26423,37 +26423,37 @@ ] }, { - "teal": 6014, + "teal": 6012, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ - 5646, - 5647 + 5646 ] }, { - "teal": 6015, + "teal": 6013, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ - 5648 + 5647 ] }, { - "teal": 6016, + "teal": 6014, "source": "examples/reti/validatorRegistry.algo.ts:1522", "pc": [ + 5648, 5649 ] }, { - "teal": 6017, - "source": "examples/reti/validatorRegistry.algo.ts:1522", + "teal": 6018, + "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5650, 5651 ] }, { - "teal": 6021, + "teal": 6019, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5652, @@ -26461,7 +26461,7 @@ ] }, { - "teal": 6022, + "teal": 6020, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ 5654, @@ -26469,37 +26469,37 @@ ] }, { - "teal": 6023, + "teal": 6021, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ - 5656, - 5657 + 5656 ] }, { - "teal": 6024, + "teal": 6022, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ - 5658 + 5657 ] }, { - "teal": 6025, + "teal": 6023, "source": "examples/reti/validatorRegistry.algo.ts:1523", "pc": [ + 5658, 5659 ] }, { - "teal": 6026, - "source": "examples/reti/validatorRegistry.algo.ts:1523", + "teal": 6027, + "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5660, 5661 ] }, { - "teal": 6030, + "teal": 6028, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5662, @@ -26507,7 +26507,7 @@ ] }, { - "teal": 6031, + "teal": 6029, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ 5664, @@ -26515,37 +26515,37 @@ ] }, { - "teal": 6032, + "teal": 6030, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ - 5666, - 5667 + 5666 ] }, { - "teal": 6033, + "teal": 6031, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ - 5668 + 5667 ] }, { - "teal": 6034, + "teal": 6032, "source": "examples/reti/validatorRegistry.algo.ts:1524", "pc": [ + 5668, 5669 ] }, { - "teal": 6035, - "source": "examples/reti/validatorRegistry.algo.ts:1524", + "teal": 6036, + "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5670, 5671 ] }, { - "teal": 6039, + "teal": 6037, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5672, @@ -26553,7 +26553,7 @@ ] }, { - "teal": 6040, + "teal": 6038, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ 5674, @@ -26561,37 +26561,37 @@ ] }, { - "teal": 6041, + "teal": 6039, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ - 5676, - 5677 + 5676 ] }, { - "teal": 6042, + "teal": 6040, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ - 5678 + 5677 ] }, { - "teal": 6043, + "teal": 6041, "source": "examples/reti/validatorRegistry.algo.ts:1525", "pc": [ + 5678, 5679 ] }, { - "teal": 6044, - "source": "examples/reti/validatorRegistry.algo.ts:1525", + "teal": 6045, + "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5680, 5681 ] }, { - "teal": 6048, + "teal": 6046, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5682, @@ -26599,7 +26599,7 @@ ] }, { - "teal": 6049, + "teal": 6047, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ 5684, @@ -26607,37 +26607,37 @@ ] }, { - "teal": 6050, + "teal": 6048, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ - 5686, - 5687 + 5686 ] }, { - "teal": 6051, + "teal": 6049, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ - 5688 + 5687 ] }, { - "teal": 6052, + "teal": 6050, "source": "examples/reti/validatorRegistry.algo.ts:1526", "pc": [ + 5688, 5689 ] }, { - "teal": 6053, - "source": "examples/reti/validatorRegistry.algo.ts:1526", + "teal": 6054, + "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5690, 5691 ] }, { - "teal": 6057, + "teal": 6055, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5692, @@ -26645,7 +26645,7 @@ ] }, { - "teal": 6058, + "teal": 6056, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ 5694, @@ -26653,37 +26653,37 @@ ] }, { - "teal": 6059, + "teal": 6057, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ - 5696, - 5697 + 5696 ] }, { - "teal": 6060, + "teal": 6058, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ - 5698 + 5697 ] }, { - "teal": 6061, + "teal": 6059, "source": "examples/reti/validatorRegistry.algo.ts:1527", "pc": [ + 5698, 5699 ] }, { - "teal": 6062, - "source": "examples/reti/validatorRegistry.algo.ts:1527", + "teal": 6063, + "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5700, 5701 ] }, { - "teal": 6066, + "teal": 6064, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5702, @@ -26691,7 +26691,7 @@ ] }, { - "teal": 6067, + "teal": 6065, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ 5704, @@ -26699,30 +26699,30 @@ ] }, { - "teal": 6068, + "teal": 6066, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ - 5706, - 5707 + 5706 ] }, { - "teal": 6069, + "teal": 6067, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ - 5708 + 5707 ] }, { - "teal": 6070, + "teal": 6068, "source": "examples/reti/validatorRegistry.algo.ts:1528", "pc": [ + 5708, 5709 ] }, { - "teal": 6071, - "source": "examples/reti/validatorRegistry.algo.ts:1528", + "teal": 6072, + "source": "examples/reti/validatorRegistry.algo.ts:1529", "pc": [ 5710, 5711 @@ -26730,531 +26730,525 @@ }, { "teal": 6075, - "source": "examples/reti/validatorRegistry.algo.ts:1529", + "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ 5712, 5713 ] }, { - "teal": 6078, + "teal": 6076, "source": "examples/reti/validatorRegistry.algo.ts:1512", "pc": [ - 5714, - 5715 + 5714 ] }, { - "teal": 6079, - "source": "examples/reti/validatorRegistry.algo.ts:1512", + "teal": 6080, + "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ - 5716 + 5715, + 5716, + 5717 ] }, { - "teal": 6083, - "source": "examples/reti/validatorRegistry.algo.ts:1532", + "teal": 6084, + "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5717, 5718, - 5719 + 5719, + 5720 ] }, { - "teal": 6087, + "teal": 6085, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5720, 5721, 5722 ] }, { - "teal": 6088, + "teal": 6086, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ 5723, - 5724 - ] - }, - { - "teal": 6089, - "source": "examples/reti/validatorRegistry.algo.ts:1536", - "pc": [ - 5725, - 5726, - 5727 + 5724, + 5725 ] }, { - "teal": 6090, + "teal": 6087, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5728 + 5726 ] }, { - "teal": 6091, + "teal": 6088, "source": "examples/reti/validatorRegistry.algo.ts:1536", "pc": [ - 5729 + 5727 ] }, { - "teal": 6092, + "teal": 6089, "source": "examples/reti/validatorRegistry.algo.ts:1532", "pc": [ - 5730 + 5728 ] }, { - "teal": 6095, + "teal": 6092, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5729, + 5730, 5731, 5732, 5733, - 5734, - 5735, - 5736 + 5734 ] }, { - "teal": 6096, + "teal": 6093, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 5737, - 5738, - 5739 + 5735, + 5736, + 5737 ] }, { - "teal": 6097, + "teal": 6094, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5738, + 5739, 5740, - 5741, - 5742, - 5743 + 5741 ] }, { - "teal": 6100, + "teal": 6097, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 5744 + 5742 ] }, { - "teal": 6103, + "teal": 6100, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5743, + 5744, 5745, 5746, 5747, - 5748, - 5749, - 5750 + 5748 ] }, { - "teal": 6104, + "teal": 6101, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5749, + 5750, 5751, 5752, 5753, - 5754, - 5755, - 5756 + 5754 ] }, { - "teal": 6105, + "teal": 6102, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5755, + 5756, 5757, 5758, 5759, - 5760, - 5761, - 5762 + 5760 ] }, { - "teal": 6106, + "teal": 6103, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5761, + 5762, 5763, 5764, 5765, - 5766, - 5767, - 5768 + 5766 ] }, { - "teal": 6107, + "teal": 6104, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5767, + 5768, 5769, 5770, 5771, - 5772, - 5773, - 5774 + 5772 ] }, { - "teal": 6108, + "teal": 6105, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5773, + 5774, 5775, 5776, 5777, - 5778, - 5779, - 5780 + 5778 ] }, { - "teal": 6109, + "teal": 6106, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5779, + 5780, 5781, 5782, 5783, - 5784, - 5785, - 5786 + 5784 ] }, { - "teal": 6110, + "teal": 6107, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5785, + 5786, 5787, 5788, 5789, - 5790, - 5791, - 5792 + 5790 ] }, { - "teal": 6111, + "teal": 6108, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5791, + 5792, 5793, 5794, 5795, - 5796, - 5797, - 5798 + 5796 ] }, { - "teal": 6112, + "teal": 6109, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5797, + 5798, 5799, 5800, 5801, - 5802, - 5803, - 5804 + 5802 ] }, { - "teal": 6113, + "teal": 6110, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5803, + 5804, 5805, 5806, 5807, - 5808, - 5809, - 5810 + 5808 ] }, { - "teal": 6114, + "teal": 6111, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5809, + 5810, 5811, 5812, 5813, - 5814, - 5815, - 5816 + 5814 ] }, { - "teal": 6115, + "teal": 6112, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5815, + 5816, 5817, 5818, 5819, - 5820, - 5821, - 5822 + 5820 ] }, { - "teal": 6116, + "teal": 6113, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5821, + 5822, 5823, 5824, 5825, - 5826, - 5827, - 5828 + 5826 ] }, { - "teal": 6117, + "teal": 6114, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5827, + 5828, 5829, 5830, 5831, - 5832, - 5833, - 5834 + 5832 ] }, { - "teal": 6118, + "teal": 6115, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5833, + 5834, 5835, 5836, 5837, - 5838, - 5839, - 5840 + 5838 ] }, { - "teal": 6119, + "teal": 6116, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5839, + 5840, 5841, 5842, 5843, - 5844, - 5845, - 5846 + 5844 ] }, { - "teal": 6120, + "teal": 6117, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5845, + 5846, 5847, 5848, 5849, - 5850, - 5851, - 5852 + 5850 ] }, { - "teal": 6121, + "teal": 6118, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5851, + 5852, 5853, 5854, 5855, - 5856, - 5857, - 5858 + 5856 ] }, { - "teal": 6122, + "teal": 6119, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5857, + 5858, 5859, 5860, 5861, - 5862, - 5863, - 5864 + 5862 ] }, { - "teal": 6123, + "teal": 6120, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5863, + 5864, 5865, 5866, 5867, - 5868, - 5869, - 5870 + 5868 ] }, { - "teal": 6124, + "teal": 6121, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5869, + 5870, 5871, 5872, 5873, - 5874, - 5875, - 5876 + 5874 ] }, { - "teal": 6125, + "teal": 6122, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5875, + 5876, 5877, 5878, 5879, - 5880, - 5881, - 5882 + 5880 ] }, { - "teal": 6126, + "teal": 6123, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5881, + 5882, 5883, 5884, 5885, - 5886, - 5887, - 5888 + 5886 ] }, { - "teal": 6127, + "teal": 6124, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5887, + 5888, 5889, 5890, 5891, - 5892, - 5893, - 5894 + 5892 ] }, { - "teal": 6128, + "teal": 6125, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5893, + 5894, 5895, 5896, 5897, - 5898, - 5899, - 5900 + 5898 ] }, { - "teal": 6129, + "teal": 6126, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5899, + 5900, 5901, 5902, 5903, - 5904, - 5905, - 5906 + 5904 ] }, { - "teal": 6130, + "teal": 6127, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5905, + 5906, 5907, 5908, 5909, - 5910, - 5911, - 5912 + 5910 ] }, { - "teal": 6131, + "teal": 6128, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5911, + 5912, 5913, 5914, 5915, - 5916, - 5917, - 5918 + 5916 ] }, { - "teal": 6132, + "teal": 6129, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5917, + 5918, 5919, 5920, 5921, - 5922, - 5923, - 5924 + 5922 ] }, { - "teal": 6133, + "teal": 6130, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5923, + 5924, 5925, 5926, 5927, - 5928, - 5929, - 5930 + 5928 ] }, { - "teal": 6134, + "teal": 6131, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5929, + 5930, 5931, 5932, 5933, - 5934, - 5935, - 5936 + 5934 ] }, { - "teal": 6135, + "teal": 6132, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5935, + 5936, 5937, 5938, 5939, - 5940, - 5941, - 5942 + 5940 ] }, { - "teal": 6136, + "teal": 6133, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 5943, - 5944, - 5945 + 5941, + 5942, + 5943 ] }, { - "teal": 6137, + "teal": 6134, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 5944, + 5945, 5946, 5947, 5948, @@ -27320,56 +27314,54 @@ 6008, 6009, 6010, - 6011, - 6012, - 6013 + 6011 ] }, { - "teal": 6140, + "teal": 6137, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 6014 + 6012 ] }, { - "teal": 6143, + "teal": 6140, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 6013, + 6014, 6015, 6016, 6017, - 6018, - 6019, - 6020 + 6018 ] }, { - "teal": 6144, + "teal": 6141, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ - 6021, - 6022, - 6023 + 6019, + 6020, + 6021 ] }, { - "teal": 6145, + "teal": 6142, "source": "examples/reti/validatorRegistry.algo.ts:168", "pc": [ + 6022, + 6023, 6024, - 6025, - 6026, - 6027 + 6025 ] }, { - "teal": 6148, + "teal": 6145, "source": "examples/reti/validatorRegistry.algo.ts:168", "errorMessage": "this contract does not implement the given ABI method for call UpdateApplication", "pc": [ - 6028 + 6026 ] } ] \ No newline at end of file diff --git a/examples/simple/artifacts/Simple.approval.teal b/examples/simple/artifacts/Simple.approval.teal index 2ee4034f1..8d9f89e56 100644 --- a/examples/simple/artifacts/Simple.approval.teal +++ b/examples/simple/artifacts/Simple.approval.teal @@ -2,7 +2,7 @@ intcblock 32 1 256 bytecblock 0x636f756e746572 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0x151f7c75 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/simple/artifacts/Simple.arc32.json b/examples/simple/artifacts/Simple.arc32.json index e7157e4a0..13ee3a1cd 100644 --- a/examples/simple/artifacts/Simple.arc32.json +++ b/examples/simple/artifacts/Simple.arc32.json @@ -59,7 +59,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NgpieXRlY2Jsb2NrIDB4NjM2Zjc1NmU3NDY1NzIgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MTUxZjdjNzUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluY3IodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbmNyOgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbmNyKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluY3IKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluY3IoaTogdWludDY0KTogdm9pZAppbmNyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjExCgkvLyB0aGlzLmluY3JlbWVudENvdW50ZXIoaSkKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgoJcmV0c3ViCgovLyBkZWNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVjcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGVjcih1aW50NjQpdm9pZAoJY2FsbHN1YiBkZWNyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBkZWNyKGk6IHVpbnQ2NCk6IHZvaWQKZGVjcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxNQoJLy8gdGhpcy5jb3VudGVyLnZhbHVlID0gdGhpcy5jb3VudGVyLnZhbHVlIC0gaQoJYnl0ZWMgMCAvLyAgImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgktCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9hZGQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGFkZCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhZGQKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIGFkZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAxIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgphZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTkKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCXJldHN1YgoKLy8gc3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3ViOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzdWIgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgc3ViCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBzdWIgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMSAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdWIoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKc3ViOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gYSAtIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWItCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWZhYjg2MTAgLy8gbWV0aG9kICJpbmNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4MmUwYzVhNDcgLy8gbWV0aG9kICJkZWNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YWM5NzZlMDIgLy8gbWV0aG9kICJhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgwOTFiMzJhNyAvLyBtZXRob2QgInN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaW5jciAqYWJpX3JvdXRlX2RlY3IgKmFiaV9yb3V0ZV9hZGQgKmFiaV9yb3V0ZV9zdWIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NgpieXRlY2Jsb2NrIDB4NjM2Zjc1NmU3NDY1NzIgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MTUxZjdjNzUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluY3IodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbmNyOgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbmNyKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluY3IKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluY3IoaTogdWludDY0KTogdm9pZAppbmNyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjExCgkvLyB0aGlzLmluY3JlbWVudENvdW50ZXIoaSkKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgoJcmV0c3ViCgovLyBkZWNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVjcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGVjcih1aW50NjQpdm9pZAoJY2FsbHN1YiBkZWNyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBkZWNyKGk6IHVpbnQ2NCk6IHZvaWQKZGVjcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxNQoJLy8gdGhpcy5jb3VudGVyLnZhbHVlID0gdGhpcy5jb3VudGVyLnZhbHVlIC0gaQoJYnl0ZWMgMCAvLyAgImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgktCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9hZGQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGFkZCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhZGQKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIGFkZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAxIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgphZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTkKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCXJldHN1YgoKLy8gc3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3ViOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzdWIgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgc3ViCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBzdWIgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMSAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdWIoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKc3ViOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gYSAtIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWItCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWZhYjg2MTAgLy8gbWV0aG9kICJpbmNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4MmUwYzVhNDcgLy8gbWV0aG9kICJkZWNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YWM5NzZlMDIgLy8gbWV0aG9kICJhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgwOTFiMzJhNyAvLyBtZXRob2QgInN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaW5jciAqYWJpX3JvdXRlX2RlY3IgKmFiaV9yb3V0ZV9hZGQgKmFiaV9yb3V0ZV9zdWIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjcKLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKDEpCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2MzZmNzU2ZTc0NjU3MgppbnRjIDAgLy8gMQpjYWxsc3ViIGluY3JlbWVudENvdW50ZXIKaW50YyAwIC8vIDEKcmV0dXJuCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWI=" }, "contract": { diff --git a/examples/simple/artifacts/Simple.arc56_draft.json b/examples/simple/artifacts/Simple.arc56_draft.json index f868d03fc..ec4eb1e11 100644 --- a/examples/simple/artifacts/Simple.arc56_draft.json +++ b/examples/simple/artifacts/Simple.arc56_draft.json @@ -1210,7 +1210,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NgpieXRlY2Jsb2NrIDB4NjM2Zjc1NmU3NDY1NzIgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MTUxZjdjNzUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluY3IodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbmNyOgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbmNyKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluY3IKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluY3IoaTogdWludDY0KTogdm9pZAppbmNyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjExCgkvLyB0aGlzLmluY3JlbWVudENvdW50ZXIoaSkKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgoJcmV0c3ViCgovLyBkZWNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVjcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGVjcih1aW50NjQpdm9pZAoJY2FsbHN1YiBkZWNyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBkZWNyKGk6IHVpbnQ2NCk6IHZvaWQKZGVjcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxNQoJLy8gdGhpcy5jb3VudGVyLnZhbHVlID0gdGhpcy5jb3VudGVyLnZhbHVlIC0gaQoJYnl0ZWMgMCAvLyAgImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgktCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9hZGQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGFkZCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhZGQKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIGFkZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAxIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgphZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTkKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCXJldHN1YgoKLy8gc3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3ViOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzdWIgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgc3ViCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBzdWIgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMSAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdWIoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKc3ViOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gYSAtIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWItCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWZhYjg2MTAgLy8gbWV0aG9kICJpbmNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4MmUwYzVhNDcgLy8gbWV0aG9kICJkZWNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YWM5NzZlMDIgLy8gbWV0aG9kICJhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgwOTFiMzJhNyAvLyBtZXRob2QgInN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaW5jciAqYWJpX3JvdXRlX2RlY3IgKmFiaV9yb3V0ZV9hZGQgKmFiaV9yb3V0ZV9zdWIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAzMiAxIDI1NgpieXRlY2Jsb2NrIDB4NjM2Zjc1NmU3NDY1NzIgMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGIDB4MTUxZjdjNzUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGluY3IodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9pbmNyOgoJLy8gaTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBpbmNyKHVpbnQ2NCl2b2lkCgljYWxsc3ViIGluY3IKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGluY3IoaTogdWludDY0KTogdm9pZAppbmNyOgoJcHJvdG8gMSAwCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjExCgkvLyB0aGlzLmluY3JlbWVudENvdW50ZXIoaSkKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWNhbGxzdWIgaW5jcmVtZW50Q291bnRlcgoJcmV0c3ViCgovLyBkZWNyKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfZGVjcjoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZGVjcih1aW50NjQpdm9pZAoJY2FsbHN1YiBkZWNyCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBkZWNyKGk6IHVpbnQ2NCk6IHZvaWQKZGVjcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czoxNQoJLy8gdGhpcy5jb3VudGVyLnZhbHVlID0gdGhpcy5jb3VudGVyLnZhbHVlIC0gaQoJYnl0ZWMgMCAvLyAgImNvdW50ZXIiCglkdXAKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CgktCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9hZGQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGFkZCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgYWRkIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZCh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBhZGQKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIGFkZCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAxIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMCAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFkZChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgphZGQ6Cglwcm90byAyIDEKCgkvLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MTkKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCXJldHN1YgoKLy8gc3ViKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3ViOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzdWIgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHN1YiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdWIodWludDI1Nix1aW50MjU2KXVpbnQyNTYKCWNhbGxzdWIgc3ViCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBzdWIgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMSAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDAgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBzdWIoYTogdWludDI1NiwgYjogdWludDI1Nik6IHVpbnQyNTYKc3ViOgoJcHJvdG8gMiAxCgoJLy8gZXhhbXBsZXMvc2ltcGxlL3NpbXBsZS5hbGdvLnRzOjIzCgkvLyByZXR1cm4gYSAtIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWItCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWZhYjg2MTAgLy8gbWV0aG9kICJpbmNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4MmUwYzVhNDcgLy8gbWV0aG9kICJkZWNyKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4YWM5NzZlMDIgLy8gbWV0aG9kICJhZGQodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgwOTFiMzJhNyAvLyBtZXRob2QgInN1Yih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaW5jciAqYWJpX3JvdXRlX2RlY3IgKmFiaV9yb3V0ZV9hZGQgKmFiaV9yb3V0ZV9zdWIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBleGFtcGxlcy9zaW1wbGUvc2ltcGxlLmFsZ28udHM6MjcKLy8gdGhpcy5pbmNyZW1lbnRDb3VudGVyKDEpCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2MzZmNzU2ZTc0NjU3MgppbnRjIDAgLy8gMQpjYWxsc3ViIGluY3JlbWVudENvdW50ZXIKaW50YyAwIC8vIDEKcmV0dXJuCgovLyBpbmNyZW1lbnRDb3VudGVyKGk6IHVpbnQ2NCk6IHZvaWQKaW5jcmVtZW50Q291bnRlcjoKCXByb3RvIDEgMAoKCS8vIGV4YW1wbGVzL3NpbXBsZS9zaW1wbGUuYWxnby50czo3CgkvLyB0aGlzLmNvdW50ZXIudmFsdWUgPSB0aGlzLmNvdW50ZXIudmFsdWUgKyBpCglieXRlYyAwIC8vICAiY291bnRlciIKCWR1cAoJYXBwX2dsb2JhbF9nZXQKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCSsKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWI=" }, "byteCode": { diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal index 22bd57e31..b8375c4f0 100644 --- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal +++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 2 32 bytecblock 0x 0x0004 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json index aef20a5cc..3e0434232 100644 --- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json +++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc32.json @@ -59,7 +59,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4IDB4MDAwNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3Q6CgkvLyBjb21wYW55OiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZAoJY2FsbHN1YiBzZXRNeUNvbnRhY3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNldE15Q29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZyk6IHZvaWQKc2V0TXlDb250YWN0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTIKCS8vIGNvbnRhY3Q6IENvbnRhY3QgPSB7IG5hbWU6IG5hbWUsIGNvbXBhbnk6IGNvbXBhbnkgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGNvbXBhbnk6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBjb250YWN0OiBDb250YWN0CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE0CgkvLyB0aGlzLm15Q29udGFjdC52YWx1ZSA9IGNvbnRhY3QKCXB1c2hieXRlcyAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBjb21wYW55OiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gY29udGFjdDogQ29udGFjdAoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyMAoJLy8gdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZSA9IGNvbnRhY3QKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYm94X3B1dAoJcmV0c3ViCgovLyB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVDb250YWN0RmllbGQ6CgkvLyBhZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJlc3MpIGZvciB1cGRhdGVDb250YWN0RmllbGQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbHVlOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gZmllbGQ6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUNvbnRhY3RGaWVsZChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB1cGRhdGVDb250YWN0RmllbGQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUNvbnRhY3RGaWVsZChmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzKTogdm9pZAp1cGRhdGVDb250YWN0RmllbGQ6Cglwcm90byAzIDAKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI0CgkvLyBmaWVsZCA9PT0gJ25hbWUnCglmcmFtZV9kaWcgLTEgLy8gZmllbGQ6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NmU2MTZkNjUgLy8gIm5hbWUiCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI1CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMiAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCXB1c2hieXRlcyAweDYzNmY2ZDcwNjE2ZTc5IC8vICJjb21wYW55IgoJPT0KCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjcKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUuY29tcGFueSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMiAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgZmllbGQKCWVycgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlDb250YWN0TmFtZToKCS8vIGFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcmVzcykgZm9yIHZlcmlmeUNvbnRhY3ROYW1lIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkCgljYWxsc3ViIHZlcmlmeUNvbnRhY3ROYW1lCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlDb250YWN0TmFtZShuYW1lOiBzdHJpbmcsIGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkCnZlcmlmeUNvbnRhY3ROYW1lOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZS5uYW1lID09PSBuYW1lKQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkyY2NmOTliIC8vIG1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweDQ5NWFjYmY3IC8vIG1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweGZhNGU4ZjkzIC8vIG1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4OGEzMGI4N2UgLy8gbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4IDB4MDAwNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3Q6CgkvLyBjb21wYW55OiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZAoJY2FsbHN1YiBzZXRNeUNvbnRhY3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNldE15Q29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZyk6IHZvaWQKc2V0TXlDb250YWN0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTIKCS8vIGNvbnRhY3Q6IENvbnRhY3QgPSB7IG5hbWU6IG5hbWUsIGNvbXBhbnk6IGNvbXBhbnkgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGNvbXBhbnk6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBjb250YWN0OiBDb250YWN0CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE0CgkvLyB0aGlzLm15Q29udGFjdC52YWx1ZSA9IGNvbnRhY3QKCXB1c2hieXRlcyAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBjb21wYW55OiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gY29udGFjdDogQ29udGFjdAoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyMAoJLy8gdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZSA9IGNvbnRhY3QKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYm94X3B1dAoJcmV0c3ViCgovLyB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVDb250YWN0RmllbGQ6CgkvLyBhZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJlc3MpIGZvciB1cGRhdGVDb250YWN0RmllbGQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbHVlOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gZmllbGQ6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUNvbnRhY3RGaWVsZChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB1cGRhdGVDb250YWN0RmllbGQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUNvbnRhY3RGaWVsZChmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzKTogdm9pZAp1cGRhdGVDb250YWN0RmllbGQ6Cglwcm90byAzIDAKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI0CgkvLyBmaWVsZCA9PT0gJ25hbWUnCglmcmFtZV9kaWcgLTEgLy8gZmllbGQ6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NmU2MTZkNjUgLy8gIm5hbWUiCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI1CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMiAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCXB1c2hieXRlcyAweDYzNmY2ZDcwNjE2ZTc5IC8vICJjb21wYW55IgoJPT0KCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjcKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUuY29tcGFueSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMiAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgZmllbGQKCWVycgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlDb250YWN0TmFtZToKCS8vIGFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcmVzcykgZm9yIHZlcmlmeUNvbnRhY3ROYW1lIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkCgljYWxsc3ViIHZlcmlmeUNvbnRhY3ROYW1lCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlDb250YWN0TmFtZShuYW1lOiBzdHJpbmcsIGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkCnZlcmlmeUNvbnRhY3ROYW1lOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZS5uYW1lID09PSBuYW1lKQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkyY2NmOTliIC8vIG1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweDQ5NWFjYmY3IC8vIG1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweGZhNGU4ZjkzIC8vIG1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4OGEzMGI4N2UgLy8gbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json index a7ba6723b..c0e56242b 100644 --- a/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json +++ b/examples/tuple_in_box/tealscript_artifacts/ContactsApp.arc56_draft.json @@ -2874,7 +2874,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4IDB4MDAwNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3Q6CgkvLyBjb21wYW55OiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZAoJY2FsbHN1YiBzZXRNeUNvbnRhY3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNldE15Q29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZyk6IHZvaWQKc2V0TXlDb250YWN0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTIKCS8vIGNvbnRhY3Q6IENvbnRhY3QgPSB7IG5hbWU6IG5hbWUsIGNvbXBhbnk6IGNvbXBhbnkgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGNvbXBhbnk6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBjb250YWN0OiBDb250YWN0CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE0CgkvLyB0aGlzLm15Q29udGFjdC52YWx1ZSA9IGNvbnRhY3QKCXB1c2hieXRlcyAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBjb21wYW55OiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gY29udGFjdDogQ29udGFjdAoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyMAoJLy8gdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZSA9IGNvbnRhY3QKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYm94X3B1dAoJcmV0c3ViCgovLyB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVDb250YWN0RmllbGQ6CgkvLyBhZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJlc3MpIGZvciB1cGRhdGVDb250YWN0RmllbGQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbHVlOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gZmllbGQ6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUNvbnRhY3RGaWVsZChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB1cGRhdGVDb250YWN0RmllbGQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUNvbnRhY3RGaWVsZChmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzKTogdm9pZAp1cGRhdGVDb250YWN0RmllbGQ6Cglwcm90byAzIDAKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI0CgkvLyBmaWVsZCA9PT0gJ25hbWUnCglmcmFtZV9kaWcgLTEgLy8gZmllbGQ6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NmU2MTZkNjUgLy8gIm5hbWUiCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI1CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMiAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCXB1c2hieXRlcyAweDYzNmY2ZDcwNjE2ZTc5IC8vICJjb21wYW55IgoJPT0KCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjcKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUuY29tcGFueSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMiAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgZmllbGQKCWVycgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlDb250YWN0TmFtZToKCS8vIGFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcmVzcykgZm9yIHZlcmlmeUNvbnRhY3ROYW1lIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkCgljYWxsc3ViIHZlcmlmeUNvbnRhY3ROYW1lCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlDb250YWN0TmFtZShuYW1lOiBzdHJpbmcsIGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkCnZlcmlmeUNvbnRhY3ROYW1lOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZS5uYW1lID09PSBuYW1lKQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkyY2NmOTliIC8vIG1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweDQ5NWFjYmY3IC8vIG1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweGZhNGU4ZjkzIC8vIG1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4OGEzMGI4N2UgLy8gbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4IDB4MDAwNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNldE15Q29udGFjdChzdHJpbmcsc3RyaW5nKXZvaWQKKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3Q6CgkvLyBjb21wYW55OiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gbmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZAoJY2FsbHN1YiBzZXRNeUNvbnRhY3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNldE15Q29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZyk6IHZvaWQKc2V0TXlDb250YWN0OgoJcHJvdG8gMiAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTIKCS8vIGNvbnRhY3Q6IENvbnRhY3QgPSB7IG5hbWU6IG5hbWUsIGNvbXBhbnk6IGNvbXBhbnkgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCWJ5dGVjIDEgLy8gIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMSAvLyBuYW1lOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIGNvbXBhbnk6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBjb250YWN0OiBDb250YWN0CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE0CgkvLyB0aGlzLm15Q29udGFjdC52YWx1ZSA9IGNvbnRhY3QKCXB1c2hieXRlcyAweDZkNzk0MzZmNmU3NDYxNjM3NCAvLyAibXlDb250YWN0IgoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MTUKCS8vIHRoaXMuY29udGFjdHModGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IGNvbnRhY3QKCXR4biBTZW5kZXIKCWR1cAoJYm94X2RlbAoJcG9wCglmcmFtZV9kaWcgMCAvLyBjb250YWN0OiBDb250YWN0Cglib3hfcHV0CglyZXRzdWIKCi8vIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9hZGRDb250YWN0OgoJLy8gYWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMyAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyZXNzKSBmb3IgYWRkQ29udGFjdCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29tcGFueTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglleHRyYWN0IDIgMAoKCS8vIG5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGFkZENvbnRhY3Qoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYWRkQ29udGFjdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkQ29udGFjdChuYW1lOiBzdHJpbmcsIGNvbXBhbnk6IHN0cmluZywgYWRkcmVzczogQWRkcmVzcyk6IHZvaWQKYWRkQ29udGFjdDoKCXByb3RvIDMgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjE5CgkvLyBjb250YWN0OiBDb250YWN0ID0geyBuYW1lOiBuYW1lLCBjb21wYW55OiBjb21wYW55IH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTEgLy8gbmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMiAvLyBjb21wYW55OiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gY29udGFjdDogQ29udGFjdAoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyMAoJLy8gdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZSA9IGNvbnRhY3QKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJZnJhbWVfZGlnIDAgLy8gY29udGFjdDogQ29udGFjdAoJYm94X3B1dAoJcmV0c3ViCgovLyB1cGRhdGVDb250YWN0RmllbGQoc3RyaW5nLHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVDb250YWN0RmllbGQ6CgkvLyBhZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJlc3MpIGZvciB1cGRhdGVDb250YWN0RmllbGQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIHZhbHVlOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWV4dHJhY3QgMiAwCgoJLy8gZmllbGQ6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHVwZGF0ZUNvbnRhY3RGaWVsZChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB1cGRhdGVDb250YWN0RmllbGQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUNvbnRhY3RGaWVsZChmaWVsZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzKTogdm9pZAp1cGRhdGVDb250YWN0RmllbGQ6Cglwcm90byAzIDAKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI0CgkvLyBmaWVsZCA9PT0gJ25hbWUnCglmcmFtZV9kaWcgLTEgLy8gZmllbGQ6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NmU2MTZkNjUgLy8gIm5hbWUiCgk9PQoJYnogKmlmMF9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjI1CgkvLyB0aGlzLmNvbnRhY3RzKGFkZHJlc3MpLnZhbHVlLm5hbWUgPSB2YWx1ZQoJZnJhbWVfZGlnIC0zIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMiAvLyB2YWx1ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMiAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoJYiAqaWYwX2VuZAoKKmlmMF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGV4YW1wbGVzL3R1cGxlX2luX2JveC9hcHAuYWxnby50czoyNgoJLy8gZmllbGQgPT09ICdjb21wYW55JwoJZnJhbWVfZGlnIC0xIC8vIGZpZWxkOiBzdHJpbmcKCXB1c2hieXRlcyAweDYzNmY2ZDcwNjE2ZTc5IC8vICJjb21wYW55IgoJPT0KCWJ6ICppZjBfZWxzZQoKCS8vICppZjBfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBleGFtcGxlcy90dXBsZV9pbl9ib3gvYXBwLmFsZ28udHM6MjcKCS8vIHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUuY29tcGFueSA9IHZhbHVlCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMiAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIC0yIC8vIHZhbHVlOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWJveF9wdXQKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIEludmFsaWQgZmllbGQKCWVycgoKKmlmMF9lbmQ6CglyZXRzdWIKCi8vIHZlcmlmeUNvbnRhY3ROYW1lKHN0cmluZyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlDb250YWN0TmFtZToKCS8vIGFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDMgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcmVzcykgZm9yIHZlcmlmeUNvbnRhY3ROYW1lIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBuYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkCgljYWxsc3ViIHZlcmlmeUNvbnRhY3ROYW1lCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlDb250YWN0TmFtZShuYW1lOiBzdHJpbmcsIGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkCnZlcmlmeUNvbnRhY3ROYW1lOgoJcHJvdG8gMiAwCgoJLy8gZXhhbXBsZXMvdHVwbGVfaW5fYm94L2FwcC5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5jb250YWN0cyhhZGRyZXNzKS52YWx1ZS5uYW1lID09PSBuYW1lKQoJZnJhbWVfZGlnIC0yIC8vIGFkZHJlc3M6IEFkZHJlc3MKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuY29udGFjdHMoYWRkcmVzcykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkyY2NmOTliIC8vIG1ldGhvZCAic2V0TXlDb250YWN0KHN0cmluZyxzdHJpbmcpdm9pZCIKCXB1c2hieXRlcyAweDQ5NWFjYmY3IC8vIG1ldGhvZCAiYWRkQ29udGFjdChzdHJpbmcsc3RyaW5nLGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweGZhNGU4ZjkzIC8vIG1ldGhvZCAidXBkYXRlQ29udGFjdEZpZWxkKHN0cmluZyxzdHJpbmcsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4OGEzMGI4N2UgLy8gbWV0aG9kICJ2ZXJpZnlDb250YWN0TmFtZShzdHJpbmcsYWRkcmVzcyl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zZXRNeUNvbnRhY3QgKmFiaV9yb3V0ZV9hZGRDb250YWN0ICphYmlfcm91dGVfdXBkYXRlQ29udGFjdEZpZWxkICphYmlfcm91dGVfdmVyaWZ5Q29udGFjdE5hbWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/package.json b/package.json index bd37901e9..217ab7c3c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@algorandfoundation/tealscript", - "version": "0.105.2", + "version": "0.105.3", "description": "Enables Algorand smart contract development with native TypeScript syntax, tooling, and IDE support", "homepage": "https://github.com/algorandfoundation/TEALScript", "bugs": { diff --git a/src/lib/compiler.ts b/src/lib/compiler.ts index 56dbd5c50..8e80bd0c8 100644 --- a/src/lib/compiler.ts +++ b/src/lib/compiler.ts @@ -2948,34 +2948,6 @@ export default class Compiler { } }); - const templateVarIndex = 6; - - Object.keys(this.templateVars).forEach((propName, i) => { - const { name, type } = this.templateVars[propName]; - - let op = 'byte'; - - if (isNumeric(type)) { - op = 'int'; - } - - this.teal[this.currentProgram].splice(templateVarIndex, 0, { - teal: `${op} TMPL_${name}`, - node: this.lastNode, - }); - }); - - if (Object.keys(this.templateVars).length > 0) { - this.teal[this.currentProgram].splice(templateVarIndex, 0, { - teal: `// The following lines of TEAL are used to initialize template variables in scratch slots`, - node: this.lastNode, - }); - this.teal[this.currentProgram].splice(templateVarIndex, 0, { - teal: ``, - node: this.lastNode, - }); - } - while (this.pendingSubroutines.length > 0) { this.processSubroutine(this.pendingSubroutines.pop()!); } diff --git a/src/lib/optimize.ts b/src/lib/optimize.ts index 24e72b584..ebc5b8118 100644 --- a/src/lib/optimize.ts +++ b/src/lib/optimize.ts @@ -513,8 +513,8 @@ function constantBlocks(inputTeal: TEALInfo[]): TEALInfo[] { return t; }); - const byteValues: Record = {}; - const intValues: Record = {}; + const byteValues: Record = {}; + const intValues: Record = {}; const numberOfBytes = (n: bigint) => { return Math.ceil(n.toString(2).length / 8) || 1; @@ -524,7 +524,7 @@ function constantBlocks(inputTeal: TEALInfo[]): TEALInfo[] { if (t.teal.startsWith('byte ')) { const value = t.teal.split(' ')[1]; if (byteValues[value]) byteValues[value].count += 1; - else byteValues[value] = { count: 1, size: value.length }; + else byteValues[value] = { count: 1, size: value.length, isTmpl: value.startsWith('TMPL_') }; } if (t.teal.startsWith('int ')) { @@ -535,18 +535,19 @@ function constantBlocks(inputTeal: TEALInfo[]): TEALInfo[] { count: 1, // Size doesn't matter for TMPL values because they are already guranteed to be in the constant block size: value.startsWith('TMPL_') ? 8 : numberOfBytes(BigInt(value.replace(/_/g, ''))), + isTmpl: value.startsWith('TMPL_'), }; } } }); // Delete values that only occur once - Object.entries(byteValues).forEach(([value, sizeAndCount]) => { - if (sizeAndCount.count === 1) delete byteValues[value]; + Object.entries(byteValues).forEach(([value, info]) => { + if (info.count === 1 && !info.isTmpl) delete byteValues[value]; }); - Object.entries(intValues).forEach(([value, sizeAndCount]) => { - if (sizeAndCount.count === 1) delete intValues[value]; + Object.entries(intValues).forEach(([value, info]) => { + if (info.count === 1 && !info.isTmpl) delete intValues[value]; }); // First sort by size * count to determine the 255 values that should go in the block diff --git a/src/version.ts b/src/version.ts index 049b36c3b..7ec13b34a 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.105.2'; +export const VERSION = '0.105.3'; diff --git a/tests/__snapshots__/templates.test.ts.snap b/tests/__snapshots__/templates.test.ts.snap index 817ce5b2e..ac532b511 100644 --- a/tests/__snapshots__/templates.test.ts.snap +++ b/tests/__snapshots__/templates.test.ts.snap @@ -1,3 +1,3 @@ // Bun Snapshot v1, https://goo.gl/fbAQLP -exports[`Template Variables Templates Artifacts Maintains program size 1`] = `263`; +exports[`Template Variables Templates Artifacts Maintains program size 1`] = `259`; diff --git a/tests/contracts/artifacts/A.approval.teal b/tests/contracts/artifacts/A.approval.teal index ce7eff377..43acb8a96 100644 --- a/tests/contracts/artifacts/A.approval.teal +++ b/tests/contracts/artifacts/A.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/A.arc32.json b/tests/contracts/artifacts/A.arc32.json index 2d7905ccf..3893f21a4 100644 --- a/tests/contracts/artifacts/A.arc32.json +++ b/tests/contracts/artifacts/A.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/A.arc56_draft.json b/tests/contracts/artifacts/A.arc56_draft.json index afd32c5b0..aa408527f 100644 --- a/tests/contracts/artifacts/A.arc56_draft.json +++ b/tests/contracts/artifacts/A.arc56_draft.json @@ -335,7 +335,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal index 14d69b599..16fac7c2b 100644 --- a/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 4 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json index 9d23cac83..aba81c2b5 100644 --- a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9hY2Nlc1N0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA4IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTU0CgkvLyByZXR1cm4gYVsyXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTQyY2YzYzAgLy8gbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9hY2Nlc1N0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA4IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTU0CgkvLyByZXR1cm4gYVsyXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTQyY2YzYzAgLy8gbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json index c17179e5d..8d7ad73a3 100644 --- a/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAccesStringInTuple.arc56_draft.json @@ -1048,7 +1048,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9hY2Nlc1N0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA4IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTU0CgkvLyByZXR1cm4gYVsyXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTQyY2YzYzAgLy8gbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKClzdHJpbmcKKmFiaV9yb3V0ZV9hY2Nlc1N0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZwoJY2FsbHN1YiBhY2Nlc1N0cmluZ0luVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNTdHJpbmdJblR1cGxlKCk6IHN0cmluZwphY2Nlc1N0cmluZ0luVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTAKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dID0gWzEsIFsyXSwgJ0hlbGxvIFdvcmxkIScsIFszXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA4IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NTIKCS8vIGFzc2VydChhWzJdID09PSAnSGVsbG8gV29ybGQhJykKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTU0CgkvLyByZXR1cm4gYVsyXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTQyY2YzYzAgLy8gbWV0aG9kICJhY2Nlc1N0cmluZ0luVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYWNjZXNTdHJpbmdJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal index 0ae5d3e84..c959a659b 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json index 6f7d2f336..7c84be299 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCl1aW50OAoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUoKXVpbnQ4CgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCk6IHVpbnQ8OD4KYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NzQKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0gPSBbMTEsIFsyMiwgMzMsIDQ0XV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMxNjIxMmMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY3NgoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWV4dHJhY3RfdWludDE2CglpbnRjIDAgLy8gIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAwIC8vIDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjhlNTE3Y2UgLy8gbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCl1aW50OAoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUoKXVpbnQ4CgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCk6IHVpbnQ8OD4KYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NzQKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0gPSBbMTEsIFsyMiwgMzMsIDQ0XV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMxNjIxMmMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY3NgoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWV4dHJhY3RfdWludDE2CglpbnRjIDAgLy8gIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAwIC8vIDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjhlNTE3Y2UgLy8gbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json index aa46aa63a..ada75ac53 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayElementInTuple.arc56_draft.json @@ -821,7 +821,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCl1aW50OAoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUoKXVpbnQ4CgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCk6IHVpbnQ8OD4KYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NzQKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0gPSBbMTEsIFsyMiwgMzMsIDQ0XV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMxNjIxMmMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY3NgoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWV4dHJhY3RfdWludDE2CglpbnRjIDAgLy8gIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAwIC8vIDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjhlNTE3Y2UgLy8gbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCl1aW50OAoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGUoKXVpbnQ4CgljYWxsc3ViIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlKCk6IHVpbnQ8OD4KYWNjZXNzRHluYW1pY0FycmF5RWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NzQKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXV0gPSBbMTEsIFsyMiwgMzMsIDQ0XV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMxNjIxMmMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY3NgoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWV4dHJhY3RfdWludDE2CglpbnRjIDAgLy8gIGFjYyAqIHR5cGVMZW5ndGgKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJaW50YyAwIC8vIDEKCWV4dHJhY3QzCglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjhlNTE3Y2UgLy8gbWV0aG9kICJhY2Nlc3NEeW5hbWljQXJyYXlFbGVtZW50SW5UdXBsZSgpdWludDgiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUVsZW1lbnRJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal index 0a044c6f7..1b4112f70 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json index 449bf6bf1..d7117e8d4 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IHVpbnQ8OD5bXQphY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjYKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZjM4MmRlIC8vIG1ldGhvZCAiYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IHVpbnQ8OD5bXQphY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjYKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZjM4MmRlIC8vIG1ldGhvZCAiYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json index 6fc7bb1cc..47fbb37c4 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicArrayInMiddleOfTuple.arc56_draft.json @@ -854,7 +854,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IHVpbnQ8OD5bXQphY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjYKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZjM4MmRlIC8vIG1ldGhvZCAiYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoqYWJpX3JvdXRlX2FjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFjY2Vzc0R5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZSgpdWludDhbXQoJY2FsbHN1YiBhY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCk6IHVpbnQ8OD5bXQphY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjYKCS8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMl0sIDNdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZjM4MmRlIC8vIG1ldGhvZCAiYWNjZXNzRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal index ae5b94ec7..3ccb03da6 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal +++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json index fa4bf4d18..7d4d66bd6 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nCiphYmlfcm91dGVfYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmcKCWNhbGxzdWIgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpOiBzdHJpbmcKYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzEwCgkvLyBhOiBzdHJpbmdbXSA9IFsnSGVsbG8nLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA1NDg2NTZjNmM2ZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBzdHJpbmdbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTIKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmODRiYTRiZiAvLyBtZXRob2QgImFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nCiphYmlfcm91dGVfYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmcKCWNhbGxzdWIgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpOiBzdHJpbmcKYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzEwCgkvLyBhOiBzdHJpbmdbXSA9IFsnSGVsbG8nLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA1NDg2NTZjNmM2ZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBzdHJpbmdbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTIKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmODRiYTRiZiAvLyBtZXRob2QgImFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json index e82b449a5..52fe3acdc 100644 --- a/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAccessDynamicStringArray.arc56_draft.json @@ -848,7 +848,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nCiphYmlfcm91dGVfYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmcKCWNhbGxzdWIgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpOiBzdHJpbmcKYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzEwCgkvLyBhOiBzdHJpbmdbXSA9IFsnSGVsbG8nLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA1NDg2NTZjNmM2ZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBzdHJpbmdbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTIKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmODRiYTRiZiAvLyBtZXRob2QgImFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nCiphYmlfcm91dGVfYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5KClzdHJpbmcKCWNhbGxzdWIgYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpOiBzdHJpbmcKYWNjZXNzRHluYW1pY1N0cmluZ0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzEwCgkvLyBhOiBzdHJpbmdbXSA9IFsnSGVsbG8nLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA1NDg2NTZjNmM2ZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDU1NzZmNzI2YzY0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBzdHJpbmdbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MTIKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmODRiYTRiZiAvLyBtZXRob2QgImFjY2Vzc0R5bmFtaWNTdHJpbmdBcnJheSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NEeW5hbWljU3RyaW5nQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal index c983504cf..def2ed2f6 100644 --- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal +++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 bytecblock 0x7374616b657273 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json index 1c45ab9e9..dc369e414 100644 --- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json +++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDczNzQ2MTZiNjU3MjczCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDAgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZWMgMCAvLyAgInN0YWtlcnMiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyMQoJLy8gcmV0dXJuIHZhbC51NjQ7CglieXRlYyAwIC8vICAic3Rha2VycyIKCWludGMgMCAvLyAwCglwdXNoaW50IDgKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Y2U4YTAwYjggLy8gbWV0aG9kICJhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDczNzQ2MTZiNjU3MjczCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDAgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZWMgMCAvLyAgInN0YWtlcnMiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyMQoJLy8gcmV0dXJuIHZhbC51NjQ7CglieXRlYyAwIC8vICAic3Rha2VycyIKCWludGMgMCAvLyAwCglwdXNoaW50IDgKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Y2U4YTAwYjggLy8gbWV0aG9kICJhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json index 38851be68..80c33f9c6 100644 --- a/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAccessStaticArrayInBoxInVariable.arc56_draft.json @@ -462,7 +462,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDczNzQ2MTZiNjU3MjczCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDAgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZWMgMCAvLyAgInN0YWtlcnMiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyMQoJLy8gcmV0dXJuIHZhbC51NjQ7CglieXRlYyAwIC8vICAic3Rha2VycyIKCWludGMgMCAvLyAwCglwdXNoaW50IDgKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Y2U4YTAwYjggLy8gbWV0aG9kICJhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDczNzQ2MTZiNjU3MjczCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljQXJyYXlJbkJveEluVmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFjY2Vzc1N0YXRpY0FycmF5SW5Cb3hJblZhcmlhYmxlKCk6IHVpbnQ2NAphY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE2CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDAgLy8gICJzdGFrZXJzIgoJcHVzaGludCAxMjAKCWJveF9jcmVhdGUKCXBvcAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE3CgkvLyB2YWwgPSB0aGlzLmJLZXkudmFsdWVbaV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTE5CgkvLyB2YWwudTY0ID0gMQoJYnl0ZWMgMCAvLyAgInN0YWtlcnMiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyMQoJLy8gcmV0dXJuIHZhbC51NjQ7CglieXRlYyAwIC8vICAic3Rha2VycyIKCWludGMgMCAvLyAwCglwdXNoaW50IDgKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4Y2U4YTAwYjggLy8gbWV0aG9kICJhY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNBcnJheUluQm94SW5WYXJpYWJsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestAngularCasting.approval.teal b/tests/contracts/artifacts/ABITestAngularCasting.approval.teal index f4e2de6b0..ff552ffd9 100644 --- a/tests/contracts/artifacts/ABITestAngularCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestAngularCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestAngularCasting.arc32.json b/tests/contracts/artifacts/ABITestAngularCasting.arc32.json index 76014b081..83373dbdf 100644 --- a/tests/contracts/artifacts/ABITestAngularCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestAngularCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hbmd1bGFyQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gYW5ndWxhckNhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhbmd1bGFyQ2FzdGluZygpOiB1aW50MjU2CmFuZ3VsYXJDYXN0aW5nOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzOQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAzNQoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50MjU2CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTc2ZTU3ZGYgLy8gbWV0aG9kICJhbmd1bGFyQ2FzdGluZygpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5ndWxhckNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hbmd1bGFyQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gYW5ndWxhckNhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhbmd1bGFyQ2FzdGluZygpOiB1aW50MjU2CmFuZ3VsYXJDYXN0aW5nOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzOQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAzNQoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50MjU2CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTc2ZTU3ZGYgLy8gbWV0aG9kICJhbmd1bGFyQ2FzdGluZygpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5ndWxhckNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json index 49c0320ab..6d9829bb6 100644 --- a/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestAngularCasting.arc56_draft.json @@ -537,7 +537,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hbmd1bGFyQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gYW5ndWxhckNhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhbmd1bGFyQ2FzdGluZygpOiB1aW50MjU2CmFuZ3VsYXJDYXN0aW5nOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzOQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAzNQoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50MjU2CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTc2ZTU3ZGYgLy8gbWV0aG9kICJhbmd1bGFyQ2FzdGluZygpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5ndWxhckNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5ndWxhckNhc3RpbmcoKXVpbnQyNTYKKmFiaV9yb3V0ZV9hbmd1bGFyQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFuZ3VsYXJDYXN0aW5nKCl1aW50MjU2CgljYWxsc3ViIGFuZ3VsYXJDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gYW5ndWxhckNhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhbmd1bGFyQ2FzdGluZygpOiB1aW50MjU2CmFuZ3VsYXJDYXN0aW5nOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDMzCgkvLyB4ID0gPHVpbnQyNTY+MTMzNwoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzOQoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAzNQoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50MjU2CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTc2ZTU3ZGYgLy8gbWV0aG9kICJhbmd1bGFyQ2FzdGluZygpdWludDI1NiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5ndWxhckNhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal b/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal index 2336a5dca..3655d11cd 100644 --- a/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 0 1 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json index 1d7518432..95f8c6342 100644 --- a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbDoKCS8vIGV4ZWN1dGUgYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKCWNhbGxzdWIgYXJyYXlJbk1ldGhvZENhbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5NZXRob2RDYWxsKCk6IHZvaWQKYXJyYXlJbk1ldGhvZENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5MwoJLy8gc2VuZE1ldGhvZENhbGw8W1t1aW50NjQsIHVpbnQ2NF0sIEFkZHJlc3MsIHVpbnQ2NCwgYm9vbGVhbl0sIHZvaWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMCksCgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDY5YTU0NThkIC8vIG1ldGhvZCAiZm9vKCh1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk0CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzOTYKCS8vIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAwIC8vIDAKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJlMTVjZjEwIC8vIG1ldGhvZCAiYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbDoKCS8vIGV4ZWN1dGUgYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKCWNhbGxzdWIgYXJyYXlJbk1ldGhvZENhbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5NZXRob2RDYWxsKCk6IHZvaWQKYXJyYXlJbk1ldGhvZENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5MwoJLy8gc2VuZE1ldGhvZENhbGw8W1t1aW50NjQsIHVpbnQ2NF0sIEFkZHJlc3MsIHVpbnQ2NCwgYm9vbGVhbl0sIHZvaWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMCksCgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDY5YTU0NThkIC8vIG1ldGhvZCAiZm9vKCh1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk0CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzOTYKCS8vIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAwIC8vIDAKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJlMTVjZjEwIC8vIG1ldGhvZCAiYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json index 949870d7b..98b37696f 100644 --- a/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayInMethodCall.arc56_draft.json @@ -502,7 +502,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbDoKCS8vIGV4ZWN1dGUgYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKCWNhbGxzdWIgYXJyYXlJbk1ldGhvZENhbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5NZXRob2RDYWxsKCk6IHZvaWQKYXJyYXlJbk1ldGhvZENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5MwoJLy8gc2VuZE1ldGhvZENhbGw8W1t1aW50NjQsIHVpbnQ2NF0sIEFkZHJlc3MsIHVpbnQ2NCwgYm9vbGVhbl0sIHZvaWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMCksCgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDY5YTU0NThkIC8vIG1ldGhvZCAiZm9vKCh1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk0CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzOTYKCS8vIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAwIC8vIDAKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJlMTVjZjEwIC8vIG1ldGhvZCAiYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKKmFiaV9yb3V0ZV9hcnJheUluTWV0aG9kQ2FsbDoKCS8vIGV4ZWN1dGUgYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQKCWNhbGxzdWIgYXJyYXlJbk1ldGhvZENhbGwKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5NZXRob2RDYWxsKCk6IHZvaWQKYXJyYXlJbk1ldGhvZENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM5MwoJLy8gc2VuZE1ldGhvZENhbGw8W1t1aW50NjQsIHVpbnQ2NF0sIEFkZHJlc3MsIHVpbnQ2NCwgYm9vbGVhbl0sIHZvaWQ+KHsKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQoMCksCgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDY5YTU0NThkIC8vIG1ldGhvZCAiZm9vKCh1aW50NjQsdWludDY0KSxhZGRyZXNzLHVpbnQ2NCxib29sKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzk0CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzOTYKCS8vIG1ldGhvZEFyZ3M6IFtbMSwgMl0sIHRoaXMudHhuLnNlbmRlciwgMywgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAwIC8vIDAKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJlMTVjZjEwIC8vIG1ldGhvZCAiYXJyYXlJbk1ldGhvZENhbGwoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5SW5NZXRob2RDYWxsCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal b/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal index d67fd3136..1fba6424c 100644 --- a/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json index c74a14552..cd6b8cf79 100644 --- a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNzkKCS8vIHRoaXMuZ01hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmJhclsxXSA9IDMKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDgwCgkvLyByZXR1cm4gdGhpcy5nTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuYmFyWzFdOwoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MzUwMjk4YTggLy8gbWV0aG9kICJhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluT2JqZWN0SW5TdGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNzkKCS8vIHRoaXMuZ01hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmJhclsxXSA9IDMKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDgwCgkvLyByZXR1cm4gdGhpcy5nTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuYmFyWzFdOwoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MzUwMjk4YTggLy8gbWV0aG9kICJhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluT2JqZWN0SW5TdGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json index 9c7581ddc..9b59c7826 100644 --- a/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayInObjectInState.arc56_draft.json @@ -480,7 +480,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNzkKCS8vIHRoaXMuZ01hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmJhclsxXSA9IDMKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDgwCgkvLyByZXR1cm4gdGhpcy5nTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuYmFyWzFdOwoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MzUwMjk4YTggLy8gbWV0aG9kICJhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluT2JqZWN0SW5TdGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5SW5PYmplY3RJblN0YXRlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlJbk9iamVjdEluU3RhdGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluT2JqZWN0SW5TdGF0ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5SW5PYmplY3RJblN0YXRlKCk6IHVpbnQ2NAphcnJheUluT2JqZWN0SW5TdGF0ZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDc4CgkvLyB0aGlzLmdNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZSA9IHsgYmFyOiBbMSwgMl0gfQoJdHhuIFNlbmRlcgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNzkKCS8vIHRoaXMuZ01hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmJhclsxXSA9IDMKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCglyZXBsYWNlMiA4Cgl0eG4gU2VuZGVyCglzd2FwCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDgwCgkvLyByZXR1cm4gdGhpcy5nTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUuYmFyWzFdOwoJdHhuIFNlbmRlcgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MzUwMjk4YTggLy8gbWV0aG9kICJhcnJheUluT2JqZWN0SW5TdGF0ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluT2JqZWN0SW5TdGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal b/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal index d5fa012f2..bde193319 100644 --- a/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayInTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json b/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json index 0812692a8..f9b820dfe 100644 --- a/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV9hcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjY1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0gPSBbMTEsIDIyLCBbMzMsIDQ0XSwgNTVdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNjcKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCglleHRyYWN0IDE4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2NzdkNjNkOSAvLyBtZXRob2QgImFycmF5SW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV9hcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjY1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0gPSBbMTEsIDIyLCBbMzMsIDQ0XSwgNTVdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNjcKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCglleHRyYWN0IDE4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2NzdkNjNkOSAvLyBtZXRob2QgImFycmF5SW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json index a1c357497..d35565f2b 100644 --- a/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayInTuple.arc56_draft.json @@ -421,7 +421,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV9hcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjY1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0gPSBbMTEsIDIyLCBbMzMsIDQ0XSwgNTVdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNjcKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCglleHRyYWN0IDE4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2NzdkNjNkOSAvLyBtZXRob2QgImFycmF5SW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV9hcnJheUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhcnJheUluVHVwbGUoKTogdWludDY0CmFycmF5SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjY1CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIHVpbnQxNl0gPSBbMTEsIDIyLCBbMzMsIDQ0XSwgNTVdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNjcKCS8vIHJldHVybiBhWzJdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCBTdGF0aWNBcnJheTx1aW50NjQsIDI+LCB1aW50MTZdCglleHRyYWN0IDE4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2NzdkNjNkOSAvLyBtZXRob2QgImFycmF5SW5UdXBsZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheUluVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayLength.approval.teal b/tests/contracts/artifacts/ABITestArrayLength.approval.teal index 070fc4060..966eed433 100644 --- a/tests/contracts/artifacts/ABITestArrayLength.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayLength.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayLength.arc32.json b/tests/contracts/artifacts/ABITestArrayLength.arc32.json index c9e434874..974006b7d 100644 --- a/tests/contracts/artifacts/ABITestArrayLength.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzM1CgkvLyBhOiB1aW50PDg+W10gPSBbMTEsIDIyLCAzMywgNDQsIDU1XQoJcHVzaGJ5dGVzIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MzcKCS8vIHJldHVybiBhLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJbGVuCglpbnRjIDAgLy8gMQoJLwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDlkNDUyYzc1IC8vIG1ldGhvZCAiYXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzM1CgkvLyBhOiB1aW50PDg+W10gPSBbMTEsIDIyLCAzMywgNDQsIDU1XQoJcHVzaGJ5dGVzIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MzcKCS8vIHJldHVybiBhLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJbGVuCglpbnRjIDAgLy8gMQoJLwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDlkNDUyYzc1IC8vIG1ldGhvZCAiYXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json index a1862f9c2..790591626 100644 --- a/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayLength.arc56_draft.json @@ -403,7 +403,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzM1CgkvLyBhOiB1aW50PDg+W10gPSBbMTEsIDIyLCAzMywgNDQsIDU1XQoJcHVzaGJ5dGVzIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MzcKCS8vIHJldHVybiBhLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJbGVuCglpbnRjIDAgLy8gMQoJLwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDlkNDUyYzc1IC8vIG1ldGhvZCAiYXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX2FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBhcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5TGVuZ3RoKCk6IHVpbnQ2NAphcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzM1CgkvLyBhOiB1aW50PDg+W10gPSBbMTEsIDIyLCAzMywgNDQsIDU1XQoJcHVzaGJ5dGVzIDB4MGIxNjIxMmMzNwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MzcKCS8vIHJldHVybiBhLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJbGVuCglpbnRjIDAgLy8gMQoJLwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDlkNDUyYzc1IC8vIG1ldGhvZCAiYXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayPop.approval.teal b/tests/contracts/artifacts/ABITestArrayPop.approval.teal index 7a842d1c2..e35f4e0a0 100644 --- a/tests/contracts/artifacts/ABITestArrayPop.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayPop.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 2 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayPop.arc32.json b/tests/contracts/artifacts/ABITestArrayPop.arc32.json index 79cd552de..eba1a4c27 100644 --- a/tests/contracts/artifacts/ABITestArrayPop.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayPop.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wKCl1aW50MTZbXQoJY2FsbHN1YiBhcnJheVBvcAoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3AoKTogdWludDE2W10KYXJyYXlQb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzOQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLQoJcHVzaGludCAwCglzd2FwCglleHRyYWN0MwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMwZDc3MDA2IC8vIG1ldGhvZCAiYXJyYXlQb3AoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVBvcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wKCl1aW50MTZbXQoJY2FsbHN1YiBhcnJheVBvcAoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3AoKTogdWludDE2W10KYXJyYXlQb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzOQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLQoJcHVzaGludCAwCglzd2FwCglleHRyYWN0MwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMwZDc3MDA2IC8vIG1ldGhvZCAiYXJyYXlQb3AoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVBvcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json index 57d43285b..81abc367c 100644 --- a/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayPop.arc56_draft.json @@ -501,7 +501,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wKCl1aW50MTZbXQoJY2FsbHN1YiBhcnJheVBvcAoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3AoKTogdWludDE2W10KYXJyYXlQb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzOQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLQoJcHVzaGludCAwCglzd2FwCglleHRyYWN0MwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMwZDc3MDA2IC8vIG1ldGhvZCAiYXJyYXlQb3AoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVBvcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVBvcCgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVBvcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UG9wKCl1aW50MTZbXQoJY2FsbHN1YiBhcnJheVBvcAoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3AoKTogdWludDE2W10KYXJyYXlQb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQzOQoJLy8gYTogdWludDE2W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MQoJLy8gYS5wb3AoKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLQoJcHVzaGludCAwCglzd2FwCglleHRyYWN0MwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDMwZDc3MDA2IC8vIG1ldGhvZCAiYXJyYXlQb3AoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVBvcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal b/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal index 9ddfd918e..8f6464071 100644 --- a/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayPopValue.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json b/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json index dfb51fc59..e4d718bf3 100644 --- a/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayPopValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcFZhbHVlKCl1aW50MTYKCWNhbGxzdWIgYXJyYXlQb3BWYWx1ZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gYXJyYXlQb3BWYWx1ZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3BWYWx1ZSgpOiB1aW50MTYKYXJyYXlQb3BWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQ5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUxCgkvLyB2ID0gYS5wb3AoKSEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS0KCXB1c2hpbnQgMAoJc3dhcAoJZXh0cmFjdDMKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWNvdmVyIDIKCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB2OiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAxIC8vIHY6IHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxODBkM2ZiNCAvLyBtZXRob2QgImFycmF5UG9wVmFsdWUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQb3BWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcFZhbHVlKCl1aW50MTYKCWNhbGxzdWIgYXJyYXlQb3BWYWx1ZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gYXJyYXlQb3BWYWx1ZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3BWYWx1ZSgpOiB1aW50MTYKYXJyYXlQb3BWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQ5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUxCgkvLyB2ID0gYS5wb3AoKSEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS0KCXB1c2hpbnQgMAoJc3dhcAoJZXh0cmFjdDMKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWNvdmVyIDIKCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB2OiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAxIC8vIHY6IHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxODBkM2ZiNCAvLyBtZXRob2QgImFycmF5UG9wVmFsdWUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQb3BWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json index 94556a2a5..67025a4ee 100644 --- a/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayPopValue.arc56_draft.json @@ -585,7 +585,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcFZhbHVlKCl1aW50MTYKCWNhbGxzdWIgYXJyYXlQb3BWYWx1ZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gYXJyYXlQb3BWYWx1ZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3BWYWx1ZSgpOiB1aW50MTYKYXJyYXlQb3BWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQ5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUxCgkvLyB2ID0gYS5wb3AoKSEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS0KCXB1c2hpbnQgMAoJc3dhcAoJZXh0cmFjdDMKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWNvdmVyIDIKCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB2OiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAxIC8vIHY6IHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxODBkM2ZiNCAvLyBtZXRob2QgImFycmF5UG9wVmFsdWUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQb3BWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGFycmF5UG9wVmFsdWUoKXVpbnQxNgoqYWJpX3JvdXRlX2FycmF5UG9wVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBhcnJheVBvcFZhbHVlKCl1aW50MTYKCWNhbGxzdWIgYXJyYXlQb3BWYWx1ZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gYXJyYXlQb3BWYWx1ZSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQb3BWYWx1ZSgpOiB1aW50MTYKYXJyYXlQb3BWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDQ5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUxCgkvLyB2ID0gYS5wb3AoKSEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS0KCXB1c2hpbnQgMAoJc3dhcAoJZXh0cmFjdDMKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWNvdmVyIDIKCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyB2OiB1aW50MTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDUzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAxIC8vIHY6IHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxODBkM2ZiNCAvLyBtZXRob2QgImFycmF5UG9wVmFsdWUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlQb3BWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayPush.approval.teal b/tests/contracts/artifacts/ABITestArrayPush.approval.teal index 414ee9a91..5d3a39153 100644 --- a/tests/contracts/artifacts/ABITestArrayPush.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayPush.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayPush.arc32.json b/tests/contracts/artifacts/ABITestArrayPush.arc32.json index b76f41467..64afab6c6 100644 --- a/tests/contracts/artifacts/ABITestArrayPush.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayPush.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlQdXNoKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5UHVzaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJcHVzaGludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQdXNoKCk6IHVpbnQxNltdCmFycmF5UHVzaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzEKCS8vIGEucHVzaCgzIGFzIHVpbnQxNikKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoYnl0ZXMgMHgwMDAzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmNmM1MGViZCAvLyBtZXRob2QgImFycmF5UHVzaCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UHVzaAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlQdXNoKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5UHVzaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJcHVzaGludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQdXNoKCk6IHVpbnQxNltdCmFycmF5UHVzaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzEKCS8vIGEucHVzaCgzIGFzIHVpbnQxNikKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoYnl0ZXMgMHgwMDAzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmNmM1MGViZCAvLyBtZXRob2QgImFycmF5UHVzaCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UHVzaAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json index c7fd4b410..d2ac56bd3 100644 --- a/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayPush.arc56_draft.json @@ -466,7 +466,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlQdXNoKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5UHVzaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJcHVzaGludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQdXNoKCk6IHVpbnQxNltdCmFycmF5UHVzaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzEKCS8vIGEucHVzaCgzIGFzIHVpbnQxNikKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoYnl0ZXMgMHgwMDAzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmNmM1MGViZCAvLyBtZXRob2QgImFycmF5UHVzaCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UHVzaAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlQdXNoKCl1aW50MTZbXQoqYWJpX3JvdXRlX2FycmF5UHVzaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UHVzaCgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlQdXNoCglkdXAKCWxlbgoJcHVzaGludCAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlQdXNoKCk6IHVpbnQxNltdCmFycmF5UHVzaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDI5CgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzEKCS8vIGEucHVzaCgzIGFzIHVpbnQxNikKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoYnl0ZXMgMHgwMDAzCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MzMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmNmM1MGViZCAvLyBtZXRob2QgImFycmF5UHVzaCgpdWludDE2W10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2FycmF5UHVzaAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArrayRef.approval.teal b/tests/contracts/artifacts/ABITestArrayRef.approval.teal index 37c50549b..5c0287af1 100644 --- a/tests/contracts/artifacts/ABITestArrayRef.approval.teal +++ b/tests/contracts/artifacts/ABITestArrayRef.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArrayRef.arc32.json b/tests/contracts/artifacts/ABITestArrayRef.arc32.json index c00b22e29..5b3a4597d 100644 --- a/tests/contracts/artifacts/ABITestArrayRef.arc32.json +++ b/tests/contracts/artifacts/ABITestArrayRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlSZWYoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzUwCgkvLyBhOiB1aW50PDg+W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NTMKCS8vIGJbMV0gPSA0IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgwM2UxMTMyZCAvLyBtZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlSZWYoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzUwCgkvLyBhOiB1aW50PDg+W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NTMKCS8vIGJbMV0gPSA0IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgwM2UxMTMyZCAvLyBtZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json index 8a2df92f8..2c159e985 100644 --- a/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArrayRef.arc56_draft.json @@ -466,7 +466,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlSZWYoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzUwCgkvLyBhOiB1aW50PDg+W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NTMKCS8vIGJbMV0gPSA0IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgwM2UxMTMyZCAvLyBtZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlSZWYoKXVpbnQ4W10KKmFiaV9yb3V0ZV9hcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5UmVmKCl1aW50OFtdCgljYWxsc3ViIGFycmF5UmVmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFycmF5UmVmKCk6IHVpbnQ8OD5bXQphcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzUwCgkvLyBhOiB1aW50PDg+W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAxMDIwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ8OD5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NTMKCS8vIGJbMV0gPSA0IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ8OD5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDA0CglyZXBsYWNlMiAxCglmcmFtZV9idXJ5IDAgLy8gYjogdWludDw4PltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc1NQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50PDg+W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgwM2UxMTMyZCAvLyBtZXRob2QgImFycmF5UmVmKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArraySplice.approval.teal b/tests/contracts/artifacts/ABITestArraySplice.approval.teal index cebffb740..abbbcd911 100644 --- a/tests/contracts/artifacts/ABITestArraySplice.approval.teal +++ b/tests/contracts/artifacts/ABITestArraySplice.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArraySplice.arc32.json b/tests/contracts/artifacts/ABITestArraySplice.arc32.json index 61593327c..0ccd36599 100644 --- a/tests/contracts/artifacts/ABITestArraySplice.arc32.json +++ b/tests/contracts/artifacts/ABITestArraySplice.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5U3BsaWNlKCl1aW50NjRbXQoJY2FsbHN1YiBhcnJheVNwbGljZQoJZHVwCglsZW4KCWludGMgMSAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2UoKTogdWludDY0W10KYXJyYXlTcGxpY2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1OQoJLy8gYTogdWludDY0W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXB1c2hpbnQgMTYKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDk0NjNhNGFjIC8vIG1ldGhvZCAiYXJyYXlTcGxpY2UoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVNwbGljZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5U3BsaWNlKCl1aW50NjRbXQoJY2FsbHN1YiBhcnJheVNwbGljZQoJZHVwCglsZW4KCWludGMgMSAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2UoKTogdWludDY0W10KYXJyYXlTcGxpY2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1OQoJLy8gYTogdWludDY0W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXB1c2hpbnQgMTYKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDk0NjNhNGFjIC8vIG1ldGhvZCAiYXJyYXlTcGxpY2UoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVNwbGljZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json b/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json index 805d6a19d..48741f7f3 100644 --- a/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArraySplice.arc56_draft.json @@ -618,7 +618,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5U3BsaWNlKCl1aW50NjRbXQoJY2FsbHN1YiBhcnJheVNwbGljZQoJZHVwCglsZW4KCWludGMgMSAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2UoKTogdWludDY0W10KYXJyYXlTcGxpY2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1OQoJLy8gYTogdWludDY0W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXB1c2hpbnQgMTYKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDk0NjNhNGFjIC8vIG1ldGhvZCAiYXJyYXlTcGxpY2UoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVNwbGljZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhcnJheVNwbGljZSgpdWludDY0W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFycmF5U3BsaWNlKCl1aW50NjRbXQoJY2FsbHN1YiBhcnJheVNwbGljZQoJZHVwCglsZW4KCWludGMgMSAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2UoKTogdWludDY0W10KYXJyYXlTcGxpY2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1OQoJLy8gYTogdWludDY0W10gPSBbMSwgMiwgM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MQoJLy8gYS5zcGxpY2UoMSwgMSkKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDgKCXN0b3JlIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXB1c2hpbnQgMTYKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ2MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDk0NjNhNGFjIC8vIG1ldGhvZCAiYXJyYXlTcGxpY2UoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hcnJheVNwbGljZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal b/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal index 099c352e2..5367c2a26 100644 --- a/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal +++ b/tests/contracts/artifacts/ABITestArraySpliceValue.approval.teal @@ -2,7 +2,7 @@ intcblock 2 1 7 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json b/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json index 9bd3c37b1..8713bf9a7 100644 --- a/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json +++ b/tests/contracts/artifacts/ABITestArraySpliceValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgNwpieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludGMgMCAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzMDAwNDAwMDUwMDA2MDAwNzAwMDgwMDA5MDAwYQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MgoJLy8gbCA9IGJ0b2koaXRvYig3KSkKCWludGMgMiAvLyA3CglmcmFtZV9idXJ5IDIgLy8gbDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MwoJLy8gdiA9IGEuc3BsaWNlKGksIGwpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vICBsOiB1aW50NjQKCWludGMgMCAvLyAyCglzdG9yZSAyNDcgLy8gc3BsaWNlIHN0YXJ0CglwdXNoaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJcHVzaGludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMCAvLyAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAwIC8vIDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NzI5NTY3YmMgLy8gbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgNwpieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludGMgMCAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzMDAwNDAwMDUwMDA2MDAwNzAwMDgwMDA5MDAwYQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MgoJLy8gbCA9IGJ0b2koaXRvYig3KSkKCWludGMgMiAvLyA3CglmcmFtZV9idXJ5IDIgLy8gbDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MwoJLy8gdiA9IGEuc3BsaWNlKGksIGwpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vICBsOiB1aW50NjQKCWludGMgMCAvLyAyCglzdG9yZSAyNDcgLy8gc3BsaWNlIHN0YXJ0CglwdXNoaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJcHVzaGludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMCAvLyAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAwIC8vIDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NzI5NTY3YmMgLy8gbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json b/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json index 82539bbd0..cdefcf0cd 100644 --- a/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestArraySpliceValue.arc56_draft.json @@ -729,7 +729,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgNwpieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludGMgMCAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzMDAwNDAwMDUwMDA2MDAwNzAwMDgwMDA5MDAwYQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MgoJLy8gbCA9IGJ0b2koaXRvYig3KSkKCWludGMgMiAvLyA3CglmcmFtZV9idXJ5IDIgLy8gbDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MwoJLy8gdiA9IGEuc3BsaWNlKGksIGwpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vICBsOiB1aW50NjQKCWludGMgMCAvLyAyCglzdG9yZSAyNDcgLy8gc3BsaWNlIHN0YXJ0CglwdXNoaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJcHVzaGludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMCAvLyAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAwIC8vIDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NzI5NTY3YmMgLy8gbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgNwpieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9hcnJheVNwbGljZVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYXJyYXlTcGxpY2VWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgYXJyYXlTcGxpY2VWYWx1ZQoJZHVwCglsZW4KCWludGMgMCAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYXJyYXlTcGxpY2VWYWx1ZSgpOiB1aW50MTZbXQphcnJheVNwbGljZVZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NjkKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzMDAwNDAwMDUwMDA2MDAwNzAwMDgwMDA5MDAwYQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDEgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MgoJLy8gbCA9IGJ0b2koaXRvYig3KSkKCWludGMgMiAvLyA3CglmcmFtZV9idXJ5IDIgLy8gbDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ3MwoJLy8gdiA9IGEuc3BsaWNlKGksIGwpCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vICBsOiB1aW50NjQKCWludGMgMCAvLyAyCglzdG9yZSAyNDcgLy8gc3BsaWNlIHN0YXJ0CglwdXNoaW50IDE2CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJcHVzaGludCAwCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglkdXAKCWxlbgoJbG9hZCAyNDcgLy8gc3BsaWNlIHN0YXJ0Cglsb2FkIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCSsKCWludGMgMCAvLyAyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJaW50YyAwIC8vIDIKCS0KCWV4dHJhY3QzCglzd2FwCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NzUKCS8vIHJldHVybiB2OwoJZnJhbWVfZGlnIDMgLy8gdjogdWludDE2W10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NzI5NTY3YmMgLy8gbWV0aG9kICJhcnJheVNwbGljZVZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYXJyYXlTcGxpY2VWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal b/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal index 18e48f64c..3e3a55f10 100644 --- a/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json index 0c027b3b6..8af1cdd0d 100644 --- a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCiphYmlfcm91dGVfYmlnZ2VyQnl0ZUNhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmlnZ2VyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbMl0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCgljYWxsc3ViIGJpZ2dlckJ5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8Mj4pOiBieXRlczw0PgpiaWdnZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjA3CgkvLyByZXR1cm4gPGJ5dGVzPDQ+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8Mj4KCXB1c2hieXRlcyAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGY0YzM2NmMwIC8vIG1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCiphYmlfcm91dGVfYmlnZ2VyQnl0ZUNhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmlnZ2VyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbMl0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCgljYWxsc3ViIGJpZ2dlckJ5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8Mj4pOiBieXRlczw0PgpiaWdnZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjA3CgkvLyByZXR1cm4gPGJ5dGVzPDQ+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8Mj4KCXB1c2hieXRlcyAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGY0YzM2NmMwIC8vIG1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json index ab5a8a45e..97e2bfd14 100644 --- a/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBiggerByteCasting.arc56_draft.json @@ -406,7 +406,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCiphYmlfcm91dGVfYmlnZ2VyQnl0ZUNhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmlnZ2VyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbMl0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCgljYWxsc3ViIGJpZ2dlckJ5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8Mj4pOiBieXRlczw0PgpiaWdnZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjA3CgkvLyByZXR1cm4gPGJ5dGVzPDQ+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8Mj4KCXB1c2hieXRlcyAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGY0YzM2NmMwIC8vIG1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCiphYmlfcm91dGVfYmlnZ2VyQnl0ZUNhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYnl0ZVsyXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmlnZ2VyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbMl0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdCgljYWxsc3ViIGJpZ2dlckJ5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmlnZ2VyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8Mj4pOiBieXRlczw0PgpiaWdnZXJCeXRlQ2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjA3CgkvLyByZXR1cm4gPGJ5dGVzPDQ+PmE7CglmcmFtZV9kaWcgLTEgLy8gYTogYnl0ZXM8Mj4KCXB1c2hieXRlcyAweDAwMDAKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGY0YzM2NmMwIC8vIG1ldGhvZCAiYmlnZ2VyQnl0ZUNhc3RpbmcoYnl0ZVsyXSlieXRlWzRdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9iaWdnZXJCeXRlQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal index 6fe4ae2ad..a1034e326 100644 --- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json index 04bfcdf94..4d3f7a8b2 100644 --- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9ib29sRmlyc3RJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTgyCgkvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdID0gW3RydWUsIDEsIDJdCglwdXNoYnl0ZXMgMHgwMAoJcHVzaGludCAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YTI3MzE4ZDUgLy8gbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9ib29sRmlyc3RJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTgyCgkvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdID0gW3RydWUsIDEsIDJdCglwdXNoYnl0ZXMgMHgwMAoJcHVzaGludCAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YTI3MzE4ZDUgLy8gbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json index 33a554f0b..130c6cd56 100644 --- a/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolFirstInTuple.arc56_draft.json @@ -439,7 +439,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9ib29sRmlyc3RJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTgyCgkvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdID0gW3RydWUsIDEsIDJdCglwdXNoYnl0ZXMgMHgwMAoJcHVzaGludCAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YTI3MzE4ZDUgLy8gbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9ib29sRmlyc3RJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbEZpcnN0SW5UdXBsZSgpKGJvb2wsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgYm9vbEZpcnN0SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xGaXJzdEluVHVwbGUoKTogW2Jvb2xlYW4sIHVpbnQ2NCwgdWludDY0XQpib29sRmlyc3RJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTgyCgkvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdID0gW3RydWUsIDEsIDJdCglwdXNoYnl0ZXMgMHgwMAoJcHVzaGludCAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtib29sZWFuLCB1aW50NjQsIHVpbnQ2NF0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU4NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgdWludDY0LCB1aW50NjRdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YTI3MzE4ZDUgLy8gbWV0aG9kICJib29sRmlyc3RJblR1cGxlKCkoYm9vbCx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEZpcnN0SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal index 41b4a7878..02e8c25f8 100644 --- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 193 bytecblock 0x00 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json index b2ff6e136..637a00120 100644 --- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTkzCmJ5dGVjYmxvY2sgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCiphYmlfcm91dGVfYm9vbEluTmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoJY2FsbHN1YiBib29sSW5OZXN0ZWRUdXBsZQoJYnl0ZWMgMCAvLyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpOiBib29sZWFuCmJvb2xJbk5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4MDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NAoJLy8gYVsxXSA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDE5MwoJaW50YyAwIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzOGNlZjU5OCAvLyBtZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTkzCmJ5dGVjYmxvY2sgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCiphYmlfcm91dGVfYm9vbEluTmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoJY2FsbHN1YiBib29sSW5OZXN0ZWRUdXBsZQoJYnl0ZWMgMCAvLyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpOiBib29sZWFuCmJvb2xJbk5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4MDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NAoJLy8gYVsxXSA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDE5MwoJaW50YyAwIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzOGNlZjU5OCAvLyBtZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json index 7f1591430..7d6f83f75 100644 --- a/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolInNestedTuple.arc56_draft.json @@ -630,7 +630,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTkzCmJ5dGVjYmxvY2sgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCiphYmlfcm91dGVfYm9vbEluTmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoJY2FsbHN1YiBib29sSW5OZXN0ZWRUdXBsZQoJYnl0ZWMgMCAvLyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpOiBib29sZWFuCmJvb2xJbk5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4MDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NAoJLy8gYVsxXSA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDE5MwoJaW50YyAwIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzOGNlZjU5OCAvLyBtZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTkzCmJ5dGVjYmxvY2sgMHgwMAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk5lc3RlZFR1cGxlKClib29sCiphYmlfcm91dGVfYm9vbEluTmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sSW5OZXN0ZWRUdXBsZSgpYm9vbAoJY2FsbHN1YiBib29sSW5OZXN0ZWRUdXBsZQoJYnl0ZWMgMCAvLyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sSW5OZXN0ZWRUdXBsZSgpOiBib29sZWFuCmJvb2xJbk5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDQyCgkvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXSA9IFtbMCwgMCwgMF0sIHRydWUsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglieXRlYyAwIC8vIDB4MDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NAoJLy8gYVsxXSA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyBhOiBbW3VpbnQ2NCwgdWludDY0LCB1aW50NjRdLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMTkyCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ0NQoJLy8gYVsyXSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDE5MwoJaW50YyAwIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFtbdWludDY0LCB1aW50NjQsIHVpbnQ2NF0sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NDcKCS8vIHJldHVybiBhWzJdOwoJZnJhbWVfZGlnIDAgLy8gYTogW1t1aW50NjQsIHVpbnQ2NCwgdWludDY0XSwgYm9vbGVhbiwgYm9vbGVhbl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMTkzCglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzOGNlZjU5OCAvLyBtZXRob2QgImJvb2xJbk5lc3RlZFR1cGxlKClib29sIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sSW5OZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolInObj.approval.teal b/tests/contracts/artifacts/ABITestBoolInObj.approval.teal index 326fe7b17..24e11d965 100644 --- a/tests/contracts/artifacts/ABITestBoolInObj.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolInObj.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 2 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolInObj.arc32.json b/tests/contracts/artifacts/ABITestBoolInObj.arc32.json index 1378d9321..cdce33024 100644 --- a/tests/contracts/artifacts/ABITestBoolInObj.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolInObj.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk9iaigpdm9pZAoqYWJpX3JvdXRlX2Jvb2xJbk9iajoKCS8vIGV4ZWN1dGUgYm9vbEluT2JqKCl2b2lkCgljYWxsc3ViIGJvb2xJbk9iagoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbEluT2JqKCk6IHZvaWQKYm9vbEluT2JqOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI1CgkvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfSA9IHsgZm9vOiB0cnVlLCBiYXI6IHRydWUsIGJhejogdHJ1ZSB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglkdXAKCXNldGJpdAoJaW50YyAyIC8vIDIKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDEKCWdldGJpdAoJaW50YyAxIC8vIDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNjdjOGZjYiAvLyBtZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk9iaigpdm9pZAoqYWJpX3JvdXRlX2Jvb2xJbk9iajoKCS8vIGV4ZWN1dGUgYm9vbEluT2JqKCl2b2lkCgljYWxsc3ViIGJvb2xJbk9iagoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbEluT2JqKCk6IHZvaWQKYm9vbEluT2JqOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI1CgkvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfSA9IHsgZm9vOiB0cnVlLCBiYXI6IHRydWUsIGJhejogdHJ1ZSB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglkdXAKCXNldGJpdAoJaW50YyAyIC8vIDIKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDEKCWdldGJpdAoJaW50YyAxIC8vIDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNjdjOGZjYiAvLyBtZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json index 598aa872e..46bfec688 100644 --- a/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolInObj.arc56_draft.json @@ -627,7 +627,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk9iaigpdm9pZAoqYWJpX3JvdXRlX2Jvb2xJbk9iajoKCS8vIGV4ZWN1dGUgYm9vbEluT2JqKCl2b2lkCgljYWxsc3ViIGJvb2xJbk9iagoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbEluT2JqKCk6IHZvaWQKYm9vbEluT2JqOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI1CgkvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfSA9IHsgZm9vOiB0cnVlLCBiYXI6IHRydWUsIGJhejogdHJ1ZSB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglkdXAKCXNldGJpdAoJaW50YyAyIC8vIDIKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDEKCWdldGJpdAoJaW50YyAxIC8vIDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNjdjOGZjYiAvLyBtZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGJvb2xJbk9iaigpdm9pZAoqYWJpX3JvdXRlX2Jvb2xJbk9iajoKCS8vIGV4ZWN1dGUgYm9vbEluT2JqKCl2b2lkCgljYWxsc3ViIGJvb2xJbk9iagoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbEluT2JqKCk6IHZvaWQKYm9vbEluT2JqOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI1CgkvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfSA9IHsgZm9vOiB0cnVlLCBiYXI6IHRydWUsIGJhejogdHJ1ZSB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglkdXAKCXNldGJpdAoJaW50YyAyIC8vIDIKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjI2CgkvLyB4LmJhciA9IGZhbHNlCglmcmFtZV9kaWcgMCAvLyB4OiB7IGZvbzogYm9vbGVhbjsgYmFyOiBib29sZWFuOyBiYXo6IGJvb2xlYW4gfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8geDogeyBmb286IGJvb2xlYW47IGJhcjogYm9vbGVhbjsgYmF6OiBib29sZWFuIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyNwoJLy8gYXNzZXJ0cyh4LmZvbyA9PT0gdHJ1ZSwgeC5iYXIgPT09IGZhbHNlLCB4LmJheiA9PT0gdHJ1ZSkKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDEKCWdldGJpdAoJaW50YyAxIC8vIDAKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCWZyYW1lX2RpZyAwIC8vIHg6IHsgZm9vOiBib29sZWFuOyBiYXI6IGJvb2xlYW47IGJhejogYm9vbGVhbiB9CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDIKCWdldGJpdAoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoeC5mb28gPT09IHRydWUsIHguYmFyID09PSBmYWxzZSwgeC5iYXogPT09IHRydWUpCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNjdjOGZjYiAvLyBtZXRob2QgImJvb2xJbk9iaigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbEluT2JqCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolTuple.approval.teal b/tests/contracts/artifacts/ABITestBoolTuple.approval.teal index 44da2d8a6..98468c150 100644 --- a/tests/contracts/artifacts/ABITestBoolTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolTuple.arc32.json b/tests/contracts/artifacts/ABITestBoolTuple.arc32.json index 90c375184..c79cae21f 100644 --- a/tests/contracts/artifacts/ABITestBoolTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCiphYmlfcm91dGVfYm9vbFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzkKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDEgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ0NTkzYWZlIC8vIG1ldGhvZCAiYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCiphYmlfcm91dGVfYm9vbFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzkKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDEgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ0NTkzYWZlIC8vIG1ldGhvZCAiYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json index 010a812ba..f513ffc6b 100644 --- a/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolTuple.arc56_draft.json @@ -568,7 +568,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCiphYmlfcm91dGVfYm9vbFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzkKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDEgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ0NTkzYWZlIC8vIG1ldGhvZCAiYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCiphYmlfcm91dGVfYm9vbFR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpCgljYWxsc3ViIGJvb2xUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJvb2xUdXBsZSgpOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KYm9vbFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NzkKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAxIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDEgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ0NTkzYWZlIC8vIG1ldGhvZCAiYm9vbFR1cGxlKCkoYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9ib29sVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal b/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal index b7b989995..054c9d8a3 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 0 1 6 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json index cc9c2e8f3..514e46497 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgYm9vbFR1cGxlQWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlQWNjZXNzKCk6IGJvb2xlYW4KYm9vbFR1cGxlQWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMAoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTE3CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOGYyNWVkMSAvLyBtZXRob2QgImJvb2xUdXBsZUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlQWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgYm9vbFR1cGxlQWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlQWNjZXNzKCk6IGJvb2xlYW4KYm9vbFR1cGxlQWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMAoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTE3CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOGYyNWVkMSAvLyBtZXRob2QgImJvb2xUdXBsZUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlQWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json index c5b015d5b..db05ee988 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolTupleAccess.arc56_draft.json @@ -629,7 +629,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgYm9vbFR1cGxlQWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlQWNjZXNzKCk6IGJvb2xlYW4KYm9vbFR1cGxlQWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMAoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTE3CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOGYyNWVkMSAvLyBtZXRob2QgImJvb2xUdXBsZUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlQWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9ib29sVHVwbGVBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgYm9vbFR1cGxlQWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlQWNjZXNzKCk6IGJvb2xlYW4KYm9vbFR1cGxlQWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MDUKCS8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSA9IFsKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgICB0cnVlLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMAoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTE3CgkvLyByZXR1cm4gYVs4XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOGYyNWVkMSAvLyBtZXRob2QgImJvb2xUdXBsZUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlQWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal b/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal index 610879c20..c2ebe9513 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal +++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json index 1808d9b83..41c0f56e4 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json +++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKCWNhbGxzdWIgYm9vbFR1cGxlVXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlVXBkYXRlKCk6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQpib29sVHVwbGVVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk2NwoJLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dID0gWwoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMyAvLyA4CglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk3OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyYTE4YmI3ZCAvLyBtZXRob2QgImJvb2xUdXBsZVVwZGF0ZSgpKGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlVXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKCWNhbGxzdWIgYm9vbFR1cGxlVXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlVXBkYXRlKCk6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQpib29sVHVwbGVVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk2NwoJLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dID0gWwoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMyAvLyA4CglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk3OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyYTE4YmI3ZCAvLyBtZXRob2QgImJvb2xUdXBsZVVwZGF0ZSgpKGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlVXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json index 4607105b5..530f37d3e 100644 --- a/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBoolTupleUpdate.arc56_draft.json @@ -621,7 +621,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKCWNhbGxzdWIgYm9vbFR1cGxlVXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlVXBkYXRlKCk6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQpib29sVHVwbGVVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk2NwoJLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dID0gWwoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMyAvLyA4CglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk3OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyYTE4YmI3ZCAvLyBtZXRob2QgImJvb2xUdXBsZVVwZGF0ZSgpKGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlVXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKKmFiaV9yb3V0ZV9ib29sVHVwbGVVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBib29sVHVwbGVVcGRhdGUoKShib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCkKCWNhbGxzdWIgYm9vbFR1cGxlVXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vbFR1cGxlVXBkYXRlKCk6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQpib29sVHVwbGVVcGRhdGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk2NwoJLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dID0gWwoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIHRydWUsCgkvLyAgICAgICBmYWxzZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgdHJ1ZSwKCS8vICAgICAgIGZhbHNlLAoJLy8gICAgICAgZmFsc2UsCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMyAvLyA4CglpbnRjIDEgLy8gMAoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk3OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyYTE4YmI3ZCAvLyBtZXRob2QgImJvb2xUdXBsZVVwZGF0ZSgpKGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sLGJvb2wsYm9vbCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbFR1cGxlVXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal index 1fc71a1e8..d23735754 100644 --- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal +++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json index c6ab04516..a28a78953 100644 --- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json +++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBib29sZWFuQXJnQW5kUmV0dXJuIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sCgljYWxsc3ViIGJvb2xlYW5BcmdBbmRSZXR1cm4KCXB1c2hieXRlcyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGE6IGJvb2xlYW4pOiBib29sZWFuCmJvb2xlYW5BcmdBbmRSZXR1cm46Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODczCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBib29sZWFuCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjRkMGU1MmUgLy8gbWV0aG9kICJib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkFyZ0FuZFJldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBib29sZWFuQXJnQW5kUmV0dXJuIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sCgljYWxsc3ViIGJvb2xlYW5BcmdBbmRSZXR1cm4KCXB1c2hieXRlcyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGE6IGJvb2xlYW4pOiBib29sZWFuCmJvb2xlYW5BcmdBbmRSZXR1cm46Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODczCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBib29sZWFuCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjRkMGU1MmUgLy8gbWV0aG9kICJib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkFyZ0FuZFJldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json index 55bd613ff..3411fd86c 100644 --- a/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBooleanArgAndReturn.arc56_draft.json @@ -434,7 +434,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBib29sZWFuQXJnQW5kUmV0dXJuIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sCgljYWxsc3ViIGJvb2xlYW5BcmdBbmRSZXR1cm4KCXB1c2hieXRlcyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGE6IGJvb2xlYW4pOiBib29sZWFuCmJvb2xlYW5BcmdBbmRSZXR1cm46Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODczCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBib29sZWFuCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjRkMGU1MmUgLy8gbWV0aG9kICJib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkFyZ0FuZFJldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbAoqYWJpX3JvdXRlX2Jvb2xlYW5BcmdBbmRSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBib29sZWFuQXJnQW5kUmV0dXJuIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJvb2xlYW5BcmdBbmRSZXR1cm4oYm9vbClib29sCgljYWxsc3ViIGJvb2xlYW5BcmdBbmRSZXR1cm4KCXB1c2hieXRlcyAweDAwCglpbnRjIDEgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib29sZWFuQXJnQW5kUmV0dXJuKGE6IGJvb2xlYW4pOiBib29sZWFuCmJvb2xlYW5BcmdBbmRSZXR1cm46Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODczCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBib29sZWFuCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjRkMGU1MmUgLy8gbWV0aG9kICJib29sZWFuQXJnQW5kUmV0dXJuKGJvb2wpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkFyZ0FuZFJldHVybgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal b/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal index 7667b660b..c3a168d85 100644 --- a/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal +++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 0 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json index 08c3c8fc3..e9002c2b1 100644 --- a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json +++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xlYW5MYXN0SW5PYmooKSh1aW50NjQsYm9vbCkKCWNhbGxzdWIgYm9vbGVhbkxhc3RJbk9iagoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb2xlYW5MYXN0SW5PYmooKTogeyBuOiB1aW50NjQ7IGI6IGJvb2xlYW4gfQpib29sZWFuTGFzdEluT2JqOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNjUKCS8vIHJldHVybiB7CgkvLyAgICAgICBuOiAxLAoJLy8gICAgICAgYjogZmFsc2UsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDY2Yzg5MGNhIC8vIG1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xlYW5MYXN0SW5PYmooKSh1aW50NjQsYm9vbCkKCWNhbGxzdWIgYm9vbGVhbkxhc3RJbk9iagoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb2xlYW5MYXN0SW5PYmooKTogeyBuOiB1aW50NjQ7IGI6IGJvb2xlYW4gfQpib29sZWFuTGFzdEluT2JqOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNjUKCS8vIHJldHVybiB7CgkvLyAgICAgICBuOiAxLAoJLy8gICAgICAgYjogZmFsc2UsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDY2Yzg5MGNhIC8vIG1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json index cf5241fbb..7ca56d7e1 100644 --- a/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBooleanLastInObj.arc56_draft.json @@ -396,7 +396,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xlYW5MYXN0SW5PYmooKSh1aW50NjQsYm9vbCkKCWNhbGxzdWIgYm9vbGVhbkxhc3RJbk9iagoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb2xlYW5MYXN0SW5PYmooKTogeyBuOiB1aW50NjQ7IGI6IGJvb2xlYW4gfQpib29sZWFuTGFzdEluT2JqOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNjUKCS8vIHJldHVybiB7CgkvLyAgICAgICBuOiAxLAoJLy8gICAgICAgYjogZmFsc2UsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDY2Yzg5MGNhIC8vIG1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBib29sZWFuTGFzdEluT2JqKCkodWludDY0LGJvb2wpCiphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iajoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJvb2xlYW5MYXN0SW5PYmooKSh1aW50NjQsYm9vbCkKCWNhbGxzdWIgYm9vbGVhbkxhc3RJbk9iagoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGJvb2xlYW5MYXN0SW5PYmooKTogeyBuOiB1aW50NjQ7IGI6IGJvb2xlYW4gfQpib29sZWFuTGFzdEluT2JqOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNjUKCS8vIHJldHVybiB7CgkvLyAgICAgICBuOiAxLAoJLy8gICAgICAgYjogZmFsc2UsCgkvLyAgICAgfTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCXB1c2hieXRlcyAweDAwCglpbnRjIDAgLy8gMAoJZHVwCglzZXRiaXQKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDY2Yzg5MGNhIC8vIG1ldGhvZCAiYm9vbGVhbkxhc3RJbk9iaigpKHVpbnQ2NCxib29sKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vbGVhbkxhc3RJbk9iagoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBytesCasting.approval.teal b/tests/contracts/artifacts/ABITestBytesCasting.approval.teal index d930a00c2..fc5942b91 100644 --- a/tests/contracts/artifacts/ABITestBytesCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestBytesCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBytesCasting.arc32.json b/tests/contracts/artifacts/ABITestBytesCasting.arc32.json index 2906c522b..30e0651cc 100644 --- a/tests/contracts/artifacts/ABITestBytesCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestBytesCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNDYXN0aW5nKGJ5dGVbXSlieXRlWzJdCiphYmlfcm91dGVfYnl0ZXNDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglwdXNoYnl0ZXMgMHgwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAyIDAKCXB1c2hieXRlcyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTc4OWM3NWIgLy8gbWV0aG9kICJieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNDYXN0aW5nKGJ5dGVbXSlieXRlWzJdCiphYmlfcm91dGVfYnl0ZXNDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglwdXNoYnl0ZXMgMHgwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAyIDAKCXB1c2hieXRlcyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTc4OWM3NWIgLy8gbWV0aG9kICJieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json index 0c52bb685..d4dc3b2bf 100644 --- a/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBytesCasting.arc56_draft.json @@ -425,7 +425,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNDYXN0aW5nKGJ5dGVbXSlieXRlWzJdCiphYmlfcm91dGVfYnl0ZXNDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglwdXNoYnl0ZXMgMHgwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAyIDAKCXB1c2hieXRlcyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTc4OWM3NWIgLy8gbWV0aG9kICJieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNDYXN0aW5nKGJ5dGVbXSlieXRlWzJdCiphYmlfcm91dGVfYnl0ZXNDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGJ5dGVzQ2FzdGluZyhieXRlW10pYnl0ZVsyXQoJY2FsbHN1YiBieXRlc0Nhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc0Nhc3RpbmcoYTogYnl0ZXMpOiBieXRlczwyPgpieXRlc0Nhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIwMQoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzCglwdXNoYnl0ZXMgMHgwMDAwCgljb25jYXQKCWR1cAoJZXh0cmFjdCAyIDAKCXB1c2hieXRlcyAweAoJYj09Cglhc3NlcnQKCWV4dHJhY3QgMCAyCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OTc4OWM3NWIgLy8gbWV0aG9kICJieXRlc0Nhc3RpbmcoYnl0ZVtdKWJ5dGVbMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzQ2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestBytesReturn.approval.teal b/tests/contracts/artifacts/ABITestBytesReturn.approval.teal index f13f70165..848624e03 100644 --- a/tests/contracts/artifacts/ABITestBytesReturn.approval.teal +++ b/tests/contracts/artifacts/ABITestBytesReturn.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestBytesReturn.arc32.json b/tests/contracts/artifacts/ABITestBytesReturn.arc32.json index cf97aafac..3db21f102 100644 --- a/tests/contracts/artifacts/ABITestBytesReturn.arc32.json +++ b/tests/contracts/artifacts/ABITestBytesReturn.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNSZXR1cm4oKWJ5dGVbXQoqYWJpX3JvdXRlX2J5dGVzUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglwdXNoYnl0ZXMgMHg2NjZmNmYgLy8gImZvbyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyMDhiY2Y5NyAvLyBtZXRob2QgImJ5dGVzUmV0dXJuKClieXRlW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNSZXR1cm4oKWJ5dGVbXQoqYWJpX3JvdXRlX2J5dGVzUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglwdXNoYnl0ZXMgMHg2NjZmNmYgLy8gImZvbyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyMDhiY2Y5NyAvLyBtZXRob2QgImJ5dGVzUmV0dXJuKClieXRlW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json index 682e6d2ae..dfda0c305 100644 --- a/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestBytesReturn.arc56_draft.json @@ -385,7 +385,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNSZXR1cm4oKWJ5dGVbXQoqYWJpX3JvdXRlX2J5dGVzUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglwdXNoYnl0ZXMgMHg2NjZmNmYgLy8gImZvbyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyMDhiY2Y5NyAvLyBtZXRob2QgImJ5dGVzUmV0dXJuKClieXRlW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYnl0ZXNSZXR1cm4oKWJ5dGVbXQoqYWJpX3JvdXRlX2J5dGVzUmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYnl0ZXNSZXR1cm4oKWJ5dGVbXQoJY2FsbHN1YiBieXRlc1JldHVybgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBieXRlc1JldHVybigpOiBieXRlcwpieXRlc1JldHVybjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTI2CgkvLyByZXR1cm4gJ2Zvbyc7CglwdXNoYnl0ZXMgMHg2NjZmNmYgLy8gImZvbyIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyMDhiY2Y5NyAvLyBtZXRob2QgImJ5dGVzUmV0dXJuKClieXRlW10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2J5dGVzUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal b/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal index bc0893e99..6b123566f 100644 --- a/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal +++ b/tests/contracts/artifacts/ABITestCastBytesFunction.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json b/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json index 863ebcf3e..f89b4a17a 100644 --- a/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json +++ b/tests/contracts/artifacts/ABITestCastBytesFunction.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdCiphYmlfcm91dGVfY2FzdEJ5dGVzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJcHVzaGJ5dGVzIDB4MDEwMjAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2QzNjE3ZmQgLy8gbWV0aG9kICJjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Nhc3RCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdCiphYmlfcm91dGVfY2FzdEJ5dGVzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJcHVzaGJ5dGVzIDB4MDEwMjAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2QzNjE3ZmQgLy8gbWV0aG9kICJjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Nhc3RCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json b/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json index 5e0ccd88c..dd0511934 100644 --- a/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestCastBytesFunction.arc56_draft.json @@ -341,7 +341,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdCiphYmlfcm91dGVfY2FzdEJ5dGVzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJcHVzaGJ5dGVzIDB4MDEwMjAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2QzNjE3ZmQgLy8gbWV0aG9kICJjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Nhc3RCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2FzdEJ5dGVzRnVuY3Rpb24oKXVpbnQ4WzNdCiphYmlfcm91dGVfY2FzdEJ5dGVzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10KCWNhbGxzdWIgY2FzdEJ5dGVzRnVuY3Rpb24KCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYXN0Qnl0ZXNGdW5jdGlvbigpOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgpjYXN0Qnl0ZXNGdW5jdGlvbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDQ3CgkvLyByZXR1cm4gY2FzdEJ5dGVzPFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+PihoZXgoJzB4MDEwMjAzJykpOwoJcHVzaGJ5dGVzIDB4MDEwMjAzCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2QzNjE3ZmQgLy8gbWV0aG9kICJjYXN0Qnl0ZXNGdW5jdGlvbigpdWludDhbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2Nhc3RCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal index 0de5ca423..5b42a5c21 100644 --- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json index 3e0604a90..5199a178c 100644 --- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGU6CgkvLyBhc2E6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKGFzYTogQXNzZXRJRCk6IHZvaWQKY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZmViZjQ3IC8vIG1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGU6CgkvLyBhc2E6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKGFzYTogQXNzZXRJRCk6IHZvaWQKY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZmViZjQ3IC8vIG1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json index f385339b6..13860d90a 100644 --- a/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestChainedPropertyAfterTuple.arc56_draft.json @@ -410,7 +410,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGU6CgkvLyBhc2E6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKGFzYTogQXNzZXRJRCk6IHZvaWQKY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZmViZjQ3IC8vIG1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2NoYWluZWRQcm9wZXJ0eUFmdGVyVHVwbGU6CgkvLyBhc2E6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZAoJY2FsbHN1YiBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjaGFpbmVkUHJvcGVydHlBZnRlclR1cGxlKGFzYTogQXNzZXRJRCk6IHZvaWQKY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZToKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE3MwoJLy8gbzogVDcgPSB7IGZvbzogdGhpcy5hcHAuYWRkcmVzcyB9CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIG86IFQ3CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNzUKCS8vIGFzc2VydCghby5mb28uaXNPcHRlZEluVG9Bc3NldChhc2EpKQoJZnJhbWVfZGlnIDAgLy8gbzogVDcKCWV4dHJhY3QgMCAzMgoJZnJhbWVfZGlnIC0xIC8vIGFzYTogQXNzZXRJRAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJmZmViZjQ3IC8vIG1ldGhvZCAiY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZSh1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY2hhaW5lZFByb3BlcnR5QWZ0ZXJUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestCustomTypes.approval.teal b/tests/contracts/artifacts/ABITestCustomTypes.approval.teal index a801d34ff..741f00a6e 100644 --- a/tests/contracts/artifacts/ABITestCustomTypes.approval.teal +++ b/tests/contracts/artifacts/ABITestCustomTypes.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 0 bytecblock 0x 0x000c48656c6c6f20576f726c6421 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestCustomTypes.arc32.json b/tests/contracts/artifacts/ABITestCustomTypes.arc32.json index 7a0259acc..9b8348360 100644 --- a/tests/contracts/artifacts/ABITestCustomTypes.arc32.json +++ b/tests/contracts/artifacts/ABITestCustomTypes.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGN1c3RvbVR5cGVzKClzdHJpbmcKKmFiaV9yb3V0ZV9jdXN0b21UeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGVzKClzdHJpbmcKCWNhbGxzdWIgY3VzdG9tVHlwZXMKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tVHlwZXMoKTogc3RyaW5nCmN1c3RvbVR5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjMyCgkvLyBhYTogQ3VzdG9tVHlwZSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhYTogQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzkKCS8vIHJldHVybiBhYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhYTogQ3VzdG9tVHlwZQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0NjM4NmM3IC8vIG1ldGhvZCAiY3VzdG9tVHlwZXMoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3VzdG9tVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGN1c3RvbVR5cGVzKClzdHJpbmcKKmFiaV9yb3V0ZV9jdXN0b21UeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGVzKClzdHJpbmcKCWNhbGxzdWIgY3VzdG9tVHlwZXMKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tVHlwZXMoKTogc3RyaW5nCmN1c3RvbVR5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjMyCgkvLyBhYTogQ3VzdG9tVHlwZSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhYTogQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzkKCS8vIHJldHVybiBhYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhYTogQ3VzdG9tVHlwZQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0NjM4NmM3IC8vIG1ldGhvZCAiY3VzdG9tVHlwZXMoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3VzdG9tVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json index 1d9661e1b..d66daed37 100644 --- a/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestCustomTypes.arc56_draft.json @@ -1300,7 +1300,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGN1c3RvbVR5cGVzKClzdHJpbmcKKmFiaV9yb3V0ZV9jdXN0b21UeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGVzKClzdHJpbmcKCWNhbGxzdWIgY3VzdG9tVHlwZXMKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tVHlwZXMoKTogc3RyaW5nCmN1c3RvbVR5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjMyCgkvLyBhYTogQ3VzdG9tVHlwZSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhYTogQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzkKCS8vIHJldHVybiBhYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhYTogQ3VzdG9tVHlwZQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0NjM4NmM3IC8vIG1ldGhvZCAiY3VzdG9tVHlwZXMoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3VzdG9tVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGN1c3RvbVR5cGVzKClzdHJpbmcKKmFiaV9yb3V0ZV9jdXN0b21UeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGVzKClzdHJpbmcKCWNhbGxzdWIgY3VzdG9tVHlwZXMKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tVHlwZXMoKTogc3RyaW5nCmN1c3RvbVR5cGVzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjMyCgkvLyBhYTogQ3VzdG9tVHlwZSA9IHsKCS8vICAgICAgIGZvbzogMSwKCS8vICAgICAgIGJhcjogJ0hpPycsCgkvLyAgICAgfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzQ4NjkzZgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGFhOiBDdXN0b21UeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjYzNwoJLy8gYWEuYmFyID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGFhOiBDdXN0b21UeXBlCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhYTogQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MzkKCS8vIHJldHVybiBhYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhYTogQ3VzdG9tVHlwZQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0NjM4NmM3IC8vIG1ldGhvZCAiY3VzdG9tVHlwZXMoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3VzdG9tVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDisgusting.approval.teal b/tests/contracts/artifacts/ABITestDisgusting.approval.teal index d4332cf83..6e22a72f4 100644 --- a/tests/contracts/artifacts/ABITestDisgusting.approval.teal +++ b/tests/contracts/artifacts/ABITestDisgusting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDisgusting.arc32.json b/tests/contracts/artifacts/ABITestDisgusting.arc32.json index cfdc9bed4..9fb72df93 100644 --- a/tests/contracts/artifacts/ABITestDisgusting.arc32.json +++ b/tests/contracts/artifacts/ABITestDisgusting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZGlzZ3VzdGluZygpdWludDY0CiphYmlfcm91dGVfZGlzZ3VzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzA0CgkvLyBhOiBTdGF0aWNBcnJheTwKCS8vICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwKCS8vICAgICAgIDIKCS8vICAgICA+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgMzMsCgkvLyAgICAgICAgIFs0NCwgNTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2LCA3N10sCgkvLyAgICAgICAgICAgWzg4LCA5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTExLCAyMjJdLAoJLy8gICAgICAgICAzMzMsCgkvLyAgICAgICAgIFs0NDQsIDU1NV0sCgkvLyAgICAgICAgIFsKCS8vICAgICAgICAgICBbNjY2LCA3NzddLAoJLy8gICAgICAgICAgIFs4ODgsIDk5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MzAwNmYwMGRlMDAwMDAwMDAwMDAwMDE0ZDAxYmMwMDAwMDAwMDAwMDAwMjJiMDAwMDAwMDAwMDAwMDI5YTAwMDAwMDAwMDAwMDAzMDkwMDAwMDAwMDAwMDAwMzc4MDAwMDAwMDAwMDAwMDNlNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzI4CgkvLyBhWzFdWzNdWzFdID0gWzg4ODgsIDk5OTldCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjZjOTY4ZSAvLyBtZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZGlzZ3VzdGluZygpdWludDY0CiphYmlfcm91dGVfZGlzZ3VzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzA0CgkvLyBhOiBTdGF0aWNBcnJheTwKCS8vICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwKCS8vICAgICAgIDIKCS8vICAgICA+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgMzMsCgkvLyAgICAgICAgIFs0NCwgNTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2LCA3N10sCgkvLyAgICAgICAgICAgWzg4LCA5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTExLCAyMjJdLAoJLy8gICAgICAgICAzMzMsCgkvLyAgICAgICAgIFs0NDQsIDU1NV0sCgkvLyAgICAgICAgIFsKCS8vICAgICAgICAgICBbNjY2LCA3NzddLAoJLy8gICAgICAgICAgIFs4ODgsIDk5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MzAwNmYwMGRlMDAwMDAwMDAwMDAwMDE0ZDAxYmMwMDAwMDAwMDAwMDAwMjJiMDAwMDAwMDAwMDAwMDI5YTAwMDAwMDAwMDAwMDAzMDkwMDAwMDAwMDAwMDAwMzc4MDAwMDAwMDAwMDAwMDNlNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzI4CgkvLyBhWzFdWzNdWzFdID0gWzg4ODgsIDk5OTldCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjZjOTY4ZSAvLyBtZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json b/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json index 16d1a6f3c..ed88cec79 100644 --- a/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDisgusting.arc56_draft.json @@ -549,7 +549,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZGlzZ3VzdGluZygpdWludDY0CiphYmlfcm91dGVfZGlzZ3VzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzA0CgkvLyBhOiBTdGF0aWNBcnJheTwKCS8vICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwKCS8vICAgICAgIDIKCS8vICAgICA+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgMzMsCgkvLyAgICAgICAgIFs0NCwgNTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2LCA3N10sCgkvLyAgICAgICAgICAgWzg4LCA5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTExLCAyMjJdLAoJLy8gICAgICAgICAzMzMsCgkvLyAgICAgICAgIFs0NDQsIDU1NV0sCgkvLyAgICAgICAgIFsKCS8vICAgICAgICAgICBbNjY2LCA3NzddLAoJLy8gICAgICAgICAgIFs4ODgsIDk5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MzAwNmYwMGRlMDAwMDAwMDAwMDAwMDE0ZDAxYmMwMDAwMDAwMDAwMDAwMjJiMDAwMDAwMDAwMDAwMDI5YTAwMDAwMDAwMDAwMDAzMDkwMDAwMDAwMDAwMDAwMzc4MDAwMDAwMDAwMDAwMDNlNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzI4CgkvLyBhWzFdWzNdWzFdID0gWzg4ODgsIDk5OTldCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjZjOTY4ZSAvLyBtZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZGlzZ3VzdGluZygpdWludDY0CiphYmlfcm91dGVfZGlzZ3VzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRpc2d1c3RpbmcoKXVpbnQ2NAoJY2FsbHN1YiBkaXNndXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZGlzZ3VzdGluZygpOiB1aW50NjQKZGlzZ3VzdGluZzoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzA0CgkvLyBhOiBTdGF0aWNBcnJheTwKCS8vICAgICAgIFtTdGF0aWNBcnJheTx1aW50MTYsIDI+LCB1aW50NjQsIFt1aW50MTYsIHVpbnQ2NF0sIFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIDI+XSwKCS8vICAgICAgIDIKCS8vICAgICA+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgMzMsCgkvLyAgICAgICAgIFs0NCwgNTVdLAoJLy8gICAgICAgICBbCgkvLyAgICAgICAgICAgWzY2LCA3N10sCgkvLyAgICAgICAgICAgWzg4LCA5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTExLCAyMjJdLAoJLy8gICAgICAgICAzMzMsCgkvLyAgICAgICAgIFs0NDQsIDU1NV0sCgkvLyAgICAgICAgIFsKCS8vICAgICAgICAgICBbNjY2LCA3NzddLAoJLy8gICAgICAgICAgIFs4ODgsIDk5OV0sCgkvLyAgICAgICAgIF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMwMDAwMDAwMDAwMDAwMDM3MDAwMDAwMDAwMDAwMDA0MjAwMDAwMDAwMDAwMDAwNGQwMDAwMDAwMDAwMDAwMDU4MDAwMDAwMDAwMDAwMDA2MzAwNmYwMGRlMDAwMDAwMDAwMDAwMDE0ZDAxYmMwMDAwMDAwMDAwMDAwMjJiMDAwMDAwMDAwMDAwMDI5YTAwMDAwMDAwMDAwMDAzMDkwMDAwMDAwMDAwMDAwMzc4MDAwMDAwMDAwMDAwMDNlNwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PCAgICAgICBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgdWludDY0LCBbdWludDE2LCB1aW50NjRdLCBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDI+LCAyPl0sICAgICAgIDIgICAgID4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzI4CgkvLyBhWzFdWzNdWzFdID0gWzg4ODgsIDk5OTldCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAyMmI4MDAwMDAwMDAwMDAwMjcwZgoJcmVwbGFjZTIgOTIKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMyOQoJLy8gcmV0dXJuIGFbMV1bM11bMV1bMF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTwgICAgICAgW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIHVpbnQ2NCwgW3VpbnQxNiwgdWludDY0XSwgU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAyPiwgMj5dLCAgICAgICAyICAgICA+CglleHRyYWN0IDkyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxYjZjOTY4ZSAvLyBtZXRob2QgImRpc2d1c3RpbmcoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZGlzZ3VzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal index 4eb3c13bb..58e99b680 100644 --- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 2 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json index 108f83809..ee6113e91 100644 --- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBzdHJpbmdbM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheShzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPik6IHN0cmluZwpkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXk6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MgoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMCAvLyBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMgoJKiAvLyBhY2MgKiAyCgkrCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDVhYTBmMzE2IC8vIG1ldGhvZCAiZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBzdHJpbmdbM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheShzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPik6IHN0cmluZwpkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXk6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MgoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMCAvLyBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMgoJKiAvLyBhY2MgKiAyCgkrCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDVhYTBmMzE2IC8vIG1ldGhvZCAiZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json index 647ab2951..9cd303ae7 100644 --- a/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicAccessOfDynamicElementInStaticArray.arc56_draft.json @@ -577,7 +577,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBzdHJpbmdbM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheShzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPik6IHN0cmluZwpkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXk6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MgoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMCAvLyBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMgoJKiAvLyBhY2MgKiAyCgkrCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDVhYTBmMzE2IC8vIG1ldGhvZCAiZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoc3RyaW5nWzNdKXN0cmluZwoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBzdHJpbmdbM10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheShzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXkoYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPik6IHN0cmluZwpkeW5hbWljQWNjZXNzT2ZEeW5hbWljRWxlbWVudEluU3RhdGljQXJyYXk6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MQoJLy8gaSA9IGJ0b2koaXRvYigxKSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1MgoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gYTogU3RhdGljQXJyYXk8c3RyaW5nLCAzPgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMCAvLyBpbml0aWFsIG9mZnNldAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMgoJKiAvLyBhY2MgKiAyCgkrCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDVhYTBmMzE2IC8vIG1ldGhvZCAiZHluYW1pY0FjY2Vzc09mRHluYW1pY0VsZW1lbnRJblN0YXRpY0FycmF5KHN0cmluZ1szXSlzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NPZkR5bmFtaWNFbGVtZW50SW5TdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicArray.approval.teal index 0f7f787ac..e44a08a4f 100644 --- a/tests/contracts/artifacts/ABITestDynamicArray.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicArray.arc32.json index 9bf137e4b..22b3ada49 100644 --- a/tests/contracts/artifacts/ABITestDynamicArray.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5KCl1aW50NjQKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQ4CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUwCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZGZlNjYwZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5KCl1aW50NjQKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQ4CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUwCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZGZlNjYwZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json index 1de91bc2b..bc95dc342 100644 --- a/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArray.arc56_draft.json @@ -433,7 +433,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5KCl1aW50NjQKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQ4CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUwCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZGZlNjYwZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5KCl1aW50NjQKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljQXJyYXkKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXkoKTogdWludDY0CmR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQ4CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzUwCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZGZlNjYwZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal index e2166c7d5..90e7b28a8 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json index dbcc50932..3b7435c97 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5QXJnKHVpbnQ2NFtdKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYWM0NGM3OSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5QXJnKHVpbnQ2NFtdKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYWM0NGM3OSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json index 8f0f55947..1a6d73b31 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayArg.arc56_draft.json @@ -400,7 +400,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5QXJnKHVpbnQ2NFtdKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYWM0NGM3OSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5QXJnKHVpbnQ2NFtdKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjRbXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5QXJnCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5QXJnKGE6IHVpbnQ2NFtdKTogdWludDY0CmR5bmFtaWNBcnJheUFyZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNjMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NFtdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYWM0NGM3OSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUFyZyh1aW50NjRbXSl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal index 3017207eb..44f8abf81 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json index f32034cc6..d67f28d81 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXQoJY2FsbHN1YiBkeW5hbWljQXJyYXlFbGVtZW50cwoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODIKCS8vIG5ld0E6IHVpbnQxNltdID0gW2FbMF0sIGFbMV0sIGFbMl1dCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyCglidG9pCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDIgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG5ld0E6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ4NAoJLy8gcmV0dXJuIG5ld0E7CglmcmFtZV9kaWcgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiNGRjYjc1ZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXQoJY2FsbHN1YiBkeW5hbWljQXJyYXlFbGVtZW50cwoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODIKCS8vIG5ld0E6IHVpbnQxNltdID0gW2FbMF0sIGFbMV0sIGFbMl1dCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyCglidG9pCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDIgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG5ld0E6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ4NAoJLy8gcmV0dXJuIG5ld0E7CglmcmFtZV9kaWcgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiNGRjYjc1ZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json index 0a9d34f9f..20c5dfa58 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayElements.arc56_draft.json @@ -648,7 +648,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXQoJY2FsbHN1YiBkeW5hbWljQXJyYXlFbGVtZW50cwoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODIKCS8vIG5ld0E6IHVpbnQxNltdID0gW2FbMF0sIGFbMV0sIGFbMl1dCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyCglidG9pCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDIgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG5ld0E6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ4NAoJLy8gcmV0dXJuIG5ld0E7CglmcmFtZV9kaWcgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiNGRjYjc1ZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlFbGVtZW50cygpdWludDE2W10KKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXQoJY2FsbHN1YiBkeW5hbWljQXJyYXlFbGVtZW50cwoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNBcnJheUVsZW1lbnRzKCk6IHVpbnQxNltdCmR5bmFtaWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODEKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0ODIKCS8vIG5ld0E6IHVpbnQxNltdID0gW2FbMF0sIGFbMV0sIGFbMl1dCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCAyCglidG9pCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDIgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQgMgoJYnRvaQoJaXRvYgoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIG5ld0E6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ4NAoJLy8gcmV0dXJuIG5ld0E7CglmcmFtZV9kaWcgMSAvLyBuZXdBOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiNGRjYjc1ZSAvLyBtZXRob2QgImR5bmFtaWNBcnJheUVsZW1lbnRzKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal index b60bfac77..d1e0b516a 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json index b52219ef7..4e7fda832 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCmR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1OAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWNiZjJlNzMgLy8gbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCmR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1OAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWNiZjJlNzMgLy8gbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json index 39d29cc89..695322a0c 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayInMiddleOfTuple.arc56_draft.json @@ -690,7 +690,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCmR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1OAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWNiZjJlNzMgLy8gbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCmR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY1OAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2NjAKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWNiZjJlNzMgLy8gbWV0aG9kICJkeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal index 000cfb5ce..3dacec764 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 0 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json index 752864f59..289712920 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2J1cnkgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBpIDwgYS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCWludGMgMiAvLyAwCglleHRyYWN0X3VpbnQxNgoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA0CgkvLyBtZXNzYWdlICs9IGFbaV0KCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAyCgkqIC8vIGFjYyAqIDIKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gbWVzc2FnZTogYnl0ZVtdCgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA3CgkvLyByZXR1cm4gbWVzc2FnZTsKCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhOTU3YzVlZCAvLyBtZXRob2QgImR5bmFtaWNBcnJheUl0ZXJhdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2J1cnkgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBpIDwgYS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCWludGMgMiAvLyAwCglleHRyYWN0X3VpbnQxNgoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA0CgkvLyBtZXNzYWdlICs9IGFbaV0KCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAyCgkqIC8vIGFjYyAqIDIKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gbWVzc2FnZTogYnl0ZVtdCgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA3CgkvLyByZXR1cm4gbWVzc2FnZTsKCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhOTU3YzVlZCAvLyBtZXRob2QgImR5bmFtaWNBcnJheUl0ZXJhdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json index 5e12fc7da..75560f1f4 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayIteration.arc56_draft.json @@ -1054,7 +1054,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2J1cnkgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBpIDwgYS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCWludGMgMiAvLyAwCglleHRyYWN0X3VpbnQxNgoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA0CgkvLyBtZXNzYWdlICs9IGFbaV0KCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAyCgkqIC8vIGFjYyAqIDIKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gbWVzc2FnZTogYnl0ZVtdCgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA3CgkvLyByZXR1cm4gbWVzc2FnZTsKCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhOTU3YzVlZCAvLyBtZXRob2QgImR5bmFtaWNBcnJheUl0ZXJhdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKClzdHJpbmcKKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBkeW5hbWljQXJyYXlJdGVyYXRpb24oKXN0cmluZwoJY2FsbHN1YiBkeW5hbWljQXJyYXlJdGVyYXRpb24KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5SXRlcmF0aW9uKCk6IHN0cmluZwpkeW5hbWljQXJyYXlJdGVyYXRpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDAKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbyAnLCAnV29ybGQnLCAnISddCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDA2NDg2NTZjNmM2ZjIwCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE2MDEKCS8vIG1lc3NhZ2UgPSAnJwoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2J1cnkgMSAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSArPSAxKQoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjAzCgkvLyBpIDwgYS5sZW5ndGgKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCWludGMgMiAvLyAwCglleHRyYWN0X3VpbnQxNgoJPAoJYnogKmZvcl8wX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA0CgkvLyBtZXNzYWdlICs9IGFbaV0KCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoJZnJhbWVfZGlnIDAgLy8gYTogc3RyaW5nW10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gIGluaXRpYWwgb2Zmc2V0CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAyCgkqIC8vIGFjYyAqIDIKCSsKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gbWVzc2FnZTogYnl0ZVtdCgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYwMwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjA3CgkvLyByZXR1cm4gbWVzc2FnZTsKCWZyYW1lX2RpZyAxIC8vIG1lc3NhZ2U6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhOTU3YzVlZCAvLyBtZXRob2QgImR5bmFtaWNBcnJheUl0ZXJhdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQXJyYXlJdGVyYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal b/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal index 63e7d1015..808baee01 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.approval.teal @@ -2,7 +2,7 @@ intcblock 8 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json index 8c425dc0d..88258d242 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGR5bmFtaWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApkeW5hbWljQXJyYXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTAKCS8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9ID0geyBhOiAxLCBiOiBbMSwgMiwgM10gfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMGEgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJcHVzaGludCAwCglleHRyYWN0X3VpbnQxNgoJZnJhbWVfZGlnIDAgLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gOAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJcHVzaGludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglsZW4KCWludGMgMCAvLyA4CgkvCgkrCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGRmM2U2MGYxIC8vIG1ldGhvZCAiZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGR5bmFtaWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApkeW5hbWljQXJyYXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTAKCS8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9ID0geyBhOiAxLCBiOiBbMSwgMiwgM10gfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMGEgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJcHVzaGludCAwCglleHRyYWN0X3VpbnQxNgoJZnJhbWVfZGlnIDAgLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gOAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJcHVzaGludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglsZW4KCWludGMgMCAvLyA4CgkvCgkrCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGRmM2U2MGYxIC8vIG1ldGhvZCAiZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json index 8691d18cd..7b6b1e344 100644 --- a/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicArrayLength.arc56_draft.json @@ -1032,7 +1032,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGR5bmFtaWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApkeW5hbWljQXJyYXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTAKCS8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9ID0geyBhOiAxLCBiOiBbMSwgMiwgM10gfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMGEgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJcHVzaGludCAwCglleHRyYWN0X3VpbnQxNgoJZnJhbWVfZGlnIDAgLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gOAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJcHVzaGludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglsZW4KCWludGMgMCAvLyA4CgkvCgkrCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGRmM2U2MGYxIC8vIG1ldGhvZCAiZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGR5bmFtaWNBcnJheUxlbmd0aCgpdWludDY0CiphYmlfcm91dGVfZHluYW1pY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgZHluYW1pY0FycmF5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApkeW5hbWljQXJyYXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTAKCS8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9ID0geyBhOiAxLCBiOiBbMSwgMiwgM10gfQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMGEgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIG86IHsgYTogdWludDY0OyBiOiB1aW50NjRbXSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTIKCS8vIGE6IHN0cmluZ1tdID0gWydIZWxsbycsICdXb3JsZCcsICchJ10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDU0ODY1NmM2YzZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwNTU3NmY3MjZjNjQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDMKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIGE6IHN0cmluZ1tdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1OTQKCS8vIHJldHVybiBhLmxlbmd0aCArIG8uYi5sZW5ndGg7CglmcmFtZV9kaWcgMSAvLyBhOiBzdHJpbmdbXQoJcHVzaGludCAwCglleHRyYWN0X3VpbnQxNgoJZnJhbWVfZGlnIDAgLy8gbzogeyBhOiB1aW50NjQ7IGI6IHVpbnQ2NFtdIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gOAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJcHVzaGludCAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglsZW4KCWludGMgMCAvLyA4CgkvCgkrCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGRmM2U2MGYxIC8vIG1ldGhvZCAiZHluYW1pY0FycmF5TGVuZ3RoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2R5bmFtaWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal index 85abcf63c..e4644f4cb 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json index 71200802b..3bb5d2f68 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMxCgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzNTQyZDBkNSAvLyBtZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMxCgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzNTQyZDBkNSAvLyBtZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json index 9728d44ab..a747c9f85 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArray.arc56_draft.json @@ -585,7 +585,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMxCgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzNTQyZDBkNSAvLyBtZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMxCgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBib29sZWFuW10KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzNTQyZDBkNSAvLyBtZXRob2QgImR5bmFtaWNCb29sQXJyYXkoKWJvb2xbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal index ac9fcc383..5388f3931 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 0 1 6 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json index 63f1d239d..3b8f7a6c7 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpkeW5hbWljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDA5CglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMCAvLyAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAzIC8vIDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhlYzgwMjQ5IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpkeW5hbWljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDA5CglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMCAvLyAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAzIC8vIDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhlYzgwMjQ5IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json index 1c50b6476..af7daf3ea 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayAccess.arc56_draft.json @@ -646,7 +646,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpkeW5hbWljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDA5CglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMCAvLyAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAzIC8vIDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhlYzgwMjQ5IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBkeW5hbWljQm9vbEFycmF5QWNjZXNzKClib29sCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMCAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNCb29sQXJyYXlBY2Nlc3MoKTogYm9vbGVhbgpkeW5hbWljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MzkKCS8vIGE6IGJvb2xlYW5bXSA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDA5CglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJaW50YyAxIC8vIDEKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMCAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAwIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMCAvLyAwCglzZXRiaXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDEKCS8vIHJldHVybiBhWzhdOwoJZnJhbWVfZGlnIDAgLy8gYTogYm9vbGVhbltdCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAzIC8vIDgKCWdldGJpdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhlYzgwMjQ5IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheUFjY2VzcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal index 81a7d090c..a9a4b051d 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json index f0de45bda..72b629b20 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTU3CgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMjQKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBib29sZWFuW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTYxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ3MTk2MGE2IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTU3CgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMjQKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBib29sZWFuW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTYxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ3MTk2MGE2IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json index 44424b744..6c94d6456 100644 --- a/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicBoolArrayUpdate.arc56_draft.json @@ -639,7 +639,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTU3CgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMjQKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBib29sZWFuW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTYxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ3MTk2MGE2IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdCiphYmlfcm91dGVfZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGR5bmFtaWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbXQoJY2FsbHN1YiBkeW5hbWljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpOiBib29sZWFuW10KZHluYW1pY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTU3CgkvLyBhOiBib29sZWFuW10gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwOQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gYTogYm9vbGVhbltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk1OQoJLy8gYVs4XSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMjQKCWludGMgMCAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBib29sZWFuW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTYxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IGJvb2xlYW5bXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ3MTk2MGE2IC8vIG1ldGhvZCAiZHluYW1pY0Jvb2xBcnJheVVwZGF0ZSgpYm9vbFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9keW5hbWljQm9vbEFycmF5VXBkYXRlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal b/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal index f41153711..7999cdfef 100644 --- a/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal +++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json index a6ff3fd6d..5e102aa35 100644 --- a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json +++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNUdXBsZUFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzc5CgkvLyBhOiBbdWludDE2LCB1aW50NjRdW10gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAyMTAwMDAwMDAwMDAwMDAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50NjRdW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzg0CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDEwYzU3NTEwIC8vIG1ldGhvZCAiZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNUdXBsZUFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzc5CgkvLyBhOiBbdWludDE2LCB1aW50NjRdW10gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAyMTAwMDAwMDAwMDAwMDAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50NjRdW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzg0CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDEwYzU3NTEwIC8vIG1ldGhvZCAiZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json index b8d31939a..072ec08a1 100644 --- a/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestDynamicTupleArray.arc56_draft.json @@ -429,7 +429,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNUdXBsZUFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzc5CgkvLyBhOiBbdWludDE2LCB1aW50NjRdW10gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAyMTAwMDAwMDAwMDAwMDAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50NjRdW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzg0CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDEwYzU3NTEwIC8vIG1ldGhvZCAiZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX2R5bmFtaWNUdXBsZUFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBkeW5hbWljVHVwbGVBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNUdXBsZUFycmF5KCk6IHVpbnQ2NApkeW5hbWljVHVwbGVBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzc5CgkvLyBhOiBbdWludDE2LCB1aW50NjRdW10gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAyMTAwMDAwMDAwMDAwMDAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2LCB1aW50NjRdW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzg0CgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ2NF1bXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMTIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDEwYzU3NTEwIC8vIG1ldGhvZCAiZHluYW1pY1R1cGxlQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZHluYW1pY1R1cGxlQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal index c6446de74..16a807157 100644 --- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal +++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json index fd088fa99..2194cc5de 100644 --- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json +++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfZW1wdHlEeW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpOiB1aW50NjRbXQplbXB0eUR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NjgKCS8vIHJldHVybiBbXTsKCXB1c2hieXRlcyAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1YTI4OTZkIC8vIG1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfZW1wdHlEeW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpOiB1aW50NjRbXQplbXB0eUR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NjgKCS8vIHJldHVybiBbXTsKCXB1c2hieXRlcyAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1YTI4OTZkIC8vIG1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json index 8c552a8cb..bab2fade7 100644 --- a/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestEmptyDynamicArray.arc56_draft.json @@ -397,7 +397,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfZW1wdHlEeW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpOiB1aW50NjRbXQplbXB0eUR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NjgKCS8vIHJldHVybiBbXTsKCXB1c2hieXRlcyAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1YTI4OTZkIC8vIG1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdCiphYmlfcm91dGVfZW1wdHlEeW5hbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBlbXB0eUR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgZW1wdHlEeW5hbWljQXJyYXkKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlbXB0eUR5bmFtaWNBcnJheSgpOiB1aW50NjRbXQplbXB0eUR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NjgKCS8vIHJldHVybiBbXTsKCXB1c2hieXRlcyAweAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1YTI4OTZkIC8vIG1ldGhvZCAiZW1wdHlEeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9lbXB0eUR5bmFtaWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal b/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal index 840a4d555..d5ebf3bec 100644 --- a/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json index b13aadbc3..453fecf99 100644 --- a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFtdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjY4ODQxYTggLy8gbWV0aG9kICJlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2VtcHR5U3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFtdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjY4ODQxYTggLy8gbWV0aG9kICJlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2VtcHR5U3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json index 4ce4cda83..f0a4a95eb 100644 --- a/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestEmptyStaticArray.arc56_draft.json @@ -376,7 +376,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFtdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjY4ODQxYTggLy8gbWV0aG9kICJlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2VtcHR5U3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfZW1wdHlTdGF0aWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGVtcHR5U3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBlbXB0eVN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZW1wdHlTdGF0aWNBcnJheSgpOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CmVtcHR5U3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFtdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50MTYsIDM+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjY4ODQxYTggLy8gbWV0aG9kICJlbXB0eVN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2VtcHR5U3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestExtractUint.approval.teal b/tests/contracts/artifacts/ABITestExtractUint.approval.teal index a29fbd0bb..db8068dfc 100644 --- a/tests/contracts/artifacts/ABITestExtractUint.approval.teal +++ b/tests/contracts/artifacts/ABITestExtractUint.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestExtractUint.arc32.json b/tests/contracts/artifacts/ABITestExtractUint.arc32.json index 40a4d6e65..27a4d6ac7 100644 --- a/tests/contracts/artifacts/ABITestExtractUint.arc32.json +++ b/tests/contracts/artifacts/ABITestExtractUint.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4CiphYmlfcm91dGVfZXh0cmFjdFVpbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBleHRyYWN0VWludCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHRyYWN0VWludChhcmc6IHVpbnQ2NCk6IHVpbnQ8OD4KZXh0cmFjdFVpbnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNiM2Y2Yjc5IC8vIG1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4CiphYmlfcm91dGVfZXh0cmFjdFVpbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBleHRyYWN0VWludCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHRyYWN0VWludChhcmc6IHVpbnQ2NCk6IHVpbnQ8OD4KZXh0cmFjdFVpbnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNiM2Y2Yjc5IC8vIG1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json b/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json index 11481c546..ea71642fc 100644 --- a/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestExtractUint.arc56_draft.json @@ -444,7 +444,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4CiphYmlfcm91dGVfZXh0cmFjdFVpbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBleHRyYWN0VWludCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHRyYWN0VWludChhcmc6IHVpbnQ2NCk6IHVpbnQ8OD4KZXh0cmFjdFVpbnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNiM2Y2Yjc5IC8vIG1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4CiphYmlfcm91dGVfZXh0cmFjdFVpbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYXJnOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGV4dHJhY3RVaW50KHVpbnQ2NCl1aW50OAoJY2FsbHN1YiBleHRyYWN0VWludAoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBleHRyYWN0VWludCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHRyYWN0VWludChhcmc6IHVpbnQ2NCk6IHVpbnQ8OD4KZXh0cmFjdFVpbnQ6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMTkKCS8vIHggPSA8dWludDw4Pj5hcmcKCWZyYW1lX2RpZyAtMSAvLyBhcmc6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTIwCgkvLyByZXR1cm4geDsKCWZyYW1lX2RpZyAwIC8vIHg6IHVuc2FmZSB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNiM2Y2Yjc5IC8vIG1ldGhvZCAiZXh0cmFjdFVpbnQodWludDY0KXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRyYWN0VWludAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestForEachReturn.approval.teal b/tests/contracts/artifacts/ABITestForEachReturn.approval.teal index 7d14beed7..8cfecd24c 100644 --- a/tests/contracts/artifacts/ABITestForEachReturn.approval.teal +++ b/tests/contracts/artifacts/ABITestForEachReturn.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestForEachReturn.arc32.json b/tests/contracts/artifacts/ABITestForEachReturn.arc32.json index 78223bc32..99e90ce3c 100644 --- a/tests/contracts/artifacts/ABITestForEachReturn.arc32.json +++ b/tests/contracts/artifacts/ABITestForEachReturn.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yRWFjaFJldHVybigpdWludDY0CiphYmlfcm91dGVfZm9yRWFjaFJldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzczCgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzUKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3NgoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3OQoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwZTY3ODI3IC8vIG1ldGhvZCAiZm9yRWFjaFJldHVybigpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yRWFjaFJldHVybigpdWludDY0CiphYmlfcm91dGVfZm9yRWFjaFJldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzczCgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzUKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3NgoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3OQoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwZTY3ODI3IC8vIG1ldGhvZCAiZm9yRWFjaFJldHVybigpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json index 51cce5090..8d0412328 100644 --- a/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestForEachReturn.arc56_draft.json @@ -691,7 +691,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yRWFjaFJldHVybigpdWludDY0CiphYmlfcm91dGVfZm9yRWFjaFJldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzczCgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzUKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3NgoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3OQoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwZTY3ODI3IC8vIG1ldGhvZCAiZm9yRWFjaFJldHVybigpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yRWFjaFJldHVybigpdWludDY0CiphYmlfcm91dGVfZm9yRWFjaFJldHVybjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvckVhY2hSZXR1cm4oKXVpbnQ2NAoJY2FsbHN1YiBmb3JFYWNoUmV0dXJuCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yRWFjaFJldHVybigpOiB1aW50NjQKZm9yRWFjaFJldHVybjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3MgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzczCgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNzUKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3NgoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc2CgkvLyByZXR1cm47CgliICpmb3JFYWNoXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzc3CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM3OQoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwZTY3ODI3IC8vIG1ldGhvZCAiZm9yRWFjaFJldHVybigpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JFYWNoUmV0dXJuCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestForOfBreak.approval.teal b/tests/contracts/artifacts/ABITestForOfBreak.approval.teal index 665df4a17..18352ee61 100644 --- a/tests/contracts/artifacts/ABITestForOfBreak.approval.teal +++ b/tests/contracts/artifacts/ABITestForOfBreak.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestForOfBreak.arc32.json b/tests/contracts/artifacts/ABITestForOfBreak.arc32.json index 979dd99ee..98e45bb55 100644 --- a/tests/contracts/artifacts/ABITestForOfBreak.arc32.json +++ b/tests/contracts/artifacts/ABITestForOfBreak.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZCcmVhaygpdWludDY0CiphYmlfcm91dGVfZm9yT2ZCcmVhazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDk5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNAoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDcKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOWM2MGRmZCAvLyBtZXRob2QgImZvck9mQnJlYWsoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZm9yT2ZCcmVhawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZCcmVhaygpdWludDY0CiphYmlfcm91dGVfZm9yT2ZCcmVhazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDk5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNAoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDcKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOWM2MGRmZCAvLyBtZXRob2QgImZvck9mQnJlYWsoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZm9yT2ZCcmVhawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json b/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json index e620bd409..7b375f257 100644 --- a/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestForOfBreak.arc56_draft.json @@ -691,7 +691,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZCcmVhaygpdWludDY0CiphYmlfcm91dGVfZm9yT2ZCcmVhazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDk5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNAoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDcKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOWM2MGRmZCAvLyBtZXRob2QgImZvck9mQnJlYWsoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZm9yT2ZCcmVhawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZCcmVhaygpdWludDY0CiphYmlfcm91dGVfZm9yT2ZCcmVhazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQnJlYWsoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkJyZWFrCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZCcmVhaygpOiB1aW50NjQKZm9yT2ZCcmVhazoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5OAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDk5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUwNAoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfZW5kCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTA1CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MDcKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjOWM2MGRmZCAvLyBtZXRob2QgImZvck9mQnJlYWsoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZm9yT2ZCcmVhawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestForOfContinue.approval.teal b/tests/contracts/artifacts/ABITestForOfContinue.approval.teal index 4c7cb7d53..9010eae44 100644 --- a/tests/contracts/artifacts/ABITestForOfContinue.approval.teal +++ b/tests/contracts/artifacts/ABITestForOfContinue.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestForOfContinue.arc32.json b/tests/contracts/artifacts/ABITestForOfContinue.arc32.json index 29f24bcc3..7dfd65d7e 100644 --- a/tests/contracts/artifacts/ABITestForOfContinue.arc32.json +++ b/tests/contracts/artifacts/ABITestForOfContinue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZDb250aW51ZSgpdWludDY0CiphYmlfcm91dGVfZm9yT2ZDb250aW51ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDg0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4OQoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5MgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDdiMTIxZWUzIC8vIG1ldGhvZCAiZm9yT2ZDb250aW51ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZDb250aW51ZSgpdWludDY0CiphYmlfcm91dGVfZm9yT2ZDb250aW51ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDg0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4OQoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5MgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDdiMTIxZWUzIC8vIG1ldGhvZCAiZm9yT2ZDb250aW51ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json b/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json index b3f2803ba..2aabea501 100644 --- a/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestForOfContinue.arc56_draft.json @@ -691,7 +691,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZDb250aW51ZSgpdWludDY0CiphYmlfcm91dGVfZm9yT2ZDb250aW51ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDg0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4OQoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5MgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDdiMTIxZWUzIC8vIG1ldGhvZCAiZm9yT2ZDb250aW51ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZm9yT2ZDb250aW51ZSgpdWludDY0CiphYmlfcm91dGVfZm9yT2ZDb250aW51ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGZvck9mQ29udGludWUoKXVpbnQ2NAoJY2FsbHN1YiBmb3JPZkNvbnRpbnVlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZm9yT2ZDb250aW51ZSgpOiB1aW50NjQKZm9yT2ZDb250aW51ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDg0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ4OQoJLy8gc3VtID4gMgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCXB1c2hpbnQgMgoJPgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCWIgKmZvck9mXzBfY29udGludWUKCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OTAKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCipmb3JPZl8wX2NvbnRpbnVlOgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAyIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ5MgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDdiMTIxZWUzIC8vIG1ldGhvZCAiZm9yT2ZDb250aW51ZSgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9mb3JPZkNvbnRpbnVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal b/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal index 58c569337..968fcacf8 100644 --- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal +++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json index dad907263..a2c7ff7bb 100644 --- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json +++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBnbG9iYWxNZXRob2RJbkNoYWluIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1ldGhvZEluQ2hhaW4oKTogdWludDw4PgpnbG9iYWxNZXRob2RJbkNoYWluOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjEKCS8vIHJldHVybiBjYXN0Qnl0ZXM8VDE+KGhleCgnMHgwMCcpKS5iYXI7CglwdXNoaW50IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhZWZiYmFjYiAvLyBtZXRob2QgImdsb2JhbE1ldGhvZEluQ2hhaW4oKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBnbG9iYWxNZXRob2RJbkNoYWluIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1ldGhvZEluQ2hhaW4oKTogdWludDw4PgpnbG9iYWxNZXRob2RJbkNoYWluOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjEKCS8vIHJldHVybiBjYXN0Qnl0ZXM8VDE+KGhleCgnMHgwMCcpKS5iYXI7CglwdXNoaW50IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhZWZiYmFjYiAvLyBtZXRob2QgImdsb2JhbE1ldGhvZEluQ2hhaW4oKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json index 8e64291da..a766f14d0 100644 --- a/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestGlobalMethodInChain.arc56_draft.json @@ -391,7 +391,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBnbG9iYWxNZXRob2RJbkNoYWluIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1ldGhvZEluQ2hhaW4oKTogdWludDw4PgpnbG9iYWxNZXRob2RJbkNoYWluOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjEKCS8vIHJldHVybiBjYXN0Qnl0ZXM8VDE+KGhleCgnMHgwMCcpKS5iYXI7CglwdXNoaW50IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhZWZiYmFjYiAvLyBtZXRob2QgImdsb2JhbE1ldGhvZEluQ2hhaW4oKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWV0aG9kSW5DaGFpbigpdWludDgKCWNhbGxzdWIgZ2xvYmFsTWV0aG9kSW5DaGFpbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgOAoJPD0KCgkvLyBnbG9iYWxNZXRob2RJbkNoYWluIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1ldGhvZEluQ2hhaW4oKTogdWludDw4PgpnbG9iYWxNZXRob2RJbkNoYWluOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjEKCS8vIHJldHVybiBjYXN0Qnl0ZXM8VDE+KGhleCgnMHgwMCcpKS5iYXI7CglwdXNoaW50IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhZWZiYmFjYiAvLyBtZXRob2QgImdsb2JhbE1ldGhvZEluQ2hhaW4oKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9nbG9iYWxNZXRob2RJbkNoYWluCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal index 6afca85c5..2a1e43363 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 64 0 6 bytecblock 0x 0x624b6579 0x0a8101 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json index 8b9478873..1eb19635b 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJcHVzaGludCAzMiAvLyBoZWFkT2Zmc2V0CglwdXNoaW50IDQxNjAKCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDEgLy8gNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYzCgkvLyBzdW0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2NgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ5NDUwMjYwIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJcHVzaGludCAzMiAvLyBoZWFkT2Zmc2V0CglwdXNoaW50IDQxNjAKCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDEgLy8gNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYzCgkvLyBzdW0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2NgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ5NDUwMjYwIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json index 3560bddd8..7c2b39142 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForEachInBox.arc56_draft.json @@ -780,7 +780,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJcHVzaGludCAzMiAvLyBoZWFkT2Zmc2V0CglwdXNoaW50IDQxNjAKCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDEgLy8gNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYzCgkvLyBzdW0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2NgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ5NDUwMjYwIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlTmVzdGVkU3RhdGljRm9yRWFjaEluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZU5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzU5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYyCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJcHVzaGludCAzMiAvLyBoZWFkT2Zmc2V0CglwdXNoaW50IDQxNjAKCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfYnVyeSAxIC8vIGtleSBmb3IgdGhlIGJveCB0aGF0IGNvbnRhaW5zIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCXN3YXAKCWR1cAoJZnJhbWVfYnVyeSAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgkrCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCBvZiB0aGUgbGFzdCBlbGVtZW50CglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2RpZyAyIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDEgLy8gNjQKCWJveF9leHRyYWN0CglmcmFtZV9idXJ5IDQgLy8gdjogdWludDUxMgoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzYzCgkvLyBzdW0gKz0gMQoJZnJhbWVfZGlnIDAgLy8gc3VtOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM2NgoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQ5NDUwMjYwIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal index ae6b72620..661938051 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 64 0 6 bytecblock 0x 0x624b6579 0x0a8101 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json index c144babc1..7f69d8eb9 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCXB1c2hpbnQgMzIgLy8gaGVhZE9mZnNldAoJcHVzaGludCA0MTYwCglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2J1cnkgMSAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglzd2FwCglkdXAKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJKwoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCipmb3JPZl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NzQKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMSAvLyA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFmNmE3MzMxIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCXB1c2hpbnQgMzIgLy8gaGVhZE9mZnNldAoJcHVzaGludCA0MTYwCglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2J1cnkgMSAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglzd2FwCglkdXAKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJKwoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCipmb3JPZl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NzQKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMSAvLyA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFmNmE3MzMxIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json index c7b1dae1f..49152a88c 100644 --- a/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestLargeNestedStaticForOfInBox.arc56_draft.json @@ -780,7 +780,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCXB1c2hpbnQgMzIgLy8gaGVhZE9mZnNldAoJcHVzaGludCA0MTYwCglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2J1cnkgMSAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglzd2FwCglkdXAKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJKwoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCipmb3JPZl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NzQKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMSAvLyA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFmNmE3MzMxIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDY0IDAgNgpieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkgMHgwYTgxMDEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMyAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveCgpdWludDY0CiphYmlfcm91dGVfbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCk6IHVpbnQ2NApsYXJnZU5lc3RlZFN0YXRpY0Zvck9mSW5Cb3g6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiA0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAyIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAyIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDY5CgkvLyB0aGlzLmJLZXkuY3JlYXRlKCkKCWJ5dGVjIDEgLy8gICJiS2V5IgoJcHVzaGludCA0MTkyCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3MAoJLy8gc3VtID0gMAoJaW50YyAyIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDczCgkvLyB0aGlzLmJLZXkudmFsdWVbMV0KCXB1c2hpbnQgMzIgLy8gaGVhZE9mZnNldAoJcHVzaGludCA0MTYwCglieXRlYyAxIC8vICAiYktleSIKCWZyYW1lX2J1cnkgMSAvLyBrZXkgZm9yIHRoZSBib3ggdGhhdCBjb250YWlucyB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglzd2FwCglkdXAKCWZyYW1lX2J1cnkgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJKwoJZnJhbWVfYnVyeSAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJYnl0ZWMgMSAvLyAgImJLZXkiCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0Cglib3hfZXh0cmFjdAoJZnJhbWVfYnVyeSA0IC8vIHY6IHVpbnQ1MTIKCipmb3JPZl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NzQKCS8vIHN1bSArPSAxCglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKKmZvck9mXzBfY29udGludWU6CgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgMiAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAxIC8vIDY0CgkrCglkdXAKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgb2YgdGhlIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvck9mXzBfZW5kCglmcmFtZV9idXJ5IDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWJ5dGVjIDEgLy8gICJiS2V5IgoJZnJhbWVfZGlnIDIgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMSAvLyA2NAoJYm94X2V4dHJhY3QKCWZyYW1lX2J1cnkgNCAvLyB2OiB1aW50NTEyCgliICpmb3JPZl8wCgoqZm9yT2ZfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ3NwoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFmNmE3MzMxIC8vIG1ldGhvZCAibGFyZ2VOZXN0ZWRTdGF0aWNGb3JPZkluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlTmVzdGVkU3RhdGljRm9yT2ZJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal b/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal index 9e438beed..15e154db1 100644 --- a/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal +++ b/tests/contracts/artifacts/ABITestMaxUfixed.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json b/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json index 6cecf3f62..efb0df27f 100644 --- a/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json +++ b/tests/contracts/artifacts/ABITestMaxUfixed.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCiphYmlfcm91dGVfbWF4VWZpeGVkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNDIKCS8vIHU2NG1heDogdWZpeGVkPDY0LCAyPiA9IDEyLjM0CglwdXNoaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDU0ZWQzZDJlIC8vIG1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCiphYmlfcm91dGVfbWF4VWZpeGVkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNDIKCS8vIHU2NG1heDogdWZpeGVkPDY0LCAyPiA9IDEyLjM0CglwdXNoaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDU0ZWQzZDJlIC8vIG1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json b/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json index 8c2c1244f..fb2271475 100644 --- a/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestMaxUfixed.arc56_draft.json @@ -387,7 +387,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCiphYmlfcm91dGVfbWF4VWZpeGVkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNDIKCS8vIHU2NG1heDogdWZpeGVkPDY0LCAyPiA9IDEyLjM0CglwdXNoaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDU0ZWQzZDJlIC8vIG1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCiphYmlfcm91dGVfbWF4VWZpeGVkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbWF4VWZpeGVkKCl1Zml4ZWQ2NHgyCgljYWxsc3ViIG1heFVmaXhlZAoJaXRvYgoJZXh0cmFjdCAwIDgKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtYXhVZml4ZWQoKTogdWZpeGVkPDY0LCAyPgptYXhVZml4ZWQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNDIKCS8vIHU2NG1heDogdWZpeGVkPDY0LCAyPiA9IDEyLjM0CglwdXNoaW50IDEyMzQKCWZyYW1lX2J1cnkgMCAvLyB1NjRtYXg6IHVmaXhlZDw2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0NAoJLy8gcmV0dXJuIHU2NG1heDsKCWZyYW1lX2RpZyAwIC8vIHU2NG1heDogdWZpeGVkPDY0LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDU0ZWQzZDJlIC8vIG1ldGhvZCAibWF4VWZpeGVkKCl1Zml4ZWQ2NHgyIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhVZml4ZWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal index d78b6bf55..52beeb65c 100644 --- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal +++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json index 37b16982b..3c965142e 100644 --- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json +++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpOiB1aW50NjQKbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NAoJLy8gbjEgPSBidG9pKGl0b2IoMykpCglwdXNoaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCXB1c2hpbnQgNAoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDYKCS8vIG4zID0gYnRvaShpdG9iKDUpKQoJcHVzaGludCA1CglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PiA9IFswLCAxLCAyLCBuMSwgbjIsIG4zLCA2LCA3LCA4XQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9kaWcgMCAvLyBuMTogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwNQoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA2Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglmcmFtZV9idXJ5IDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0OQoJLy8gcmV0dXJuIGFbMV0gKyBhWzRdICsgYVs3XTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDMyIDgKCWJ0b2kKCSsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgNTYgOAoJYnRvaQoJKwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NjlkZWViYyAvLyBtZXRob2QgIm1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpOiB1aW50NjQKbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NAoJLy8gbjEgPSBidG9pKGl0b2IoMykpCglwdXNoaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCXB1c2hpbnQgNAoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDYKCS8vIG4zID0gYnRvaShpdG9iKDUpKQoJcHVzaGludCA1CglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PiA9IFswLCAxLCAyLCBuMSwgbjIsIG4zLCA2LCA3LCA4XQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9kaWcgMCAvLyBuMTogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwNQoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA2Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglmcmFtZV9idXJ5IDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0OQoJLy8gcmV0dXJuIGFbMV0gKyBhWzRdICsgYVs3XTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDMyIDgKCWJ0b2kKCSsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgNTYgOAoJYnRvaQoJKwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NjlkZWViYyAvLyBtZXRob2QgIm1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json index f88d68cfd..68ece9cd2 100644 --- a/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestMixedStaticArrayElements.arc56_draft.json @@ -688,7 +688,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpOiB1aW50NjQKbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NAoJLy8gbjEgPSBidG9pKGl0b2IoMykpCglwdXNoaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCXB1c2hpbnQgNAoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDYKCS8vIG4zID0gYnRvaShpdG9iKDUpKQoJcHVzaGludCA1CglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PiA9IFswLCAxLCAyLCBuMSwgbjIsIG4zLCA2LCA3LCA4XQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9kaWcgMCAvLyBuMTogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwNQoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA2Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglmcmFtZV9idXJ5IDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0OQoJLy8gcmV0dXJuIGFbMV0gKyBhWzRdICsgYVs3XTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDMyIDgKCWJ0b2kKCSsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgNTYgOAoJYnRvaQoJKwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NjlkZWViYyAvLyBtZXRob2QgIm1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtaXhlZFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NAoqYWJpX3JvdXRlX21peGVkU3RhdGljQXJyYXlFbGVtZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpOiB1aW50NjQKbWl4ZWRTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NAoJLy8gbjEgPSBidG9pKGl0b2IoMykpCglwdXNoaW50IDMKCWZyYW1lX2J1cnkgMCAvLyBuMTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ1CgkvLyBuMiA9IGJ0b2koaXRvYig0KSkKCXB1c2hpbnQgNAoJZnJhbWVfYnVyeSAxIC8vIG4yOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDYKCS8vIG4zID0gYnRvaShpdG9iKDUpKQoJcHVzaGludCA1CglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0NwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PiA9IFswLCAxLCAyLCBuMSwgbjIsIG4zLCA2LCA3LCA4XQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9kaWcgMCAvLyBuMTogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDQKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwNQoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA2Cgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDcKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwOAoJY29uY2F0CglmcmFtZV9idXJ5IDMgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0OQoJLy8gcmV0dXJuIGFbMV0gKyBhWzRdICsgYVs3XTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgOCA4CglidG9pCglmcmFtZV9kaWcgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDk+CglleHRyYWN0IDMyIDgKCWJ0b2kKCSsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgOT4KCWV4dHJhY3QgNTYgOAoJYnRvaQoJKwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NjlkZWViYyAvLyBtZXRob2QgIm1peGVkU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9taXhlZFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal b/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal index 4014af6b4..c1a723bb6 100644 --- a/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json index 54334186c..b729800c4 100644 --- a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pCgljYWxsc3ViIG11bHRpQnl0ZXNUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQnl0ZXNUdXBsZSgpOiBbYnl0ZXMsIGJ5dGVzXQptdWx0aUJ5dGVzVHVwbGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxOQoJLy8gcmV0dXJuIFtoZXgoJzB4MDEnKSwgaGV4KCcweDAyJyldOwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2JmZDkzNTcgLy8gbWV0aG9kICJtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbXVsdGlCeXRlc1R1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pCgljYWxsc3ViIG11bHRpQnl0ZXNUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQnl0ZXNUdXBsZSgpOiBbYnl0ZXMsIGJ5dGVzXQptdWx0aUJ5dGVzVHVwbGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxOQoJLy8gcmV0dXJuIFtoZXgoJzB4MDEnKSwgaGV4KCcweDAyJyldOwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2JmZDkzNTcgLy8gbWV0aG9kICJtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbXVsdGlCeXRlc1R1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json index aad4d4523..ed9a6965d 100644 --- a/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestMultiBytesTuple.arc56_draft.json @@ -586,7 +586,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pCgljYWxsc3ViIG11bHRpQnl0ZXNUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQnl0ZXNUdXBsZSgpOiBbYnl0ZXMsIGJ5dGVzXQptdWx0aUJ5dGVzVHVwbGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxOQoJLy8gcmV0dXJuIFtoZXgoJzB4MDEnKSwgaGV4KCcweDAyJyldOwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2JmZDkzNTcgLy8gbWV0aG9kICJtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbXVsdGlCeXRlc1R1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKQoqYWJpX3JvdXRlX211bHRpQnl0ZXNUdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG11bHRpQnl0ZXNUdXBsZSgpKGJ5dGVbXSxieXRlW10pCgljYWxsc3ViIG11bHRpQnl0ZXNUdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQnl0ZXNUdXBsZSgpOiBbYnl0ZXMsIGJ5dGVzXQptdWx0aUJ5dGVzVHVwbGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxOQoJLy8gcmV0dXJuIFtoZXgoJzB4MDEnKSwgaGV4KCcweDAyJyldOwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2JmZDkzNTcgLy8gbWV0aG9kICJtdWx0aUJ5dGVzVHVwbGUoKShieXRlW10sYnl0ZVtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbXVsdGlCeXRlc1R1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal index c31b50f29..beb40f959 100644 --- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal +++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json index 983111895..1b1c8f77e 100644 --- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json +++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3OTMKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzUsIDZdLAoJLy8gICAgICAgICBbNywgOF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0MDUwNjA3MDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNAoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDUKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA3CgkvLyBjWzFdID0gOSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CglwdXNoYnl0ZXMgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzZDY0MDVkZiAvLyBtZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3OTMKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzUsIDZdLAoJLy8gICAgICAgICBbNywgOF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0MDUwNjA3MDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNAoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDUKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA3CgkvLyBjWzFdID0gOSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CglwdXNoYnl0ZXMgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzZDY0MDVkZiAvLyBtZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json index a4ebc0447..3fd195fa4 100644 --- a/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestMultiNestedArrayRef.arc56_draft.json @@ -411,7 +411,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3OTMKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzUsIDZdLAoJLy8gICAgICAgICBbNywgOF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0MDUwNjA3MDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNAoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDUKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA3CgkvLyBjWzFdID0gOSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CglwdXNoYnl0ZXMgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzZDY0MDVkZiAvLyBtZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbXVsdGlOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl1bMl0KCWNhbGxzdWIgbXVsdGlOZXN0ZWRBcnJheVJlZgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+LCAyPgptdWx0aU5lc3RlZEFycmF5UmVmOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3OTMKCS8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICAgIFsKCS8vICAgICAgICAgWzUsIDZdLAoJLy8gICAgICAgICBbNywgOF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0MDUwNjA3MDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgwNAoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4MDUKCS8vIGMgPSBiWzFdCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA3CgkvLyBjWzFdID0gOSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4sIDI+CglwdXNoYnl0ZXMgMHgwOQoJcmVwbGFjZTIgNwoJZnJhbWVfYnVyeSAwIC8vIGM6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODA5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPiwgMj4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzZDY0MDVkZiAvLyBtZXRob2QgIm11bHRpTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tdWx0aU5lc3RlZEFycmF5UmVmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNamedTuple.approval.teal b/tests/contracts/artifacts/ABITestNamedTuple.approval.teal index 9651ba713..c728f8b1b 100644 --- a/tests/contracts/artifacts/ABITestNamedTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestNamedTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNamedTuple.arc32.json b/tests/contracts/artifacts/ABITestNamedTuple.arc32.json index 08ab4e4b5..9e29d8ebc 100644 --- a/tests/contracts/artifacts/ABITestNamedTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestNamedTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX25hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgbmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuYW1lZFR1cGxlKCk6IHN0cmluZwpuYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjAyCgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhNzU2NTA1MyAvLyBtZXRob2QgIm5hbWVkVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmFtZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX25hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgbmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuYW1lZFR1cGxlKCk6IHN0cmluZwpuYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjAyCgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhNzU2NTA1MyAvLyBtZXRob2QgIm5hbWVkVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmFtZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json index 5a854b55d..820b8880d 100644 --- a/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNamedTuple.arc56_draft.json @@ -846,7 +846,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX25hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgbmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuYW1lZFR1cGxlKCk6IHN0cmluZwpuYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjAyCgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhNzU2NTA1MyAvLyBtZXRob2QgIm5hbWVkVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmFtZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKYnl0ZWNibG9jayAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX25hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgbmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuYW1lZFR1cGxlKCk6IHN0cmluZwpuYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjAyCgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIZWxsbyBXb3JsZCEnLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjEwCgkvLyByZXR1cm4gYS5iYXI7CglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglleHRyYWN0MwoJZXh0cmFjdCAyIDAKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhNzU2NTA1MyAvLyBtZXRob2QgIm5hbWVkVHVwbGUoKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmFtZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal index 8a9aa163d..1f2d0f173 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json index 4ee3619d3..00c4c531a 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyNgoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyOAoJLy8gcmV0dXJuIGEuZm9vLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGQwYjliNDkgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyNgoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyOAoJLy8gcmV0dXJuIGEuZm9vLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGQwYjliNDkgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json index 0f3154efb..0b043db01 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObject.arc56_draft.json @@ -390,7 +390,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyNgoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyOAoJLy8gcmV0dXJuIGEuZm9vLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGQwYjliNDkgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdCgpOiB1aW50NjQKbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyNgoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQyOAoJLy8gcmV0dXJuIGEuZm9vLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgZm9vOiBTdGF0aWNBcnJheTx1aW50OCwgNT4gfQoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGQwYjliNDkgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal index 4bb5eeef4..3455384d8 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json index ec18ffabd..bad508a0f 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNAoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNwoJLy8gcmV0dXJuIGIubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODYwOGUwZDYgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNAoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNwoJLy8gcmV0dXJuIGIubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODYwOGUwZDYgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json index 44f24147e..f7159b63f 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedArrayLengthInObjectVariable.arc56_draft.json @@ -382,7 +382,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNAoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNwoJLy8gcmV0dXJuIGIubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODYwOGUwZDYgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlKCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKTogdWludDY0Cm5lc3RlZEFycmF5TGVuZ3RoSW5PYmplY3RWYXJpYWJsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNAoJLy8gYTogeyBmb286IFN0YXRpY0FycmF5PHVpbnQ4LCA1PiB9ID0geyBmb286IFsxMSwgMjIsIDMzLCA0NCwgNTVdIH0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IGZvbzogU3RhdGljQXJyYXk8dWludDgsIDU+IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQzNwoJLy8gcmV0dXJuIGIubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODYwOGUwZDYgLy8gbWV0aG9kICJuZXN0ZWRBcnJheUxlbmd0aEluT2JqZWN0VmFyaWFibGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkQXJyYXlMZW5ndGhJbk9iamVjdFZhcmlhYmxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal index 8aa83906c..9fb651d18 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedArrayRef.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json index 00a859da5..54ff365dd 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedArrayRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2MQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NQoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjcKCS8vIGJbMV0gPSA1IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNTJlMGU3IC8vIG1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2MQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NQoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjcKCS8vIGJbMV0gPSA1IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNTJlMGU3IC8vIG1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json index efbf68532..2b6d0a9aa 100644 --- a/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedArrayRef.arc56_draft.json @@ -407,7 +407,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2MQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NQoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjcKCS8vIGJbMV0gPSA1IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNTJlMGU3IC8vIG1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbmVzdGVkQXJyYXlSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0KCWNhbGxzdWIgbmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRBcnJheVJlZigpOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KbmVzdGVkQXJyYXlSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2MQoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWzEsIDJdLAoJLy8gICAgICAgWzMsIDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAxMDIwMzA0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjc2NQoJLy8gYiA9IGFbMV0KCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NjcKCS8vIGJbMV0gPSA1IGFzIHVpbnQ8OD4KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzY5CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNTJlMGU3IC8vIG1ldGhvZCAibmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedObject.approval.teal b/tests/contracts/artifacts/ABITestNestedObject.approval.teal index df812b2d7..c6cc966ec 100644 --- a/tests/contracts/artifacts/ABITestNestedObject.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedObject.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedObject.arc32.json b/tests/contracts/artifacts/ABITestNestedObject.arc32.json index f5c648b9d..822e8ad79 100644 --- a/tests/contracts/artifacts/ABITestNestedObject.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedObject.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA4NgoJLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDg3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJjM2M3YzJhIC8vIG1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA4NgoJLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDg3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJjM2M3YzJhIC8vIG1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json index b8766c176..174df325d 100644 --- a/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedObject.arc56_draft.json @@ -441,7 +441,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA4NgoJLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDg3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJjM2M3YzJhIC8vIG1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0KCl1aW50NjQKKmFiaV9yb3V0ZV9uZXN0ZWRPYmplY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRPYmplY3QoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRPYmplY3QoKTogdWludDY0Cm5lc3RlZE9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA4NgoJLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9ID0geyBiOiB7IGM6IHsgZDogMSB9IH0gfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgYjogeyBjOiB7IGQ6IHVpbnQ2NCB9IH0gfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDg3CgkvLyBhLmIuYy5kID0gMgoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwODgKCS8vIHJldHVybiBhLmIuYy5kOwoJZnJhbWVfZGlnIDAgLy8gYTogeyBiOiB7IGM6IHsgZDogdWludDY0IH0gfSB9CglleHRyYWN0IDAgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJjM2M3YzJhIC8vIG1ldGhvZCAibmVzdGVkT2JqZWN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZE9iamVjdAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal b/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal index c7e623242..3f1447d16 100644 --- a/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedObjectType.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json b/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json index 1db6b5649..7573d6b5c 100644 --- a/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedObjectType.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NgoJLy8gYTogVDQgPSB7IGI6IHsgYzogeyBkOiAxIH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NwoJLy8gYS5iLmMuZCA9IDIKCWZyYW1lX2RpZyAwIC8vIGE6IFQ0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZTI2NGExOCAvLyBtZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NgoJLy8gYTogVDQgPSB7IGI6IHsgYzogeyBkOiAxIH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NwoJLy8gYS5iLmMuZCA9IDIKCWZyYW1lX2RpZyAwIC8vIGE6IFQ0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZTI2NGExOCAvLyBtZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json index 47d4fb877..b0292bb85 100644 --- a/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedObjectType.arc56_draft.json @@ -441,7 +441,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NgoJLy8gYTogVDQgPSB7IGI6IHsgYzogeyBkOiAxIH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NwoJLy8gYS5iLmMuZCA9IDIKCWZyYW1lX2RpZyAwIC8vIGE6IFQ0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZTI2NGExOCAvLyBtZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRPYmplY3RUeXBlCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkT2JqZWN0VHlwZSgpOiB1aW50NjQKbmVzdGVkT2JqZWN0VHlwZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NgoJLy8gYTogVDQgPSB7IGI6IHsgYzogeyBkOiAxIH0gfSB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5NwoJLy8gYS5iLmMuZCA9IDIKCWZyYW1lX2RpZyAwIC8vIGE6IFQ0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gYTogVDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA5OAoJLy8gcmV0dXJuIGEuYi5jLmQ7CglmcmFtZV9kaWcgMCAvLyBhOiBUNAoJZXh0cmFjdCAwIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZTI2NGExOCAvLyBtZXRob2QgIm5lc3RlZE9iamVjdFR5cGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkT2JqZWN0VHlwZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal index 10274e59c..109d87dc0 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json index 8aa8eab9d..64836c20c 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTk4CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMDQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWV4dHJhY3QgMzIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNlMzA3YzU1IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTk4CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMDQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWV4dHJhY3QgMzIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNlMzA3YzU1IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json index 66c074707..5697469b2 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedStaticArray.arc56_draft.json @@ -465,7 +465,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTk4CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMDQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWV4dHJhY3QgMzIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNlMzA3YzU1IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTk4CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMDQKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCWV4dHJhY3QgMzIgOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDNlMzA3YzU1IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal index 6e6bbd3db..4c67fa586 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json index 8967d6ee3..12cfca80f 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQxNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzLCA0NCwgNTVdLAoJLy8gICAgICAgWzY2LCA3NywgODgsIDk5LCAxMDBdLAoJLy8gICAgICAgWzEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwYjE2MjEyYzM3NDI0ZDU4NjM2NDY1NjY2NzY4NjkKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50OCwgNT4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjAKCS8vIHJldHVybiBhWzBdLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCXB1c2hpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1Nzg4YzE5IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQxNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzLCA0NCwgNTVdLAoJLy8gICAgICAgWzY2LCA3NywgODgsIDk5LCAxMDBdLAoJLy8gICAgICAgWzEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwYjE2MjEyYzM3NDI0ZDU4NjM2NDY1NjY2NzY4NjkKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50OCwgNT4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjAKCS8vIHJldHVybiBhWzBdLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCXB1c2hpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1Nzg4YzE5IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json index a86361c81..3c234ba6c 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedStaticArrayLength.arc56_draft.json @@ -400,7 +400,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQxNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzLCA0NCwgNTVdLAoJLy8gICAgICAgWzY2LCA3NywgODgsIDk5LCAxMDBdLAoJLy8gICAgICAgWzEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwYjE2MjEyYzM3NDI0ZDU4NjM2NDY1NjY2NzY4NjkKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50OCwgNT4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjAKCS8vIHJldHVybiBhWzBdLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCXB1c2hpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1Nzg4YzE5IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApuZXN0ZWRTdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQxNAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDgsIDU+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzLCA0NCwgNTVdLAoJLy8gICAgICAgWzY2LCA3NywgODgsIDk5LCAxMDBdLAoJLy8gICAgICAgWzEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwYjE2MjEyYzM3NDI0ZDU4NjM2NDY1NjY2NzY4NjkKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50OCwgNT4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0MjAKCS8vIHJldHVybiBhWzBdLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ4LCA1PiwgMz4KCXB1c2hpbnQgNQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM1Nzg4YzE5IC8vIG1ldGhvZCAibmVzdGVkU3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RhdGljQXJyYXlMZW5ndGgKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal index 8cf462485..8cca10ce3 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json index 8c9e424fd..3ab424548 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDA5CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNQoJLy8gc3VtID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI3CgkvLyBhWzFdLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDI0IDI0CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjgKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCSsKCWR1cAoJcHVzaGludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjViMTkyMWQgLy8gbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDA5CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNQoJLy8gc3VtID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI3CgkvLyBhWzFdLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDI0IDI0CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjgKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCSsKCWR1cAoJcHVzaGludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjViMTkyMWQgLy8gbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json index 0380b65ec..bb8570bdb 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedStaticForEach.arc56_draft.json @@ -707,7 +707,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDA5CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNQoJLy8gc3VtID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI3CgkvLyBhWzFdLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDI0IDI0CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjgKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCSsKCWR1cAoJcHVzaGludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjViMTkyMWQgLy8gbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfbmVzdGVkU3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRTdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkU3RhdGljRm9yRWFjaCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyMAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4gPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDUwMDAwMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDA5CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMyNQoJLy8gc3VtID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzI3CgkvLyBhWzFdLmZvckVhY2gKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDI0IDI0CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yRWFjaF8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMjgKCS8vIHN1bSArPSB2CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoJZnJhbWVfZGlnIDMgLy8gdjogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gc3VtOiB1aW50NjQKCgkvLyBpbmNyZW1lbnQgb2Zmc2V0IGFuZCBsb29wIGlmIG5vdCBvdXQgb2YgYm91bmRzCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCSsKCWR1cAoJcHVzaGludCAyNCAvLyBvZmZzZXQgb2YgbGFzdCBlbGVtZW50Cgk8CglieiAqZm9yRWFjaF8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yRWFjaF8wCgoqZm9yRWFjaF8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzMxCgkvLyByZXR1cm4gc3VtOwoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiA0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjViMTkyMWQgLy8gbWV0aG9kICJuZXN0ZWRTdGF0aWNGb3JFYWNoKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal index 9386bb056..dd895ab35 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 24 0 1 8 bytecblock 0x 0x624b6579 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json index af6618743..1d7940554 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNCAwIDEgOApieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CgljYWxsc3ViIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaEluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzM5CgkvLyB0aGlzLmJLZXkudmFsdWUgPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZWMgMSAvLyAgImJLZXkiCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZWMgMSAvLyAgImJLZXkiCglpbnRjIDAgLy8gMjQKCWR1cAoJYm94X2V4dHJhY3QKCWR1cAoJZnJhbWVfYnVyeSAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyB2OiB1aW50NjQKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NwoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMiAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDMgLy8gOAoJKwoJZHVwCglpbnRjIDAgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMyAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMjA5MDhhMiAvLyBtZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNCAwIDEgOApieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CgljYWxsc3ViIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaEluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzM5CgkvLyB0aGlzLmJLZXkudmFsdWUgPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZWMgMSAvLyAgImJLZXkiCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZWMgMSAvLyAgImJLZXkiCglpbnRjIDAgLy8gMjQKCWR1cAoJYm94X2V4dHJhY3QKCWR1cAoJZnJhbWVfYnVyeSAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyB2OiB1aW50NjQKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NwoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMiAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDMgLy8gOAoJKwoJZHVwCglpbnRjIDAgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMyAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMjA5MDhhMiAvLyBtZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json index 6389146b8..1cd168c93 100644 --- a/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedStaticForEachInBox.arc56_draft.json @@ -735,7 +735,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNCAwIDEgOApieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CgljYWxsc3ViIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaEluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzM5CgkvLyB0aGlzLmJLZXkudmFsdWUgPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZWMgMSAvLyAgImJLZXkiCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZWMgMSAvLyAgImJLZXkiCglpbnRjIDAgLy8gMjQKCWR1cAoJYm94X2V4dHJhY3QKCWR1cAoJZnJhbWVfYnVyeSAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyB2OiB1aW50NjQKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NwoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMiAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDMgLy8gOAoJKwoJZHVwCglpbnRjIDAgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMyAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMjA5MDhhMiAvLyBtZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNCAwIDEgOApieXRlY2Jsb2NrIDB4IDB4NjI0YjY1NzkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3goKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFN0YXRpY0ZvckVhY2hJbkJveDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0CgljYWxsc3ViIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpOiB1aW50NjQKbmVzdGVkU3RhdGljRm9yRWFjaEluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzM5CgkvLyB0aGlzLmJLZXkudmFsdWUgPSBbCgkvLyAgICAgICBbMSwgMiwgM10sCgkvLyAgICAgICBbNCwgNSwgNl0sCgkvLyAgICAgICBbNywgOCwgOV0sCgkvLyAgICAgXQoJYnl0ZWMgMSAvLyAgImJLZXkiCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwNTAwMDAwMDAwMDAwMDAwMDYwMDAwMDAwMDAwMDAwMDA3MDAwMDAwMDAwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDkKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NAoJLy8gc3VtID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzQ2CgkvLyB0aGlzLmJLZXkudmFsdWVbMV0uZm9yRWFjaAoJYnl0ZWMgMSAvLyAgImJLZXkiCglpbnRjIDAgLy8gMjQKCWR1cAoJYm94X2V4dHJhY3QKCWR1cAoJZnJhbWVfYnVyeSAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyB2OiB1aW50NjQKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCipmb3JFYWNoXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM0NwoJLy8gc3VtICs9IHYKCWZyYW1lX2RpZyAwIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMiAvLyB2OiB1aW50NjQKCSsKCWZyYW1lX2J1cnkgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyAzIC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDMgLy8gOAoJKwoJZHVwCglpbnRjIDAgLy8gIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JFYWNoXzBfZW5kCglmcmFtZV9idXJ5IDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWZyYW1lX2RpZyAxIC8vIGNvcHkgb2YgdGhlIGFycmF5IHdlIGFyZSBpdGVyYXRpbmcgb3ZlcgoJZnJhbWVfZGlnIDMgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMyAvLyA4CglleHRyYWN0CglidG9pCglmcmFtZV9idXJ5IDIgLy8gdjogdWludDY0CgliICpmb3JFYWNoXzAKCipmb3JFYWNoXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzNTAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMCAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMjA5MDhhMiAvLyBtZXRob2QgIm5lc3RlZFN0YXRpY0ZvckVhY2hJbkJveCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRTdGF0aWNGb3JFYWNoSW5Cb3gKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal index bd0d12bcd..7d466094a 100644 --- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 bytecblock 0x624d6170 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json index f70ba67ac..7ce0714e6 100644 --- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZWMgMCAvLyAgImJNYXAiCglwdXNoYnl0ZXMgMHgwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgxCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gMwoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODIKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSA8dWludDg+MgoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGVjIDAgLy8gICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0MTNhMDlmIC8vIG1ldGhvZCAibmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXAKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZWMgMCAvLyAgImJNYXAiCglwdXNoYnl0ZXMgMHgwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgxCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gMwoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODIKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSA8dWludDg+MgoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGVjIDAgLy8gICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0MTNhMDlmIC8vIG1ldGhvZCAibmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXAKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json index 78776d6a8..359a0e250 100644 --- a/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedStructInBoxMap.arc56_draft.json @@ -467,7 +467,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZWMgMCAvLyAgImJNYXAiCglwdXNoYnl0ZXMgMHgwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgxCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gMwoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODIKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSA8dWludDg+MgoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGVjIDAgLy8gICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0MTNhMDlmIC8vIG1ldGhvZCAibmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXAKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoqYWJpX3JvdXRlX25lc3RlZFN0cnVjdEluQm94TWFwOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKQoJY2FsbHN1YiBuZXN0ZWRTdHJ1Y3RJbkJveE1hcAoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5lc3RlZFN0cnVjdEluQm94TWFwKCk6IFQ4Cm5lc3RlZFN0cnVjdEluQm94TWFwOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0geyBmb286IHsgYmFyOiAxIH0gfQoJYnl0ZWMgMCAvLyAgImJNYXAiCglwdXNoYnl0ZXMgMHgwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjgxCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5mb28uYmFyID0gMwoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDMKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODIKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmZvby5iYXIgPSA8dWludDg+MgoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDAgLy8gMAoJcHVzaGJ5dGVzIDB4MDIKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyODMKCS8vIHJldHVybiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZTsKCWJ5dGVjIDAgLy8gICJiTWFwIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE0MTNhMDlmIC8vIG1ldGhvZCAibmVzdGVkU3RydWN0SW5Cb3hNYXAoKSgodWludDgpKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbmVzdGVkU3RydWN0SW5Cb3hNYXAKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedTuple.approval.teal b/tests/contracts/artifacts/ABITestNestedTuple.approval.teal index 55f3c6b4c..ebb2240b7 100644 --- a/tests/contracts/artifacts/ABITestNestedTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedTuple.arc32.json b/tests/contracts/artifacts/ABITestNestedTuple.arc32.json index 750367767..2b49e414f 100644 --- a/tests/contracts/artifacts/ABITestNestedTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCgljYWxsc3ViIG5lc3RlZFR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHVwbGUoKTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCm5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjkyCgkvLyBhOiBbdWludDE2LCBbdWludDw4Piwgc3RyaW5nXSwgW3VpbnQxNiwgc3RyaW5nXV0gPSBbMTEsIFsyMiwgJ2ZvbyddLCBbMzMsICdiYXInXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDE2CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNjY2ZjZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAyMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NDliYjcwMTkgLy8gbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCgljYWxsc3ViIG5lc3RlZFR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHVwbGUoKTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCm5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjkyCgkvLyBhOiBbdWludDE2LCBbdWludDw4Piwgc3RyaW5nXSwgW3VpbnQxNiwgc3RyaW5nXV0gPSBbMTEsIFsyMiwgJ2ZvbyddLCBbMzMsICdiYXInXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDE2CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNjY2ZjZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAyMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NDliYjcwMTkgLy8gbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json index 81ceb0cbe..c44ef4af6 100644 --- a/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedTuple.arc56_draft.json @@ -826,7 +826,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCgljYWxsc3ViIG5lc3RlZFR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHVwbGUoKTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCm5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjkyCgkvLyBhOiBbdWludDE2LCBbdWludDw4Piwgc3RyaW5nXSwgW3VpbnQxNiwgc3RyaW5nXV0gPSBbMTEsIFsyMiwgJ2ZvbyddLCBbMzMsICdiYXInXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDE2CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNjY2ZjZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAyMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NDliYjcwMTkgLy8gbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCiphYmlfcm91dGVfbmVzdGVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpCgljYWxsc3ViIG5lc3RlZFR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHVwbGUoKTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCm5lc3RlZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjkyCgkvLyBhOiBbdWludDE2LCBbdWludDw4Piwgc3RyaW5nXSwgW3VpbnQxNiwgc3RyaW5nXV0gPSBbMTEsIFsyMiwgJ2ZvbyddLCBbMzMsICdiYXInXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMGIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDAzIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDE2CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNjY2ZjZmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDQgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAyMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIFt1aW50PDg+LCBzdHJpbmddLCBbdWludDE2LCBzdHJpbmddXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2OTQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgW3VpbnQ8OD4sIHN0cmluZ10sIFt1aW50MTYsIHN0cmluZ11dCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NDliYjcwMTkgLy8gbWV0aG9kICJuZXN0ZWRUdXBsZSgpKHVpbnQxNiwodWludDgsc3RyaW5nKSwodWludDE2LHN0cmluZykpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal b/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal index 42d309bce..98218f0b8 100644 --- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal +++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json index a5ea3c38f..1ea50141a 100644 --- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json +++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpCiphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNzMzMTY2IC8vIG1ldGhvZCAibmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpCiphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNzMzMTY2IC8vIG1ldGhvZCAibmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json index 1fa57dac9..0c3d25398 100644 --- a/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNestedTypesInSignature.arc56_draft.json @@ -362,7 +362,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpCiphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNzMzMTY2IC8vIG1ldGhvZCAibmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpCiphYmlfcm91dGVfbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5lc3RlZFR5cGVzSW5TaWduYXR1cmUoKSgodWludDY0LHVpbnQ2NCksdWludDY0KQoJY2FsbHN1YiBuZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpOiBbVDUsIHVpbnQ2NF0KbmVzdGVkVHlwZXNJblNpZ25hdHVyZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTM2CgkvLyByZXR1cm4gW2J6ZXJvPFQ1PigpLCAwXTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIyNzMzMTY2IC8vIG1ldGhvZCAibmVzdGVkVHlwZXNJblNpZ25hdHVyZSgpKCh1aW50NjQsdWludDY0KSx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9uZXN0ZWRUeXBlc0luU2lnbmF0dXJlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNonE2E.approval.teal b/tests/contracts/artifacts/ABITestNonE2E.approval.teal index 2f42d5c85..e7ec95c9f 100644 --- a/tests/contracts/artifacts/ABITestNonE2E.approval.teal +++ b/tests/contracts/artifacts/ABITestNonE2E.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNonE2E.arc32.json b/tests/contracts/artifacts/ABITestNonE2E.arc32.json index 3d7b11df0..b8e020d3b 100644 --- a/tests/contracts/artifacts/ABITestNonE2E.arc32.json +++ b/tests/contracts/artifacts/ABITestNonE2E.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHR5cGVXaXRoQ29tbWVudHMoKShzdHJpbmcsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgdHlwZVdpdGhDb21tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR5cGVXaXRoQ29tbWVudHMoKTogVDYKdHlwZVdpdGhDb21tZW50czoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTYwCgkvLyByZXR1cm4gewoJLy8gICAgICAgZm9vOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICAgIGJhcjogMSwKCS8vICAgICAgIGJhejogMiwKCS8vICAgICB9OwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIxMTdhM2I4IC8vIG1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHR5cGVXaXRoQ29tbWVudHMoKShzdHJpbmcsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgdHlwZVdpdGhDb21tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR5cGVXaXRoQ29tbWVudHMoKTogVDYKdHlwZVdpdGhDb21tZW50czoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTYwCgkvLyByZXR1cm4gewoJLy8gICAgICAgZm9vOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICAgIGJhcjogMSwKCS8vICAgICAgIGJhejogMiwKCS8vICAgICB9OwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIxMTdhM2I4IC8vIG1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json b/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json index cbb84d3b8..e79ac0738 100644 --- a/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNonE2E.arc56_draft.json @@ -698,7 +698,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHR5cGVXaXRoQ29tbWVudHMoKShzdHJpbmcsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgdHlwZVdpdGhDb21tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR5cGVXaXRoQ29tbWVudHMoKTogVDYKdHlwZVdpdGhDb21tZW50czoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTYwCgkvLyByZXR1cm4gewoJLy8gICAgICAgZm9vOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICAgIGJhcjogMSwKCS8vICAgICAgIGJhejogMiwKCS8vICAgICB9OwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIxMTdhM2I4IC8vIG1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0eXBlV2l0aENvbW1lbnRzKCkoc3RyaW5nLHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHR5cGVXaXRoQ29tbWVudHMoKShzdHJpbmcsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgdHlwZVdpdGhDb21tZW50cwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR5cGVXaXRoQ29tbWVudHMoKTogVDYKdHlwZVdpdGhDb21tZW50czoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTYwCgkvLyByZXR1cm4gewoJLy8gICAgICAgZm9vOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICAgIGJhcjogMSwKCS8vICAgICAgIGJhejogMiwKCS8vICAgICB9OwoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMTIgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDIKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDIxMTdhM2I4IC8vIG1ldGhvZCAidHlwZVdpdGhDb21tZW50cygpKHN0cmluZyx1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZVdpdGhDb21tZW50cwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal index 0e8a155c8..6880a841c 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json index 04cf967e0..b4d610039 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNix1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0Kbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIwCgkvLyBlOiB1aW50MTZbXSA9IFs1LCA2XQoJcHVzaGJ5dGVzIDB4MDAwNTAwMDYKCWZyYW1lX2J1cnkgMCAvLyBlOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjEKCS8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbMSwgMiwgWzMsIDRdLCBlLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMCAvLyBlOiB1aW50MTZbXQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxMzQ2YTIwZiAvLyBtZXRob2QgIm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNix1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0Kbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIwCgkvLyBlOiB1aW50MTZbXSA9IFs1LCA2XQoJcHVzaGJ5dGVzIDB4MDAwNTAwMDYKCWZyYW1lX2J1cnkgMCAvLyBlOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjEKCS8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbMSwgMiwgWzMsIDRdLCBlLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMCAvLyBlOiB1aW50MTZbXQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxMzQ2YTIwZiAvLyBtZXRob2QgIm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json index 72769a9aa..9573e039d 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNonLiteralDynamicElementInTuple.arc56_draft.json @@ -822,7 +822,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNix1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0Kbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIwCgkvLyBlOiB1aW50MTZbXSA9IFs1LCA2XQoJcHVzaGJ5dGVzIDB4MDAwNTAwMDYKCWZyYW1lX2J1cnkgMCAvLyBlOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjEKCS8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbMSwgMiwgWzMsIDRdLCBlLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMCAvLyBlOiB1aW50MTZbXQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxMzQ2YTIwZiAvLyBtZXRob2QgIm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDgsdWludDE2LHVpbnQ4W10sdWludDE2W10sdWludDhbXSkKKmFiaV9yb3V0ZV9ub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQ4LHVpbnQxNix1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIG5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsRHluYW1pY0VsZW1lbnRJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0Kbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDIwCgkvLyBlOiB1aW50MTZbXSA9IFs1LCA2XQoJcHVzaGJ5dGVzIDB4MDAwNTAwMDYKCWZyYW1lX2J1cnkgMCAvLyBlOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjEKCS8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbMSwgMiwgWzMsIDRdLCBlLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMCAvLyBlOiB1aW50MTZbXQoJZHVwCglsZW4KCXB1c2hpbnQgMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDIwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MjMKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDEgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNiwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxMzQ2YTIwZiAvLyBtZXRob2QgIm5vbkxpdGVyYWxEeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50OCx1aW50MTYsdWludDhbXSx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbER5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal index c760a3d06..07c6d8e17 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal +++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json index 632f0f492..900b20ab5 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json +++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXQoJY2FsbHN1YiBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+Cm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzc1CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzgwCgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODMKCS8vIGkgPSAxMzM3CglwdXNoaW50IDEzMzcKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg1CgkvLyBiWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCWZyYW1lX2RpZyAyIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoJcHVzaGludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAxCgkrCglwdXNoYnl0ZXMgMHgwNQoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOTQwYzYzYSAvLyBtZXRob2QgIm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXQoJY2FsbHN1YiBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+Cm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzc1CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzgwCgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODMKCS8vIGkgPSAxMzM3CglwdXNoaW50IDEzMzcKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg1CgkvLyBiWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCWZyYW1lX2RpZyAyIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoJcHVzaGludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAxCgkrCglwdXNoYnl0ZXMgMHgwNQoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOTQwYzYzYSAvLyBtZXRob2QgIm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json index 346a5492a..17be82e7a 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNonLiteralNestedArrayRef.arc56_draft.json @@ -515,7 +515,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXQoJY2FsbHN1YiBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+Cm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzc1CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzgwCgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODMKCS8vIGkgPSAxMzM3CglwdXNoaW50IDEzMzcKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg1CgkvLyBiWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCWZyYW1lX2RpZyAyIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoJcHVzaGludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAxCgkrCglwdXNoYnl0ZXMgMHgwNQoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOTQwYzYzYSAvLyBtZXRob2QgIm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKXVpbnQ4WzJdWzJdCiphYmlfcm91dGVfbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgbm9uTGl0ZXJhbE5lc3RlZEFycmF5UmVmKCl1aW50OFsyXVsyXQoJY2FsbHN1YiBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub25MaXRlcmFsTmVzdGVkQXJyYXlSZWYoKTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDw4PiwgMj4sIDI+Cm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzc1CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4gPSBbCgkvLyAgICAgICBbMSwgMl0sCgkvLyAgICAgICBbMywgNF0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDEwMjAzMDQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzgwCgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3ODMKCS8vIGkgPSAxMzM3CglwdXNoaW50IDEzMzcKCWZyYW1lX2J1cnkgMSAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg1CgkvLyBiWzFdID0gNSBhcyB1aW50PDg+CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCWZyYW1lX2RpZyAyIC8vIHNhdmVkIGFjY2Vzc29yOiBhY2Nlc3Nvci8vMC8vYgoJcHVzaGludCAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWludGMgMCAvLyAxCgkrCglwdXNoYnl0ZXMgMHgwNQoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBiOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50PDg+LCAyPiwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Nzg3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ8OD4sIDI+LCAyPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOTQwYzYzYSAvLyBtZXRob2QgIm5vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZigpdWludDhbMl1bMl0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX25vbkxpdGVyYWxOZXN0ZWRBcnJheVJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal index 710ed3fb3..3af672dff 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json index 8f8a54bd8..ed6d61eaa 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpOiB1aW50NjQKbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NgoJLy8gbiA9IGJ0b2koaXRvYigyKSkKCXB1c2hpbnQgMgoJZnJhbWVfYnVyeSAxIC8vIG46IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OAoJLy8gcmV0dXJuIGFbbl07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDdiZDhkZjggLy8gbWV0aG9kICJub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpOiB1aW50NjQKbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NgoJLy8gbiA9IGJ0b2koaXRvYigyKSkKCXB1c2hpbnQgMgoJZnJhbWVfYnVyeSAxIC8vIG46IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OAoJLy8gcmV0dXJuIGFbbl07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDdiZDhkZjggLy8gbWV0aG9kICJub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json index 8b9ebfb53..2465199ac 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayAccess.arc56_draft.json @@ -456,7 +456,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpOiB1aW50NjQKbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NgoJLy8gbiA9IGJ0b2koaXRvYigyKSkKCXB1c2hpbnQgMgoJZnJhbWVfYnVyeSAxIC8vIG46IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OAoJLy8gcmV0dXJuIGFbbl07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDdiZDhkZjggLy8gbWV0aG9kICJub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NAoqYWJpX3JvdXRlX25vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG5vbkxpdGVyYWxTdGF0aWNBcnJheUFjY2VzcygpOiB1aW50NjQKbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NgoJLy8gbiA9IGJ0b2koaXRvYigyKSkKCXB1c2hpbnQgMgoJZnJhbWVfYnVyeSAxIC8vIG46IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OAoJLy8gcmV0dXJuIGFbbl07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglleHRyYWN0IDE2IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDdiZDhkZjggLy8gbWV0aG9kICJub25MaXRlcmFsU3RhdGljQXJyYXlBY2Nlc3MoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal index ac715bfaf..5d92eb4b6 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json index 15c096804..8d93895f5 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMwoJLy8gbjEgPSBidG9pKGl0b2IoMTEpKQoJcHVzaGludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCXB1c2hpbnQgMjIKCWZyYW1lX2J1cnkgMSAvLyBuMjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1CgkvLyBuMyA9IGJ0b2koaXRvYigzMykpCglwdXNoaW50IDMzCglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFtuMSwgbjIsIG4zXQoJZnJhbWVfZGlnIDAgLy8gbjE6IHVpbnQ2NAoJaXRvYgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAxNgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJjZWNmMzFmIC8vIG1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMwoJLy8gbjEgPSBidG9pKGl0b2IoMTEpKQoJcHVzaGludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCXB1c2hpbnQgMjIKCWZyYW1lX2J1cnkgMSAvLyBuMjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1CgkvLyBuMyA9IGJ0b2koaXRvYigzMykpCglwdXNoaW50IDMzCglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFtuMSwgbjIsIG4zXQoJZnJhbWVfZGlnIDAgLy8gbjE6IHVpbnQ2NAoJaXRvYgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAxNgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJjZWNmMzFmIC8vIG1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json index 3c520a775..c89835273 100644 --- a/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestNonLiteralStaticArrayElements.arc56_draft.json @@ -518,7 +518,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMwoJLy8gbjEgPSBidG9pKGl0b2IoMTEpKQoJcHVzaGludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCXB1c2hpbnQgMjIKCWZyYW1lX2J1cnkgMSAvLyBuMjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1CgkvLyBuMyA9IGJ0b2koaXRvYigzMykpCglwdXNoaW50IDMzCglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFtuMSwgbjIsIG4zXQoJZnJhbWVfZGlnIDAgLy8gbjE6IHVpbnQ2NAoJaXRvYgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAxNgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJjZWNmMzFmIC8vIG1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CiphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBub25MaXRlcmFsU3RhdGljQXJyYXlFbGVtZW50cygpdWludDY0CgljYWxsc3ViIG5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKTogdWludDY0Cm5vbkxpdGVyYWxTdGF0aWNBcnJheUVsZW1lbnRzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMwoJLy8gbjEgPSBidG9pKGl0b2IoMTEpKQoJcHVzaGludCAxMQoJZnJhbWVfYnVyeSAwIC8vIG4xOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQKCS8vIG4yID0gYnRvaShpdG9iKDIyKSkKCXB1c2hpbnQgMjIKCWZyYW1lX2J1cnkgMSAvLyBuMjogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM1CgkvLyBuMyA9IGJ0b2koaXRvYigzMykpCglwdXNoaW50IDMzCglmcmFtZV9idXJ5IDIgLy8gbjM6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFtuMSwgbjIsIG4zXQoJZnJhbWVfZGlnIDAgLy8gbjE6IHVpbnQ2NAoJaXRvYgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAxNgoJY29uY2F0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDIxCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjM4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAzIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJjZWNmMzFmIC8vIG1ldGhvZCAibm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfbm9uTGl0ZXJhbFN0YXRpY0FycmF5RWxlbWVudHMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal b/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal index 7777fe5c3..c0bc411a4 100644 --- a/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal +++ b/tests/contracts/artifacts/ABITestObjectArrayRef.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json b/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json index c6daa45a9..4231f10ef 100644 --- a/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json +++ b/tests/contracts/artifacts/ABITestObjectArrayRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0QXJyYXlSZWYoKSh1aW50OFsyXVsyXSkKKmFiaV9yb3V0ZV9vYmplY3RBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODE3CgkvLyBhOiBPYmplY3RSZWZUeXBlID0gewoJLy8gICAgICAgZm9vOiBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICB9CglwdXNoYnl0ZXMgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IE9iamVjdFJlZlR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI0CgkvLyBjID0gYlsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyNgoJLy8gY1sxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogT2JqZWN0UmVmVHlwZQoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTQ1YjQwMTYgLy8gbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0QXJyYXlSZWYoKSh1aW50OFsyXVsyXSkKKmFiaV9yb3V0ZV9vYmplY3RBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODE3CgkvLyBhOiBPYmplY3RSZWZUeXBlID0gewoJLy8gICAgICAgZm9vOiBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICB9CglwdXNoYnl0ZXMgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IE9iamVjdFJlZlR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI0CgkvLyBjID0gYlsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyNgoJLy8gY1sxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogT2JqZWN0UmVmVHlwZQoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTQ1YjQwMTYgLy8gbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json index 60684b715..6ea9c5321 100644 --- a/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestObjectArrayRef.arc56_draft.json @@ -415,7 +415,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0QXJyYXlSZWYoKSh1aW50OFsyXVsyXSkKKmFiaV9yb3V0ZV9vYmplY3RBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODE3CgkvLyBhOiBPYmplY3RSZWZUeXBlID0gewoJLy8gICAgICAgZm9vOiBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICB9CglwdXNoYnl0ZXMgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IE9iamVjdFJlZlR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI0CgkvLyBjID0gYlsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyNgoJLy8gY1sxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogT2JqZWN0UmVmVHlwZQoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTQ1YjQwMTYgLy8gbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0QXJyYXlSZWYoKSh1aW50OFsyXVsyXSkKKmFiaV9yb3V0ZV9vYmplY3RBcnJheVJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdEFycmF5UmVmKCkodWludDhbMl1bMl0pCgljYWxsc3ViIG9iamVjdEFycmF5UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0QXJyYXlSZWYoKTogT2JqZWN0UmVmVHlwZQpvYmplY3RBcnJheVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODE3CgkvLyBhOiBPYmplY3RSZWZUeXBlID0gewoJLy8gICAgICAgZm9vOiBbCgkvLyAgICAgICAgIFsxLCAyXSwKCS8vICAgICAgICAgWzMsIDRdLAoJLy8gICAgICAgXSwKCS8vICAgICB9CglwdXNoYnl0ZXMgMHgwMTAyMDMwNAoJZnJhbWVfYnVyeSAwIC8vIGE6IE9iamVjdFJlZlR5cGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODI0CgkvLyBjID0gYlsxXQoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyNgoJLy8gY1sxXSA9IDUgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogT2JqZWN0UmVmVHlwZQoJcHVzaGJ5dGVzIDB4MDUKCXJlcGxhY2UyIDMKCWZyYW1lX2J1cnkgMCAvLyBjOiBPYmplY3RSZWZUeXBlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgyOAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBPYmplY3RSZWZUeXBlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NTQ1YjQwMTYgLy8gbWV0aG9kICJvYmplY3RBcnJheVJlZigpKHVpbnQ4WzJdWzJdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb2JqZWN0QXJyYXlSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal b/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal index 7dd9549e2..5e2f059fe 100644 --- a/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal +++ b/tests/contracts/artifacts/ABITestObjectInArgs.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json b/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json index 6a9440892..485c87507 100644 --- a/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json +++ b/tests/contracts/artifacts/ABITestObjectInArgs.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJpdmF0ZU1ldGhvZChhOiBBZGRyZXNzLCBvYmo6IE9iamVjdEluQXJnc1R5cGUpOiB1aW50NjQKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA0CgkvLyByZXR1cm4gb2JqLmJhciArIG9iai5mb287CglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIG9iajogT2JqZWN0SW5BcmdzVHlwZQoJZXh0cmFjdCAwIDgKCWJ0b2kKCSsKCXJldHN1YgoKLy8gb2JqZWN0SW5BcmdzKCl1aW50NjQKKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCgl0eG4gU2VuZGVyCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODg2YTk3MSAvLyBtZXRob2QgIm9iamVjdEluQXJncygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJpdmF0ZU1ldGhvZChhOiBBZGRyZXNzLCBvYmo6IE9iamVjdEluQXJnc1R5cGUpOiB1aW50NjQKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA0CgkvLyByZXR1cm4gb2JqLmJhciArIG9iai5mb287CglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIG9iajogT2JqZWN0SW5BcmdzVHlwZQoJZXh0cmFjdCAwIDgKCWJ0b2kKCSsKCXJldHN1YgoKLy8gb2JqZWN0SW5BcmdzKCl1aW50NjQKKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCgl0eG4gU2VuZGVyCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODg2YTk3MSAvLyBtZXRob2QgIm9iamVjdEluQXJncygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json index b31bf66ed..6b3614f07 100644 --- a/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestObjectInArgs.arc56_draft.json @@ -449,7 +449,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJpdmF0ZU1ldGhvZChhOiBBZGRyZXNzLCBvYmo6IE9iamVjdEluQXJnc1R5cGUpOiB1aW50NjQKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA0CgkvLyByZXR1cm4gb2JqLmJhciArIG9iai5mb287CglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIG9iajogT2JqZWN0SW5BcmdzVHlwZQoJZXh0cmFjdCAwIDgKCWJ0b2kKCSsKCXJldHN1YgoKLy8gb2JqZWN0SW5BcmdzKCl1aW50NjQKKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCgl0eG4gU2VuZGVyCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODg2YTk3MSAvLyBtZXRob2QgIm9iamVjdEluQXJncygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJpdmF0ZU1ldGhvZChhOiBBZGRyZXNzLCBvYmo6IE9iamVjdEluQXJnc1R5cGUpOiB1aW50NjQKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA0CgkvLyByZXR1cm4gb2JqLmJhciArIG9iai5mb287CglmcmFtZV9kaWcgLTIgLy8gb2JqOiBPYmplY3RJbkFyZ3NUeXBlCglleHRyYWN0IDggOAoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIG9iajogT2JqZWN0SW5BcmdzVHlwZQoJZXh0cmFjdCAwIDgKCWJ0b2kKCSsKCXJldHN1YgoKLy8gb2JqZWN0SW5BcmdzKCl1aW50NjQKKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBvYmplY3RJbkFyZ3MoKXVpbnQ2NAoJY2FsbHN1YiBvYmplY3RJbkFyZ3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvYmplY3RJbkFyZ3MoKTogdWludDY0Cm9iamVjdEluQXJnczoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDA4CgkvLyByZXR1cm4gdGhpcy5wcml2YXRlTWV0aG9kKHRoaXMudHhuLnNlbmRlciwgeyBmb286IDEsIGJhcjogMiB9KTsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCgl0eG4gU2VuZGVyCgljYWxsc3ViIHByaXZhdGVNZXRob2QKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODg2YTk3MSAvLyBtZXRob2QgIm9iamVjdEluQXJncygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vYmplY3RJbkFyZ3MKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestObjectRef.approval.teal b/tests/contracts/artifacts/ABITestObjectRef.approval.teal index 8efa51a95..07a838a0c 100644 --- a/tests/contracts/artifacts/ABITestObjectRef.approval.teal +++ b/tests/contracts/artifacts/ABITestObjectRef.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestObjectRef.arc32.json b/tests/contracts/artifacts/ABITestObjectRef.arc32.json index 6bfd6ef1a..18f021227 100644 --- a/tests/contracts/artifacts/ABITestObjectRef.arc32.json +++ b/tests/contracts/artifacts/ABITestObjectRef.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0UmVmKCkodWludDY0KQoqYWJpX3JvdXRlX29iamVjdFJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4NgoJLy8gbzogeyBmb286IHVpbnQ2NCB9ID0geyBmb286IDEgfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIG86IHsgZm9vOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5OTAKCS8vIHIuZm9vID0gMgoJZnJhbWVfZGlnIDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NWM3NWFjYSAvLyBtZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0UmVmKCkodWludDY0KQoqYWJpX3JvdXRlX29iamVjdFJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4NgoJLy8gbzogeyBmb286IHVpbnQ2NCB9ID0geyBmb286IDEgfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIG86IHsgZm9vOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5OTAKCS8vIHIuZm9vID0gMgoJZnJhbWVfZGlnIDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NWM3NWFjYSAvLyBtZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json b/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json index 8439bdfcd..04f6f2426 100644 --- a/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestObjectRef.arc56_draft.json @@ -426,7 +426,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0UmVmKCkodWludDY0KQoqYWJpX3JvdXRlX29iamVjdFJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4NgoJLy8gbzogeyBmb286IHVpbnQ2NCB9ID0geyBmb286IDEgfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIG86IHsgZm9vOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5OTAKCS8vIHIuZm9vID0gMgoJZnJhbWVfZGlnIDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NWM3NWFjYSAvLyBtZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb2JqZWN0UmVmKCkodWludDY0KQoqYWJpX3JvdXRlX29iamVjdFJlZjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG9iamVjdFJlZigpKHVpbnQ2NCkKCWNhbGxzdWIgb2JqZWN0UmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb2JqZWN0UmVmKCk6IHsgZm9vOiB1aW50NjQgfQpvYmplY3RSZWY6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk4NgoJLy8gbzogeyBmb286IHVpbnQ2NCB9ID0geyBmb286IDEgfQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJZnJhbWVfYnVyeSAwIC8vIG86IHsgZm9vOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5OTAKCS8vIHIuZm9vID0gMgoJZnJhbWVfZGlnIDAgLy8gbzogeyBmb286IHVpbnQ2NCB9CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAyCglyZXBsYWNlMiAwCglmcmFtZV9idXJ5IDAgLy8gcjogeyBmb286IHVpbnQ2NCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjk5MgoJLy8gcmV0dXJuIG87CglmcmFtZV9kaWcgMCAvLyBvOiB7IGZvbzogdWludDY0IH0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NWM3NWFjYSAvLyBtZXRob2QgIm9iamVjdFJlZigpKHVpbnQ2NCkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX29iamVjdFJlZgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal index 2dbb12919..d8ec8a8b7 100644 --- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal +++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json index 42e7fd847..30870d8b3 100644 --- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json +++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCiphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2NwoJLy8gYTogeyBteUFwcDogQXBwSUQgfSA9IHsgbXlBcHA6IHRoaXMuYXBwIH0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IG15QXBwOiBBcHBJRCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjkKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3OWY3MDMzMyAvLyBtZXRob2QgIm9wY29kZVBhcmFtRnJvbU9iamVjdCgpYWRkcmVzcyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCiphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2NwoJLy8gYTogeyBteUFwcDogQXBwSUQgfSA9IHsgbXlBcHA6IHRoaXMuYXBwIH0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IG15QXBwOiBBcHBJRCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjkKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3OWY3MDMzMyAvLyBtZXRob2QgIm9wY29kZVBhcmFtRnJvbU9iamVjdCgpYWRkcmVzcyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json index 9e426d43d..620963639 100644 --- a/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestOpcodeParamFromObject.arc56_draft.json @@ -378,7 +378,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCiphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2NwoJLy8gYTogeyBteUFwcDogQXBwSUQgfSA9IHsgbXlBcHA6IHRoaXMuYXBwIH0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IG15QXBwOiBBcHBJRCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjkKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3OWY3MDMzMyAvLyBtZXRob2QgIm9wY29kZVBhcmFtRnJvbU9iamVjdCgpYWRkcmVzcyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCiphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0KClhZGRyZXNzCgljYWxsc3ViIG9wY29kZVBhcmFtRnJvbU9iamVjdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wY29kZVBhcmFtRnJvbU9iamVjdCgpOiBBZGRyZXNzCm9wY29kZVBhcmFtRnJvbU9iamVjdDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA2NwoJLy8gYTogeyBteUFwcDogQXBwSUQgfSA9IHsgbXlBcHA6IHRoaXMuYXBwIH0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWZyYW1lX2J1cnkgMCAvLyBhOiB7IG15QXBwOiBBcHBJRCB9CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNjkKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzOwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3OWY3MDMzMyAvLyBtZXRob2QgIm9wY29kZVBhcmFtRnJvbU9iamVjdCgpYWRkcmVzcyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfb3Bjb2RlUGFyYW1Gcm9tT2JqZWN0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal b/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal index aaaa620e3..11beccd85 100644 --- a/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestPartialStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json b/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json index 668fc0ab5..fe312173d 100644 --- a/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestPartialStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9wYXJ0aWFsU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MAoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFsxXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTIKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9wYXJ0aWFsU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MAoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFsxXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTIKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json index 4d585b1e4..f8e5107ff 100644 --- a/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPartialStaticArray.arc56_draft.json @@ -376,7 +376,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9wYXJ0aWFsU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MAoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFsxXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTIKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KKmFiaV9yb3V0ZV9wYXJ0aWFsU3RhdGljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwYXJ0aWFsU3RhdGljQXJyYXkoKXVpbnQxNlszXQoJY2FsbHN1YiBwYXJ0aWFsU3RhdGljQXJyYXkKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwYXJ0aWFsU3RhdGljQXJyYXkoKTogU3RhdGljQXJyYXk8dWludDE2LCAzPgpwYXJ0aWFsU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg1MAoJLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPiA9IFsxXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDAwMDAwCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo4NTIKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDE2LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal index 401d42f57..a18d3b1a9 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal +++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json index 743841dd0..8dff059df 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNBcnJheVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4gPSBbMSwgMl0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjM0CgkvLyBhWzFdICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCXB1c2hpbnQgOAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIzNQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjVlZjc5YmQgLy8gbWV0aG9kICJwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzQXJyYXlWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNBcnJheVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4gPSBbMSwgMl0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjM0CgkvLyBhWzFdICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCXB1c2hpbnQgOAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIzNQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjVlZjc5YmQgLy8gbWV0aG9kICJwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzQXJyYXlWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json index 64295059d..803e8d0f1 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsArrayValue.arc56_draft.json @@ -462,7 +462,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNBcnJheVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4gPSBbMSwgMl0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjM0CgkvLyBhWzFdICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCXB1c2hpbnQgOAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIzNQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjVlZjc5YmQgLy8gbWV0aG9kICJwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzQXJyYXlWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNBcnJheVZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc0FycmF5VmFsdWUoKXVpbnQ2NFsyXQoJY2FsbHN1YiBwbHVzRXF1YWxzQXJyYXlWYWx1ZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNBcnJheVZhbHVlKCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KcGx1c0VxdWFsc0FycmF5VmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMzMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4gPSBbMSwgMl0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjM0CgkvLyBhWzFdICs9IDEKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCXB1c2hpbnQgOAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAyPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIzNQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDI+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjVlZjc5YmQgLy8gbWV0aG9kICJwbHVzRXF1YWxzQXJyYXlWYWx1ZSgpdWludDY0WzJdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzQXJyYXlWYWx1ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal index a6f59bb22..ef8ef3c62 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json index a0f962c97..1b768d8d2 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDEKCS8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0gPSB7IGZvbzogMywgYmFyOiA0IH0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0CglmcmFtZV9idXJ5IDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQyCgkvLyBhLmJhciArPSAxCglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CglwdXNoaW50IDggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjlmODZmOGMgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDEKCS8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0gPSB7IGZvbzogMywgYmFyOiA0IH0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0CglmcmFtZV9idXJ5IDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQyCgkvLyBhLmJhciArPSAxCglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CglwdXNoaW50IDggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjlmODZmOGMgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json index 0b5741bee..f88d9cab5 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValue.arc56_draft.json @@ -474,7 +474,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDEKCS8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0gPSB7IGZvbzogMywgYmFyOiA0IH0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0CglmcmFtZV9idXJ5IDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQyCgkvLyBhLmJhciArPSAxCglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CglwdXNoaW50IDggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjlmODZmOGMgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlKCkodWludDY0LHVpbnQ2NCkKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwbHVzRXF1YWxzT2JqVmFsdWUoKTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQpwbHVzRXF1YWxzT2JqVmFsdWU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNDEKCS8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0gPSB7IGZvbzogMywgYmFyOiA0IH0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDA0CglmcmFtZV9idXJ5IDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjQyCgkvLyBhLmJhciArPSAxCglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CglwdXNoaW50IDggLy8gaGVhZE9mZnNldAoJZnJhbWVfZGlnIDAgLy8gYTogeyBmb286IHVpbnQ2NDsgYmFyOiB1aW50NjQgfQoJZXh0cmFjdCA4IDgKCWJ0b2kKCWludGMgMCAvLyAxCgkrCglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI0MwoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB7IGZvbzogdWludDY0OyBiYXI6IHVpbnQ2NCB9CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjlmODZmOGMgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWUoKSh1aW50NjQsdWludDY0KSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGx1c0VxdWFsc09ialZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal index eb3a83862..295d5f839 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 8 bytecblock 0x624d6170 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json index 09fc91141..11e674c22 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MgoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuYmFyICs9IDEKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDEgLy8gIGhlYWRPZmZzZXQKCWludGMgMSAvLyA4Cglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZWMgMCAvLyAgImJNYXAiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjYxOWI1MTEgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MgoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuYmFyICs9IDEKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDEgLy8gIGhlYWRPZmZzZXQKCWludGMgMSAvLyA4Cglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZWMgMCAvLyAgImJNYXAiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjYxOWI1MTEgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json index 224653819..1e0b4d096 100644 --- a/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPlusEqualsObjValueInBox.arc56_draft.json @@ -516,7 +516,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MgoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuYmFyICs9IDEKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDEgLy8gIGhlYWRPZmZzZXQKCWludGMgMSAvLyA4Cglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZWMgMCAvLyAgImJNYXAiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjYxOWI1MTEgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3BsdXNFcXVhbHNPYmpWYWx1ZUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFsc09ialZhbHVlSW5Cb3goKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNPYmpWYWx1ZUluQm94KCk6IHsgZm9vOiB1aW50NjQ7IGJhcjogdWludDY0IH0KcGx1c0VxdWFsc09ialZhbHVlSW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MQoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSB7IGZvbzogMywgYmFyOiA0IH0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MgoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuYmFyICs9IDEKCWludGMgMSAvLyAgaGVhZE9mZnNldAoJYnl0ZWMgMCAvLyAgImJNYXAiCglpbnRjIDEgLy8gIGhlYWRPZmZzZXQKCWludGMgMSAvLyA4Cglib3hfZXh0cmFjdAoJYnRvaQoJaW50YyAwIC8vIDEKCSsKCWl0b2IKCWJ5dGVjIDAgLy8gICJiTWFwIgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTI1MwoJLy8gcmV0dXJuIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlOwoJYnl0ZWMgMCAvLyAgImJNYXAiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjYxOWI1MTEgLy8gbWV0aG9kICJwbHVzRXF1YWxzT2JqVmFsdWVJbkJveCgpKHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wbHVzRXF1YWxzT2JqVmFsdWVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal index d3b04cabe..90b787023 100644 --- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal +++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 bytecblock 0x0000000000000000 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json index 6e8f68e73..a6408fbff 100644 --- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json +++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDAwMDAwMDAwMDAwMDAwMDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwb3N0Qm9vbFR1cGxlT2Zmc2V0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcG9zdEJvb2xUdXBsZU9mZnNldCgpOiBUOQpwb3N0Qm9vbFR1cGxlT2Zmc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjE5CgkvLyByZXRWYWw6IFQ5ID0geyBhOiBmYWxzZSwgYjogMCwgYzogMCB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCWR1cAoJc2V0Yml0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJcmVwbGFjZTIgMQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMwoJLy8gcmV0VmFsLmMgPSAyCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMgoJcmVwbGFjZTIgOQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyNQoJLy8gcmV0dXJuIHJldFZhbDsKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOGU0Y2ZjNSAvLyBtZXRob2QgInBvc3RCb29sVHVwbGVPZmZzZXQoKShib29sLHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wb3N0Qm9vbFR1cGxlT2Zmc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDAwMDAwMDAwMDAwMDAwMDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwb3N0Qm9vbFR1cGxlT2Zmc2V0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcG9zdEJvb2xUdXBsZU9mZnNldCgpOiBUOQpwb3N0Qm9vbFR1cGxlT2Zmc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjE5CgkvLyByZXRWYWw6IFQ5ID0geyBhOiBmYWxzZSwgYjogMCwgYzogMCB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCWR1cAoJc2V0Yml0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJcmVwbGFjZTIgMQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMwoJLy8gcmV0VmFsLmMgPSAyCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMgoJcmVwbGFjZTIgOQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyNQoJLy8gcmV0dXJuIHJldFZhbDsKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOGU0Y2ZjNSAvLyBtZXRob2QgInBvc3RCb29sVHVwbGVPZmZzZXQoKShib29sLHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wb3N0Qm9vbFR1cGxlT2Zmc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json index 0d1bf601a..083f0cc85 100644 --- a/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPostBoolTupleOffset.arc56_draft.json @@ -619,7 +619,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDAwMDAwMDAwMDAwMDAwMDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwb3N0Qm9vbFR1cGxlT2Zmc2V0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcG9zdEJvb2xUdXBsZU9mZnNldCgpOiBUOQpwb3N0Qm9vbFR1cGxlT2Zmc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjE5CgkvLyByZXRWYWw6IFQ5ID0geyBhOiBmYWxzZSwgYjogMCwgYzogMCB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCWR1cAoJc2V0Yml0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJcmVwbGFjZTIgMQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMwoJLy8gcmV0VmFsLmMgPSAyCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMgoJcmVwbGFjZTIgOQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyNQoJLy8gcmV0dXJuIHJldFZhbDsKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOGU0Y2ZjNSAvLyBtZXRob2QgInBvc3RCb29sVHVwbGVPZmZzZXQoKShib29sLHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wb3N0Qm9vbFR1cGxlT2Zmc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEKYnl0ZWNibG9jayAweDAwMDAwMDAwMDAwMDAwMDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX3Bvc3RCb29sVHVwbGVPZmZzZXQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwb3N0Qm9vbFR1cGxlT2Zmc2V0KCkoYm9vbCx1aW50NjQsdWludDY0KQoJY2FsbHN1YiBwb3N0Qm9vbFR1cGxlT2Zmc2V0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcG9zdEJvb2xUdXBsZU9mZnNldCgpOiBUOQpwb3N0Qm9vbFR1cGxlT2Zmc2V0OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjE5CgkvLyByZXRWYWw6IFQ5ID0geyBhOiBmYWxzZSwgYjogMCwgYzogMCB9CglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCWR1cAoJc2V0Yml0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJY29uY2F0CglmcmFtZV9idXJ5IDAgLy8gcmV0VmFsOiBUOQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNjIxCgkvLyByZXRWYWwuYSA9IHRydWUKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDAgLy8gMAoJaW50YyAxIC8vIDEKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMgoJLy8gcmV0VmFsLmIgPSAxCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMQoJcmVwbGFjZTIgMQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyMwoJLy8gcmV0VmFsLmMgPSAyCglmcmFtZV9kaWcgMCAvLyByZXRWYWw6IFQ5CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMgoJcmVwbGFjZTIgOQoJZnJhbWVfYnVyeSAwIC8vIHJldFZhbDogVDkKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTYyNQoJLy8gcmV0dXJuIHJldFZhbDsKCWZyYW1lX2RpZyAwIC8vIHJldFZhbDogVDkKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlOGU0Y2ZjNSAvLyBtZXRob2QgInBvc3RCb29sVHVwbGVPZmZzZXQoKShib29sLHVpbnQ2NCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wb3N0Qm9vbFR1cGxlT2Zmc2V0CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal b/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal index 21e3f7956..817fbe9dc 100644 --- a/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 8 1 bytecblock 0x624d6170 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json index e29eafab5..d73301179 100644 --- a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KKmFiaV9yb3V0ZV9wdXNoVG9BcnJheUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludGMgMCAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU2CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoMykpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU3CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoNCkpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0Cgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU5CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWU7CglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhMDdmNjIgLy8gbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KKmFiaV9yb3V0ZV9wdXNoVG9BcnJheUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludGMgMCAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU2CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoMykpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU3CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoNCkpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0Cgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU5CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWU7CglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhMDdmNjIgLy8gbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json index 8e17f8d26..1a144e22b 100644 --- a/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestPushToArrayInBox.arc56_draft.json @@ -807,7 +807,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KKmFiaV9yb3V0ZV9wdXNoVG9BcnJheUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludGMgMCAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU2CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoMykpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU3CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoNCkpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0Cgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU5CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWU7CglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhMDdmNjIgLy8gbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDYyNGQ2MTcwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KKmFiaV9yb3V0ZV9wdXNoVG9BcnJheUluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcHVzaFRvQXJyYXlJbkJveCgpdWludDY0W10KCWNhbGxzdWIgcHVzaFRvQXJyYXlJbkJveAoJZHVwCglsZW4KCWludGMgMCAvLyA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gcHVzaFRvQXJyYXlJbkJveCgpOiBBcHBJRFtdCnB1c2hUb0FycmF5SW5Cb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU1NAoJLy8gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUgPSBbQXBwSUQuZnJvbVVpbnQ2NCgxKSwgQXBwSUQuZnJvbVVpbnQ2NCgyKV0KCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDIwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU2CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoMykpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAzCgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU3CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZS5wdXNoKEFwcElELmZyb21VaW50NjQoNCkpCglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0Cgljb25jYXQKCWJ5dGVjIDAgLy8gICJiTWFwIgoJZHVwCglib3hfZGVsCglwb3AKCXN3YXAKCWR1cAoJbGVuCglpbnRjIDAgLy8gOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTU5CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWU7CglieXRlYyAwIC8vICAiYk1hcCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhMDdmNjIgLy8gbWV0aG9kICJwdXNoVG9BcnJheUluQm94KCl1aW50NjRbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcHVzaFRvQXJyYXlJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal b/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal index 8a42d3da0..e28d76dbb 100644 --- a/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal +++ b/tests/contracts/artifacts/ABITestRawBytesFunction.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json b/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json index a776a32cc..fff2fa99e 100644 --- a/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json +++ b/tests/contracts/artifacts/ABITestRawBytesFunction.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nCiphYmlfcm91dGVfcmF3Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+ID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMTAyMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDU0CgkvLyByZXR1cm4gcmF3Qnl0ZXMoYSk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4Nzg0YWRiIC8vIG1ldGhvZCAicmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nCiphYmlfcm91dGVfcmF3Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+ID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMTAyMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDU0CgkvLyByZXR1cm4gcmF3Qnl0ZXMoYSk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4Nzg0YWRiIC8vIG1ldGhvZCAicmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json b/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json index b6448f98d..c32c8161e 100644 --- a/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestRawBytesFunction.arc56_draft.json @@ -417,7 +417,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nCiphYmlfcm91dGVfcmF3Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+ID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMTAyMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDU0CgkvLyByZXR1cm4gcmF3Qnl0ZXMoYSk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4Nzg0YWRiIC8vIG1ldGhvZCAicmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nCiphYmlfcm91dGVfcmF3Qnl0ZXNGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJhd0J5dGVzRnVuY3Rpb24oKXN0cmluZwoJY2FsbHN1YiByYXdCeXRlc0Z1bmN0aW9uCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJhd0J5dGVzRnVuY3Rpb24oKTogc3RyaW5nCnJhd0J5dGVzRnVuY3Rpb246Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwNTMKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ8OD4sIDM+ID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMTAyMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDU0CgkvLyByZXR1cm4gcmF3Qnl0ZXMoYSk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50PDg+LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4Nzg0YWRiIC8vIG1ldGhvZCAicmF3Qnl0ZXNGdW5jdGlvbigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yYXdCeXRlc0Z1bmN0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestRefTypes.approval.teal b/tests/contracts/artifacts/ABITestRefTypes.approval.teal index c6efaa4a2..be56fa969 100644 --- a/tests/contracts/artifacts/ABITestRefTypes.approval.teal +++ b/tests/contracts/artifacts/ABITestRefTypes.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestRefTypes.arc32.json b/tests/contracts/artifacts/ABITestRefTypes.arc32.json index baebfaf83..0e4ee358e 100644 --- a/tests/contracts/artifacts/ABITestRefTypes.arc32.json +++ b/tests/contracts/artifacts/ABITestRefTypes.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCiphYmlfcm91dGVfcmVmVHlwZXM6CgkvLyBhc2E6IGFzc2V0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgl0eG5hcyBBc3NldHMKCgkvLyBhcHA6IGFwcGxpY2F0aW9uCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG5hcyBBcHBsaWNhdGlvbnMKCgkvLyBhY2N0OiBhY2NvdW50Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgl0eG5hcyBBY2NvdW50cwoKCS8vIGV4ZWN1dGUgcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCgljYWxsc3ViIHJlZlR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWZUeXBlcyhhY2N0OiBBY2NvdW50UmVmZXJlbmNlLCBhcHA6IEFwcFJlZmVyZW5jZSwgYXNhOiBBc3NldFJlZmVyZW5jZSk6IHZvaWQKcmVmVHlwZXM6Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyNgoJLy8gYXNzZXJ0KCFhY2N0LmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMSAvLyBhY2N0OiBBY2NvdW50UmVmZXJlbmNlCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI3CgkvLyBhc3NlcnQoIWFwcC5hZGRyZXNzLmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcFJlZmVyZW5jZQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUxZTlkNmMzIC8vIG1ldGhvZCAicmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZWZUeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCiphYmlfcm91dGVfcmVmVHlwZXM6CgkvLyBhc2E6IGFzc2V0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgl0eG5hcyBBc3NldHMKCgkvLyBhcHA6IGFwcGxpY2F0aW9uCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG5hcyBBcHBsaWNhdGlvbnMKCgkvLyBhY2N0OiBhY2NvdW50Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgl0eG5hcyBBY2NvdW50cwoKCS8vIGV4ZWN1dGUgcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCgljYWxsc3ViIHJlZlR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWZUeXBlcyhhY2N0OiBBY2NvdW50UmVmZXJlbmNlLCBhcHA6IEFwcFJlZmVyZW5jZSwgYXNhOiBBc3NldFJlZmVyZW5jZSk6IHZvaWQKcmVmVHlwZXM6Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyNgoJLy8gYXNzZXJ0KCFhY2N0LmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMSAvLyBhY2N0OiBBY2NvdW50UmVmZXJlbmNlCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI3CgkvLyBhc3NlcnQoIWFwcC5hZGRyZXNzLmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcFJlZmVyZW5jZQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUxZTlkNmMzIC8vIG1ldGhvZCAicmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZWZUeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json index b1dfe52f2..80ca3479b 100644 --- a/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestRefTypes.arc56_draft.json @@ -508,7 +508,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCiphYmlfcm91dGVfcmVmVHlwZXM6CgkvLyBhc2E6IGFzc2V0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgl0eG5hcyBBc3NldHMKCgkvLyBhcHA6IGFwcGxpY2F0aW9uCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG5hcyBBcHBsaWNhdGlvbnMKCgkvLyBhY2N0OiBhY2NvdW50Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgl0eG5hcyBBY2NvdW50cwoKCS8vIGV4ZWN1dGUgcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCgljYWxsc3ViIHJlZlR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWZUeXBlcyhhY2N0OiBBY2NvdW50UmVmZXJlbmNlLCBhcHA6IEFwcFJlZmVyZW5jZSwgYXNhOiBBc3NldFJlZmVyZW5jZSk6IHZvaWQKcmVmVHlwZXM6Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyNgoJLy8gYXNzZXJ0KCFhY2N0LmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMSAvLyBhY2N0OiBBY2NvdW50UmVmZXJlbmNlCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI3CgkvLyBhc3NlcnQoIWFwcC5hZGRyZXNzLmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcFJlZmVyZW5jZQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUxZTlkNmMzIC8vIG1ldGhvZCAicmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZWZUeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCiphYmlfcm91dGVfcmVmVHlwZXM6CgkvLyBhc2E6IGFzc2V0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglidG9pCgl0eG5hcyBBc3NldHMKCgkvLyBhcHA6IGFwcGxpY2F0aW9uCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG5hcyBBcHBsaWNhdGlvbnMKCgkvLyBhY2N0OiBhY2NvdW50Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgl0eG5hcyBBY2NvdW50cwoKCS8vIGV4ZWN1dGUgcmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkCgljYWxsc3ViIHJlZlR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWZUeXBlcyhhY2N0OiBBY2NvdW50UmVmZXJlbmNlLCBhcHA6IEFwcFJlZmVyZW5jZSwgYXNhOiBBc3NldFJlZmVyZW5jZSk6IHZvaWQKcmVmVHlwZXM6Cglwcm90byAzIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUyNgoJLy8gYXNzZXJ0KCFhY2N0LmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMSAvLyBhY2N0OiBBY2NvdW50UmVmZXJlbmNlCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTI3CgkvLyBhc3NlcnQoIWFwcC5hZGRyZXNzLmlzT3B0ZWRJblRvQXNzZXQoYXNhKSkKCWZyYW1lX2RpZyAtMiAvLyBhcHA6IEFwcFJlZmVyZW5jZQoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgLTMgLy8gYXNhOiBBc3NldFJlZmVyZW5jZQoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCSEKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUxZTlkNmMzIC8vIG1ldGhvZCAicmVmVHlwZXMoYWNjb3VudCxhcHBsaWNhdGlvbixhc3NldCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZWZUeXBlcwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnByte.approval.teal b/tests/contracts/artifacts/ABITestReturnByte.approval.teal index c463c7cd6..b52301315 100644 --- a/tests/contracts/artifacts/ABITestReturnByte.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnByte.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnByte.arc32.json b/tests/contracts/artifacts/ABITestReturnByte.arc32.json index 2f398dcc4..56f43660e 100644 --- a/tests/contracts/artifacts/ABITestReturnByte.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnByte.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuQnl0ZSgpYnl0ZQoqYWJpX3JvdXRlX3JldHVybkJ5dGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnRjIDAgLy8gMQoJcHVzaGJ5dGVzIDB4MDAKCXB1c2hpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3NmI0MzRjZiAvLyBtZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuQnl0ZSgpYnl0ZQoqYWJpX3JvdXRlX3JldHVybkJ5dGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnRjIDAgLy8gMQoJcHVzaGJ5dGVzIDB4MDAKCXB1c2hpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3NmI0MzRjZiAvLyBtZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json index cfbba81b8..ba42646ff 100644 --- a/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnByte.arc56_draft.json @@ -413,7 +413,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuQnl0ZSgpYnl0ZQoqYWJpX3JvdXRlX3JldHVybkJ5dGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnRjIDAgLy8gMQoJcHVzaGJ5dGVzIDB4MDAKCXB1c2hpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3NmI0MzRjZiAvLyBtZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuQnl0ZSgpYnl0ZQoqYWJpX3JvdXRlX3JldHVybkJ5dGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5CeXRlKClieXRlCgljYWxsc3ViIHJldHVybkJ5dGUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuQnl0ZSgpOiBieXRlCnJldHVybkJ5dGU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU2NQoJLy8gcmV0dXJuIHJhd0J5dGUodHJ1ZSk7CglpbnRjIDAgLy8gMQoJcHVzaGJ5dGVzIDB4MDAKCXB1c2hpbnQgMAoJdW5jb3ZlciAyCglzZXRiaXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3NmI0MzRjZiAvLyBtZXRob2QgInJldHVybkJ5dGUoKWJ5dGUiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVybkJ5dGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal b/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal index 0cebf4301..afd2fd170 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json index 1ead78c73..8624c129d 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXQoqYWJpX3JvdXRlX3JldHVybkR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJcHVzaGludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCnJldHVybkR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWRlZjZlOWQgLy8gbWV0aG9kICJyZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXQoqYWJpX3JvdXRlX3JldHVybkR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJcHVzaGludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCnJldHVybkR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWRlZjZlOWQgLy8gbWV0aG9kICJyZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json index 3a7ba6ddc..5afbe5184 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnDynamicArray.arc56_draft.json @@ -453,7 +453,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXQoqYWJpX3JvdXRlX3JldHVybkR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJcHVzaGludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCnJldHVybkR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWRlZjZlOWQgLy8gbWV0aG9kICJyZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCl1aW50NjRbXQoqYWJpX3JvdXRlX3JldHVybkR5bmFtaWNBcnJheToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkR5bmFtaWNBcnJheSgpdWludDY0W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5CglkdXAKCWxlbgoJcHVzaGludCA4CgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuRHluYW1pY0FycmF5KCk6IHVpbnQ2NFtdCnJldHVybkR5bmFtaWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU2CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzU3CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NFtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWRlZjZlOWQgLy8gbWV0aG9kICJyZXR1cm5EeW5hbWljQXJyYXkoKXVpbnQ2NFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal index 4666e3d15..7dfa46ee8 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json index b4ccd3c61..c55339172 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpOiB1aW50PDg+W10KcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzk4CgkvLyBhOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDAwCgkvLyByZXR1cm4gYVs0XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGZlNjY0OGM2IC8vIG1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpOiB1aW50PDg+W10KcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzk4CgkvLyBhOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDAwCgkvLyByZXR1cm4gYVs0XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGZlNjY0OGM2IC8vIG1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json index b2c62c552..7a5e50ba5 100644 --- a/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnDynamicArrayFromTuple.arc56_draft.json @@ -899,7 +899,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpOiB1aW50PDg+W10KcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzk4CgkvLyBhOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDAwCgkvLyByZXR1cm4gYVs0XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGZlNjY0OGM2IC8vIG1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUoKXVpbnQ4W10KCWNhbGxzdWIgcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkR5bmFtaWNBcnJheUZyb21UdXBsZSgpOiB1aW50PDg+W10KcmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mzk4CgkvLyBhOiBbdWludDw4PiwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dID0gWzEsIDIsIFszLCA0XSwgWzUsIDZdLCBbNywgOF1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDcwOAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDAwCgkvLyByZXR1cm4gYVs0XTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGZlNjY0OGM2IC8vIG1ldGhvZCAicmV0dXJuRHluYW1pY0FycmF5RnJvbVR1cGxlKCl1aW50OFtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5EeW5hbWljQXJyYXlGcm9tVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal b/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal index cf103616e..3ac23d23d 100644 --- a/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json b/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json index 9892fee6c..d87aee842 100644 --- a/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkNTMyM2UxZiAvLyBtZXRob2QgInJldHVyblN0YXRpY0FycmF5KCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkNTMyM2UxZiAvLyBtZXRob2QgInJldHVyblN0YXRpY0FycmF5KCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json index b2d53c6f2..ca7ad3976 100644 --- a/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnStaticArray.arc56_draft.json @@ -394,7 +394,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkNTMyM2UxZiAvLyBtZXRob2QgInJldHVyblN0YXRpY0FycmF5KCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuU3RhdGljQXJyYXkoKXVpbnQ2NFszXQoJY2FsbHN1YiByZXR1cm5TdGF0aWNBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KcmV0dXJuU3RhdGljQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkNTMyM2UxZiAvLyBtZXRob2QgInJldHVyblN0YXRpY0FycmF5KCl1aW50NjRbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3JldHVyblN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnTuple.approval.teal b/tests/contracts/artifacts/ABITestReturnTuple.approval.teal index 37290869f..04f275f63 100644 --- a/tests/contracts/artifacts/ABITestReturnTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnTuple.arc32.json b/tests/contracts/artifacts/ABITestReturnTuple.arc32.json index 5c13a3fb7..4d735668f 100644 --- a/tests/contracts/artifacts/ABITestReturnTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMzUKCS8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMzNgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1MjhiODZiZiAvLyBtZXRob2QgInJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMzUKCS8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMzNgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1MjhiODZiZiAvLyBtZXRob2QgInJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json index 61b5cadab..d4619ee84 100644 --- a/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnTuple.arc56_draft.json @@ -388,7 +388,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMzUKCS8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMzNgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1MjhiODZiZiAvLyBtZXRob2QgInJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcmV0dXJuVHVwbGUoKSh1aW50NjQsdWludDE2LHVpbnQ2NCkKKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpCgljYWxsc3ViIHJldHVyblR1cGxlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGUoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCnJldHVyblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozMzUKCS8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0XSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjMzNgoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1MjhiODZiZiAvLyBtZXRob2QgInJldHVyblR1cGxlKCkodWludDY0LHVpbnQxNix1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9yZXR1cm5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal index b2c151f25..961781c57 100644 --- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal +++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json index 9f97bd9bf..83e664d95 100644 --- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json +++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCgljYWxsc3ViIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCnJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkwCgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0gPSBbMSwgMiwgWzMsIDRdLCBbNSwgNl1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkyCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDg4YTY5YzVjIC8vIG1ldGhvZCAicmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCgljYWxsc3ViIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCnJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkwCgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0gPSBbMSwgMiwgWzMsIDRdLCBbNSwgNl1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkyCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDg4YTY5YzVjIC8vIG1ldGhvZCAicmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json index a4a2630a9..02c1cb0f8 100644 --- a/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestReturnTupleWithDyamicArray.arc56_draft.json @@ -734,7 +734,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCgljYWxsc3ViIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCnJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkwCgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0gPSBbMSwgMiwgWzMsIDRdLCBbNSwgNl1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkyCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDg4YTY5YzVjIC8vIG1ldGhvZCAicmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCiphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5UdXBsZVdpdGhEeWFtaWNBcnJheSgpKHVpbnQ2NCx1aW50MTYsdWludDY0W10sdWludDE2W10pCgljYWxsc3ViIHJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjRbXSwgdWludDE2W11dCnJldHVyblR1cGxlV2l0aER5YW1pY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkwCgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0gPSBbMSwgMiwgWzMsIDRdLCBbNSwgNl1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwZSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAxCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDAwMDAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwNTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NFtdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzkyCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50NjQsIHVpbnQxNiwgdWludDY0W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDg4YTY5YzVjIC8vIG1ldGhvZCAicmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkoKSh1aW50NjQsdWludDE2LHVpbnQ2NFtdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcmV0dXJuVHVwbGVXaXRoRHlhbWljQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal b/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal index 873c06559..90f6be452 100644 --- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal +++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json index 2d70816a3..5f07524de 100644 --- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json +++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2V0U3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zZXRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjYKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YzBmNWYwMDEgLy8gbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2V0U3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zZXRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjYKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YzBmNWYwMDEgLy8gbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json index 5f255fd75..29f7c2ab8 100644 --- a/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSetStaticArrayElement.arc56_draft.json @@ -457,7 +457,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2V0U3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zZXRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjYKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YzBmNWYwMDEgLy8gbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2V0U3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zZXRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiBzZXRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzZXRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnNldFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjYKCS8vIGFbMV0gPSAyMjIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YzBmNWYwMDEgLy8gbWV0aG9kICJzZXRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2V0U3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal b/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal index 0a8f61228..1854b110f 100644 --- a/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal +++ b/tests/contracts/artifacts/ABITestShortTypeNotation.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json b/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json index 4a67600a6..0f9d0f2b1 100644 --- a/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json +++ b/tests/contracts/artifacts/ABITestShortTypeNotation.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2hvcnRUeXBlTm90YXRpb24gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNob3J0VHlwZU5vdGF0aW9uKCk6IHVpbnQxNgpzaG9ydFR5cGVOb3RhdGlvbjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAwMDAwMDAwMDAwMDAyYzAwMzcwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI5OAoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0KCWV4dHJhY3QgMjIgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhhYWUzYzdmIC8vIG1ldGhvZCAic2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2hvcnRUeXBlTm90YXRpb24gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNob3J0VHlwZU5vdGF0aW9uKCk6IHVpbnQxNgpzaG9ydFR5cGVOb3RhdGlvbjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAwMDAwMDAwMDAwMDAyYzAwMzcwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI5OAoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0KCWV4dHJhY3QgMjIgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhhYWUzYzdmIC8vIG1ldGhvZCAic2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json b/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json index 62f6a6cc1..8a516cf78 100644 --- a/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestShortTypeNotation.arc56_draft.json @@ -463,7 +463,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2hvcnRUeXBlTm90YXRpb24gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNob3J0VHlwZU5vdGF0aW9uKCk6IHVpbnQxNgpzaG9ydFR5cGVOb3RhdGlvbjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAwMDAwMDAwMDAwMDAyYzAwMzcwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI5OAoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0KCWV4dHJhY3QgMjIgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhhYWUzYzdmIC8vIG1ldGhvZCAic2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoqYWJpX3JvdXRlX3Nob3J0VHlwZU5vdGF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNgoJY2FsbHN1YiBzaG9ydFR5cGVOb3RhdGlvbgoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2hvcnRUeXBlTm90YXRpb24gcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNob3J0VHlwZU5vdGF0aW9uKCk6IHVpbnQxNgpzaG9ydFR5cGVOb3RhdGlvbjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjkyCgkvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgICAgWzU1LCA2Nl0sCgkvLyAgICAgXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAwMDAwMDAwMDAwMDAyYzAwMzcwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW1N0YXRpY0FycmF5PHVpbnQxNiwgMj4sIFN0YXRpY0FycmF5PHVpbnQ2NCwgMj4sIFN0YXRpY0FycmF5PHVpbnQxNiwgMj5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI5OAoJLy8gcmV0dXJuIGFbMl1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBbU3RhdGljQXJyYXk8dWludDE2LCAyPiwgU3RhdGljQXJyYXk8dWludDY0LCAyPiwgU3RhdGljQXJyYXk8dWludDE2LCAyPl0KCWV4dHJhY3QgMjIgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhhYWUzYzdmIC8vIG1ldGhvZCAic2hvcnRUeXBlTm90YXRpb24oKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRUeXBlTm90YXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal index 71651e8bf..9756f0865 100644 --- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 2 0 1 4 bytecblock 0x 0x00010005 0x00010006 0x00010007 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json index 3c575a927..39f4e8769 100644 --- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAxMDAwNSAweDAwMDEwMDA2IDB4MDAwMTAwMDcKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1ODYKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFsyLCAzXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAyMDAwMTAwMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMjAwMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMTAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTMKCS8vIGFbMV0gPSBbNl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAxMDAwNgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk0CgkvLyBhWzJdID0gWzddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAyIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE3ZGJhZDg2IC8vIG1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAyIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAxMDAwNSAweDAwMDEwMDA2IDB4MDAwMTAwMDcKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1ODYKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFsyLCAzXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAyMDAwMTAwMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMjAwMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMTAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTMKCS8vIGFbMV0gPSBbNl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAxMDAwNgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk0CgkvLyBhWzJdID0gWzddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAyIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE3ZGJhZDg2IC8vIG1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAyIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json index d069d501c..a27cb7b7d 100644 --- a/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestShortenDynamicElementInTuple.arc56_draft.json @@ -1985,7 +1985,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAxMDAwNSAweDAwMDEwMDA2IDB4MDAwMTAwMDcKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1ODYKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFsyLCAzXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAyMDAwMTAwMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMjAwMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMTAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTMKCS8vIGFbMV0gPSBbNl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAxMDAwNgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk0CgkvLyBhWzJdID0gWzddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAyIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE3ZGJhZDg2IC8vIG1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAyIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAxMDAwNSAweDAwMDEwMDA2IDB4MDAwMTAwMDcKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzaG9ydGVuRHluYW1pY0VsZW1lbnRJblR1cGxlKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGUoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnNob3J0ZW5EeW5hbWljRWxlbWVudEluVHVwbGU6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1ODYKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFsKCS8vICAgICAgIFsxLCAyXSwKCS8vICAgICAgIFsyLCAzXSwKCS8vICAgICAgIFszLCA0XSwKCS8vICAgICBdCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwNiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwMDAyMDAwMTAwMDIKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMjAwMDMKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAyMDAwMzAwMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTkyCgkvLyBhWzBdID0gWzVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMTAwMDUKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1OTMKCS8vIGFbMV0gPSBbNl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAxMDAwNgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk0CgkvLyBhWzJdID0gWzddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMTAwMDcKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTk2CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAyIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGE3ZGJhZDg2IC8vIG1ldGhvZCAic2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZSgpKHVpbnQxNltdLHVpbnQxNltdLHVpbnQxNltdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2hvcnRlbkR5bmFtaWNFbGVtZW50SW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAyIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal b/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal index 19cc0f3b1..78449c21b 100644 --- a/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestSimpleTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json b/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json index 6c01f9550..a42642a2e 100644 --- a/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestSimpleTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2ltcGxlVHVwbGUoKXVpbnQxNgoqYWJpX3JvdXRlX3NpbXBsZVR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2ltcGxlVHVwbGUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNpbXBsZVR1cGxlKCk6IHVpbnQxNgpzaW1wbGVUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNTkKCS8vIHJldHVybiBhWzNdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRmMGJhZGNhIC8vIG1ldGhvZCAic2ltcGxlVHVwbGUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2ltcGxlVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2ltcGxlVHVwbGUoKXVpbnQxNgoqYWJpX3JvdXRlX3NpbXBsZVR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2ltcGxlVHVwbGUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNpbXBsZVR1cGxlKCk6IHVpbnQxNgpzaW1wbGVUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNTkKCS8vIHJldHVybiBhWzNdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRmMGJhZGNhIC8vIG1ldGhvZCAic2ltcGxlVHVwbGUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2ltcGxlVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json index 805d8f509..44b1b5751 100644 --- a/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSimpleTuple.arc56_draft.json @@ -459,7 +459,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2ltcGxlVHVwbGUoKXVpbnQxNgoqYWJpX3JvdXRlX3NpbXBsZVR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2ltcGxlVHVwbGUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNpbXBsZVR1cGxlKCk6IHVpbnQxNgpzaW1wbGVUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNTkKCS8vIHJldHVybiBhWzNdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRmMGJhZGNhIC8vIG1ldGhvZCAic2ltcGxlVHVwbGUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2ltcGxlVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc2ltcGxlVHVwbGUoKXVpbnQxNgoqYWJpX3JvdXRlX3NpbXBsZVR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc2ltcGxlVHVwbGUoKXVpbnQxNgoJY2FsbHN1YiBzaW1wbGVUdXBsZQoJaXRvYgoJZHVwCgliaXRsZW4KCXB1c2hpbnQgMTYKCTw9CgoJLy8gc2ltcGxlVHVwbGUgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMTYgYml0cwoJYXNzZXJ0CglleHRyYWN0IDYgMgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNpbXBsZVR1cGxlKCk6IHVpbnQxNgpzaW1wbGVUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjU3CgkvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XSA9IFsxMSwgMjIsIDMzLCA0NF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NCwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNTkKCS8vIHJldHVybiBhWzNdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ2NCwgdWludDE2LCB1aW50NjQsIHVpbnQxNl0KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRmMGJhZGNhIC8vIG1ldGhvZCAic2ltcGxlVHVwbGUoKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2ltcGxlVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal b/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal index 41e5fa9de..3643e011b 100644 --- a/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json index 4e3d8577f..d05fec47d 100644 --- a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoqYWJpX3JvdXRlX3NtYWxsZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbGVyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbNF0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoJY2FsbHN1YiBzbWFsbGVyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8ND4pOiBieXRlczwyPgpzbWFsbGVyQnl0ZUNhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxMwoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzPDQ+CglleHRyYWN0IDAgMgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGI1MzQwZmE4IC8vIG1ldGhvZCAic21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoqYWJpX3JvdXRlX3NtYWxsZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbGVyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbNF0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoJY2FsbHN1YiBzbWFsbGVyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8ND4pOiBieXRlczwyPgpzbWFsbGVyQnl0ZUNhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxMwoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzPDQ+CglleHRyYWN0IDAgMgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGI1MzQwZmE4IC8vIG1ldGhvZCAic21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json index a277336c4..d9953210d 100644 --- a/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSmallerByteCasting.arc56_draft.json @@ -398,7 +398,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoqYWJpX3JvdXRlX3NtYWxsZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbGVyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbNF0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoJY2FsbHN1YiBzbWFsbGVyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8ND4pOiBieXRlczwyPgpzbWFsbGVyQnl0ZUNhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxMwoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzPDQ+CglleHRyYWN0IDAgMgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGI1MzQwZmE4IC8vIG1ldGhvZCAic21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoqYWJpX3JvdXRlX3NtYWxsZXJCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiBieXRlWzRdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBzbWFsbGVyQnl0ZUNhc3RpbmcgbXVzdCBiZSBhIGJ5dGVbNF0KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXQoJY2FsbHN1YiBzbWFsbGVyQnl0ZUNhc3RpbmcKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbGVyQnl0ZUNhc3RpbmcoYTogYnl0ZXM8ND4pOiBieXRlczwyPgpzbWFsbGVyQnl0ZUNhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIxMwoJLy8gcmV0dXJuIDxieXRlczwyPj5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IGJ5dGVzPDQ+CglleHRyYWN0IDAgMgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGI1MzQwZmE4IC8vIG1ldGhvZCAic21hbGxlckJ5dGVDYXN0aW5nKGJ5dGVbNF0pYnl0ZVsyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc21hbGxlckJ5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal b/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal index 0f84614f3..602e9d16a 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal +++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 2 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json index 8c1293ea5..37bf27ad1 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json +++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUZpcnN0RWxlbWVudAoJZHVwCglsZW4KCWludGMgMiAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEyCgkvLyBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAxIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAyIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkzMmEzM2EzIC8vIG1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUZpcnN0RWxlbWVudAoJZHVwCglsZW4KCWludGMgMiAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEyCgkvLyBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAxIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAyIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkzMmEzM2EzIC8vIG1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json index da3e93c81..12970f279 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSpliceFirstElement.arc56_draft.json @@ -600,7 +600,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUZpcnN0RWxlbWVudAoJZHVwCglsZW4KCWludGMgMiAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEyCgkvLyBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAxIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAyIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkzMmEzM2EzIC8vIG1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUZpcnN0RWxlbWVudCgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VGaXJzdEVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUZpcnN0RWxlbWVudAoJZHVwCglsZW4KCWludGMgMiAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50KCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTEyCgkvLyBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAxIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAyIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDkzMmEzM2EzIC8vIG1ldGhvZCAic3BsaWNlRmlyc3RFbGVtZW50KCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal index 9944913df..a1606906a 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal +++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 0 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json index cd47b5a39..67d3f1a6a 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json +++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjIKCS8vIHYgPSBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZDhjN2JkNyAvLyBtZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjIKCS8vIHYgPSBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZDhjN2JkNyAvLyBtZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json index b66a81b46..d2abfd0a6 100644 --- a/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSpliceFirstElementValue.arc56_draft.json @@ -683,7 +683,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjIKCS8vIHYgPSBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZDhjN2JkNyAvLyBtZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdCiphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzcGxpY2VGaXJzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCWR1cAoJbGVuCglpbnRjIDEgLy8gMgoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCk6IHVpbnQxNltdCnNwbGljZUZpcnN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MjIKCS8vIHYgPSBhLnNwbGljZSgwLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJcHVzaGludCA0CglzdG9yZSAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoJaW50YyAyIC8vIDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUyNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiZDhjN2JkNyAvLyBtZXRob2QgInNwbGljZUZpcnN0RWxlbWVudFZhbHVlKCl1aW50MTZbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3BsaWNlRmlyc3RFbGVtZW50VmFsdWUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal b/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal index 898b7bdd3..1fb0895b8 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal +++ b/tests/contracts/artifacts/ABITestSpliceLastElement.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 2 4 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json b/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json index 5b0b6a7a9..4856e28fa 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json +++ b/tests/contracts/artifacts/ABITestSpliceLastElement.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUxhc3RFbGVtZW50KCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUxhc3RFbGVtZW50CglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkyCgkvLyBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgwZWQ0ZmI1IC8vIG1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUxhc3RFbGVtZW50KCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUxhc3RFbGVtZW50CglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkyCgkvLyBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgwZWQ0ZmI1IC8vIG1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json index b29451532..f2d2ab53d 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSpliceLastElement.arc56_draft.json @@ -600,7 +600,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUxhc3RFbGVtZW50KCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUxhc3RFbGVtZW50CglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkyCgkvLyBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgwZWQ0ZmI1IC8vIG1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNwbGljZUxhc3RFbGVtZW50KCl1aW50MTZbXQoqYWJpX3JvdXRlX3NwbGljZUxhc3RFbGVtZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdCgljYWxsc3ViIHNwbGljZUxhc3RFbGVtZW50CglkdXAKCWxlbgoJaW50YyAxIC8vIDIKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGxpY2VMYXN0RWxlbWVudCgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkwCgkvLyBhOiB1aW50MTZbXSA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMTAwMDIwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDE2W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDkyCgkvLyBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQ5NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgwZWQ0ZmI1IC8vIG1ldGhvZCAic3BsaWNlTGFzdEVsZW1lbnQoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal b/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal index 376dff71f..6edf6db0f 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal +++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 4 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json index 0827ddfe4..e485c6bbc 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json +++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDIKCS8vIHYgPSBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjZGRmMjI4YyAvLyBtZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDIKCS8vIHYgPSBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjZGRmMjI4YyAvLyBtZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json index b573df41b..0dd00317f 100644 --- a/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestSpliceLastElementValue.arc56_draft.json @@ -683,7 +683,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDIKCS8vIHYgPSBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjZGRmMjI4YyAvLyBtZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgNApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpdWludDE2W10KCWNhbGxzdWIgc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZQoJZHVwCglsZW4KCWludGMgMSAvLyAyCgkvCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BsaWNlTGFzdEVsZW1lbnRWYWx1ZSgpOiB1aW50MTZbXQpzcGxpY2VMYXN0RWxlbWVudFZhbHVlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDAKCS8vIGE6IHVpbnQxNltdID0gWzEsIDIsIDNdCglwdXNoYnl0ZXMgMHgwMDAxMDAwMjAwMDMKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1MDIKCS8vIHYgPSBhLnNwbGljZSgyLCAxKQoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWludGMgMCAvLyAxCglpbnRjIDIgLy8gNAoJc3RvcmUgMjQ3IC8vIHNwbGljZSBzdGFydAoJaW50YyAyIC8vIDQKCXN0b3JlIDI0NiAvLyBzcGxpY2UgYnl0ZSBsZW5ndGgKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQxNltdCglwdXNoaW50IDAKCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJc3Vic3RyaW5nMwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWR1cAoJbGVuCglsb2FkIDI0NyAvLyBzcGxpY2Ugc3RhcnQKCWxvYWQgMjQ2IC8vIHNwbGljZSBieXRlIGxlbmd0aAoJKwoJaW50YyAxIC8vIDIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gYTogdWludDE2W10KCWxvYWQgMjQ3IC8vIHNwbGljZSBzdGFydAoJbG9hZCAyNDYgLy8gc3BsaWNlIGJ5dGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJLQoJZXh0cmFjdDMKCXN3YXAKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50MTZbXQoJZnJhbWVfYnVyeSAxIC8vIHY6IHVpbnQxNltdCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUwNAoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMSAvLyB2OiB1aW50MTZbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjZGRmMjI4YyAvLyBtZXRob2QgInNwbGljZUxhc3RFbGVtZW50VmFsdWUoKXVpbnQxNltdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zcGxpY2VMYXN0RWxlbWVudFZhbHVlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticArray.approval.teal b/tests/contracts/artifacts/ABITestStaticArray.approval.teal index e230fa9db..72420ae69 100644 --- a/tests/contracts/artifacts/ABITestStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticArray.arc32.json b/tests/contracts/artifacts/ABITestStaticArray.arc32.json index 48569ee9d..9e70c010a 100644 --- a/tests/contracts/artifacts/ABITestStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZjMyZGYxOSAvLyBtZXRob2QgInN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZjMyZGYxOSAvLyBtZXRob2QgInN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json index 32ce7b5e9..14c921b77 100644 --- a/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticArray.arc56_draft.json @@ -417,7 +417,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZjMyZGYxOSAvLyBtZXRob2QgInN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5KCk6IHVpbnQ2NApzdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlZjMyZGYxOSAvLyBtZXRob2QgInN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal index b34c9c221..b2c66541a 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticArrayArg.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json index 0971a3c41..15f34e20e 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticArrayArg.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHN0YXRpY0FycmF5QXJnIG11c3QgYmUgYSB1aW50NjRbM10KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUFyZwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4pOiB1aW50NjQKc3RhdGljQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjcKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjliYWVjNTYgLy8gbWV0aG9kICJzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHN0YXRpY0FycmF5QXJnIG11c3QgYmUgYSB1aW50NjRbM10KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUFyZwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4pOiB1aW50NjQKc3RhdGljQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjcKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjliYWVjNTYgLy8gbWV0aG9kICJzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json index a10acab27..f68f82a0e 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticArrayArg.arc56_draft.json @@ -412,7 +412,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHN0YXRpY0FycmF5QXJnIG11c3QgYmUgYSB1aW50NjRbM10KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUFyZwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4pOiB1aW50NjQKc3RhdGljQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjcKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjliYWVjNTYgLy8gbWV0aG9kICJzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5QXJnOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFszXQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMjQKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHN0YXRpY0FycmF5QXJnIG11c3QgYmUgYSB1aW50NjRbM10KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlBcmcodWludDY0WzNdKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUFyZwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4pOiB1aW50NjQKc3RhdGljQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjcKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIC0xIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgOCA4CglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YjliYWVjNTYgLy8gbWV0aG9kICJzdGF0aWNBcnJheUFyZyh1aW50NjRbM10pdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal index 278bd707e..cdc2367d1 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.approval.teal @@ -2,7 +2,7 @@ intcblock 1 8 bytecblock 0x674d6170 0x6c4d6170 0x624d6170 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json index ceec6149d..5d73627ab 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDEgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4NDZmMWE0YjEgLy8gbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDEgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4NDZmMWE0YjEgLy8gbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json index 045d7a6f3..401f8718b 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageMap.arc56_draft.json @@ -686,7 +686,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDEgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4NDZmMWE0YjEgLy8gbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NwoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0OAoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDkKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1MQoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDEgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NwoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4NDZmMWE0YjEgLy8gbWV0aG9kICJzdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal index f98939d62..3b82181d0 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.approval.teal @@ -2,7 +2,7 @@ intcblock 1 8 bytecblock 0x67526566 0x6c526566 0x62526566 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json index 28b38a65f..f0a1bdca2 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGVjIDAgLy8gICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTAKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkxCgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlYyAyIC8vICAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAiYlJlZiIKCWludGMgMSAvLyA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDA3NTAyMmU1IC8vIG1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGVjIDAgLy8gICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTAKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkxCgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlYyAyIC8vICAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAiYlJlZiIKCWludGMgMSAvLyA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDA3NTAyMmU1IC8vIG1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json index e474fc131..7cdbb4423 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticArrayInStorageRef.arc56_draft.json @@ -686,7 +686,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGVjIDAgLy8gICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTAKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkxCgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlYyAyIC8vICAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAiYlJlZiIKCWludGMgMSAvLyA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDA3NTAyMmU1IC8vIG1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDgKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgpzdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODcKCS8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4gPSBbMTEsIDIyLCAzM10KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDAwMDAwMDAwMDAwMDE2MDAwMDAwMDAwMDAwMDAyMQoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODkKCS8vIHRoaXMuZ1JlZi52YWx1ZSA9IGEKCWJ5dGVjIDAgLy8gICJnUmVmIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTAKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkxCgkvLyB0aGlzLmJSZWYudmFsdWUgPSBhCglieXRlYyAyIC8vICAiYlJlZiIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTMKCS8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFt0aGlzLmdSZWYudmFsdWVbMV0sIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlWzFdLCB0aGlzLmJSZWYudmFsdWVbMV1dCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglhcHBfbG9jYWxfZ2V0CglleHRyYWN0IDggOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vICAiYlJlZiIKCWludGMgMSAvLyA4CglkdXAKCWJveF9leHRyYWN0CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2J1cnkgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDA3NTAyMmU1IC8vIG1ldGhvZCAic3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal b/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal index 8c692241d..8b727e090 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticArrayLength.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json b/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json index f165086a2..50b010287 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticArrayLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDgsIDU+ID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50OCwgNT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjJiY2YzOTQgLy8gbWV0aG9kICJzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDgsIDU+ID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50OCwgNT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjJiY2YzOTQgLy8gbWV0aG9kICJzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json index 5aae1d1a7..7f01655f1 100644 --- a/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticArrayLength.arc56_draft.json @@ -382,7 +382,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDgsIDU+ID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50OCwgNT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjJiY2YzOTQgLy8gbWV0aG9kICJzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0FycmF5TGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQXJyYXlMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNBcnJheUxlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0FycmF5TGVuZ3RoKCk6IHVpbnQ2NApzdGF0aWNBcnJheUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NQoJLy8gYTogU3RhdGljQXJyYXk8dWludDgsIDU+ID0gWzExLCAyMiwgMzMsIDQ0LCA1NV0KCXB1c2hieXRlcyAweDBiMTYyMTJjMzcKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50OCwgNT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTM4NwoJLy8gcmV0dXJuIGEubGVuZ3RoOwoJcHVzaGludCA1CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MjJiY2YzOTQgLy8gbWV0aG9kICJzdGF0aWNBcnJheUxlbmd0aCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNBcnJheUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal index b866104ef..af232964f 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticBoolArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json index 83cf9edbd..c705e0178 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQm9vbEFycmF5KClib29sWzldCiphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5NwoJLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5OQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4MzY5OTNhIC8vIG1ldGhvZCAic3RhdGljQm9vbEFycmF5KClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQm9vbEFycmF5KClib29sWzldCiphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5NwoJLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5OQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4MzY5OTNhIC8vIG1ldGhvZCAic3RhdGljQm9vbEFycmF5KClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json index 3882f7cf5..0e5344e3e 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArray.arc56_draft.json @@ -568,7 +568,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQm9vbEFycmF5KClib29sWzldCiphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5NwoJLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5OQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4MzY5OTNhIC8vIG1ldGhvZCAic3RhdGljQm9vbEFycmF5KClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQm9vbEFycmF5KClib29sWzldCiphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljQm9vbEFycmF5KClib29sWzldCgljYWxsc3ViIHN0YXRpY0Jvb2xBcnJheQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Jvb2xBcnJheSgpOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgpzdGF0aWNCb29sQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5NwoJLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4gPSBbdHJ1ZSwgZmFsc2UsIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXQoJcHVzaGJ5dGVzIDB4MDAwMAoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWludGMgMCAvLyAxCglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDIKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgMwoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCA0CglpbnRjIDEgLy8gMAoJc2V0Yml0CglwdXNoaW50IDUKCWludGMgMSAvLyAwCglzZXRiaXQKCWludGMgMiAvLyA2CglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDcKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgOAoJaW50YyAxIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg5OQoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDA4MzY5OTNhIC8vIG1ldGhvZCAic3RhdGljQm9vbEFycmF5KClib29sWzldIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXkKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal index e46e6d252..2f2ce776a 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 0 1 6 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json index 33de0a66e..0f6228282 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5QWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5QWNjZXNzKCk6IGJvb2xlYW4Kc3RhdGljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglpbnRjIDEgLy8gMQoJc2V0Yml0CglpbnRjIDEgLy8gMQoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDMgLy8gOAoJaW50YyAwIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkyNQoJLy8gcmV0dXJuIGFbOF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNGViMmMxZiAvLyBtZXRob2QgInN0YXRpY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5QWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5QWNjZXNzKCk6IGJvb2xlYW4Kc3RhdGljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglpbnRjIDEgLy8gMQoJc2V0Yml0CglpbnRjIDEgLy8gMQoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDMgLy8gOAoJaW50YyAwIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkyNQoJLy8gcmV0dXJuIGFbOF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNGViMmMxZiAvLyBtZXRob2QgInN0YXRpY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json index 70d79f07d..d1d58f799 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayAccess.arc56_draft.json @@ -629,7 +629,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5QWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5QWNjZXNzKCk6IGJvb2xlYW4Kc3RhdGljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglpbnRjIDEgLy8gMQoJc2V0Yml0CglpbnRjIDEgLy8gMQoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDMgLy8gOAoJaW50YyAwIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkyNQoJLy8gcmV0dXJuIGFbOF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNGViMmMxZiAvLyBtZXRob2QgInN0YXRpY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlBY2Nlc3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlBY2Nlc3MoKWJvb2wKCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5QWNjZXNzCglwdXNoYnl0ZXMgMHgwMAoJaW50YyAwIC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5QWNjZXNzKCk6IGJvb2xlYW4Kc3RhdGljQm9vbEFycmF5QWNjZXNzOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5MjMKCS8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+ID0gW3RydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0KCXB1c2hieXRlcyAweDAwMDAKCWludGMgMCAvLyAwCglpbnRjIDEgLy8gMQoJc2V0Yml0CglpbnRjIDEgLy8gMQoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCAyCglpbnRjIDEgLy8gMQoJc2V0Yml0CglwdXNoaW50IDMKCWludGMgMSAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNAoJaW50YyAwIC8vIDAKCXNldGJpdAoJcHVzaGludCA1CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDIgLy8gNgoJaW50YyAxIC8vIDEKCXNldGJpdAoJcHVzaGludCA3CglpbnRjIDAgLy8gMAoJc2V0Yml0CglpbnRjIDMgLy8gOAoJaW50YyAwIC8vIDAKCXNldGJpdAoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjkyNQoJLy8gcmV0dXJuIGFbOF07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglnZXRiaXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNGViMmMxZiAvLyBtZXRob2QgInN0YXRpY0Jvb2xBcnJheUFjY2VzcygpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RhdGljQm9vbEFycmF5QWNjZXNzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal index ef50a6dff..842c16cdf 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 0 6 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json index e6a2c21c6..109c886cb 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5VXBkYXRlKCk6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CnN0YXRpY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ3CgkvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PiA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJaW50YyAwIC8vIDEKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODEyNzBmMzQgLy8gbWV0aG9kICJzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5VXBkYXRlKCk6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CnN0YXRpY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ3CgkvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PiA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJaW50YyAwIC8vIDEKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODEyNzBmMzQgLy8gbWV0aG9kICJzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json index a26dd7163..4664265e6 100644 --- a/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticBoolArrayUpdate.arc56_draft.json @@ -621,7 +621,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5VXBkYXRlKCk6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CnN0YXRpY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ3CgkvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PiA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJaW50YyAwIC8vIDEKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODEyNzBmMzQgLy8gbWV0aG9kICJzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiA4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDIgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KKmFiaV9yb3V0ZV9zdGF0aWNCb29sQXJyYXlVcGRhdGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0KCWNhbGxzdWIgc3RhdGljQm9vbEFycmF5VXBkYXRlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQm9vbEFycmF5VXBkYXRlKCk6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CnN0YXRpY0Jvb2xBcnJheVVwZGF0ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTQ3CgkvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PiA9IFt0cnVlLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdCglwdXNoYnl0ZXMgMHgwMDAwCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJaW50YyAwIC8vIDEKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgMgoJaW50YyAwIC8vIDEKCXNldGJpdAoJcHVzaGludCAzCglpbnRjIDAgLy8gMQoJc2V0Yml0CglwdXNoaW50IDQKCWludGMgMSAvLyAwCglzZXRiaXQKCXB1c2hpbnQgNQoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAyIC8vIDYKCWludGMgMCAvLyAxCglzZXRiaXQKCXB1c2hpbnQgNwoJaW50YyAxIC8vIDAKCXNldGJpdAoJaW50YyAzIC8vIDgKCWludGMgMSAvLyAwCglzZXRiaXQKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo5NDkKCS8vIGFbOF0gPSB0cnVlCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxib29sZWFuLCA5PgoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMyAvLyA4CglpbnRjIDAgLy8gMQoJc2V0Yml0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8Ym9vbGVhbiwgOT4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6OTUxCgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PGJvb2xlYW4sIDk+CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODEyNzBmMzQgLy8gbWV0aG9kICJzdGF0aWNCb29sQXJyYXlVcGRhdGUoKWJvb2xbOV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Jvb2xBcnJheVVwZGF0ZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal b/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal index 491792331..39c3b0b9b 100644 --- a/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticByteCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json b/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json index b4051c092..6e6f8ce9c 100644 --- a/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticByteCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0KKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJcHVzaGJ5dGVzIDB4NjE2MjYzMDAwMCAvLyAiYWJjIgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgzZmI1YjU1IC8vIG1ldGhvZCAic3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0KKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJcHVzaGJ5dGVzIDB4NjE2MjYzMDAwMCAvLyAiYWJjIgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgzZmI1YjU1IC8vIG1ldGhvZCAic3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json index e0ee184d9..1e4ce99c7 100644 --- a/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticByteCasting.arc56_draft.json @@ -343,7 +343,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0KKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJcHVzaGJ5dGVzIDB4NjE2MjYzMDAwMCAvLyAiYWJjIgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgzZmI1YjU1IC8vIG1ldGhvZCAic3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0KKmFiaV9yb3V0ZV9zdGF0aWNCeXRlQ2FzdGluZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0J5dGVDYXN0aW5nKClieXRlWzVdCgljYWxsc3ViIHN0YXRpY0J5dGVDYXN0aW5nCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RhdGljQnl0ZUNhc3RpbmcoKTogYnl0ZXM8NT4Kc3RhdGljQnl0ZUNhc3Rpbmc6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTA0MQoJLy8gcmV0dXJuICdhYmMnIGFzIGJ5dGVzPDU+OwoJcHVzaGJ5dGVzIDB4NjE2MjYzMDAwMCAvLyAiYWJjIgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDgzZmI1YjU1IC8vIG1ldGhvZCAic3RhdGljQnl0ZUNhc3RpbmcoKWJ5dGVbNV0iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0J5dGVDYXN0aW5nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticForEach.approval.teal b/tests/contracts/artifacts/ABITestStaticForEach.approval.teal index 12ccbfd76..0de29fffa 100644 --- a/tests/contracts/artifacts/ABITestStaticForEach.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticForEach.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticForEach.arc32.json b/tests/contracts/artifacts/ABITestStaticForEach.arc32.json index c3a4c64a0..997e26e79 100644 --- a/tests/contracts/artifacts/ABITestStaticForEach.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticForEach.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzA5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMTEKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzEyCgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGMyYzU4ZjlmIC8vIG1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzA5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMTEKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzEyCgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGMyYzU4ZjlmIC8vIG1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json index 607d9fb99..802ccbf9b 100644 --- a/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticForEach.arc56_draft.json @@ -650,7 +650,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzA5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMTEKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzEyCgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGMyYzU4ZjlmIC8vIG1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yRWFjaCgpdWludDY0CiphYmlfcm91dGVfc3RhdGljRm9yRWFjaDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0YXRpY0ZvckVhY2goKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JFYWNoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc3RhdGljRm9yRWFjaCgpOiB1aW50NjQKc3RhdGljRm9yRWFjaDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwOAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzA5CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEzMTEKCS8vIGEuZm9yRWFjaAoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJZHVwCglmcmFtZV9idXJ5IDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoKKmZvckVhY2hfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzEyCgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoJLy8gaW5jcmVtZW50IG9mZnNldCBhbmQgbG9vcCBpZiBub3Qgb3V0IG9mIGJvdW5kcwoJZnJhbWVfZGlnIDQgLy8gdGhlIG9mZnNldCB3ZSBhcmUgZXh0cmFjdGluZyB0aGUgbmV4dCBlbGVtZW50IGZyb20KCWludGMgMiAvLyA4CgkrCglkdXAKCXB1c2hpbnQgMjQgLy8gb2Zmc2V0IG9mIGxhc3QgZWxlbWVudAoJPAoJYnogKmZvckVhY2hfMF9lbmQKCWZyYW1lX2J1cnkgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJZnJhbWVfZGlnIDIgLy8gY29weSBvZiB0aGUgYXJyYXkgd2UgYXJlIGl0ZXJhdGluZyBvdmVyCglmcmFtZV9kaWcgNCAvLyB0aGUgb2Zmc2V0IHdlIGFyZSBleHRyYWN0aW5nIHRoZSBuZXh0IGVsZW1lbnQgZnJvbQoJaW50YyAyIC8vIDgKCWV4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyB2OiB1aW50NjQKCWIgKmZvckVhY2hfMAoKKmZvckVhY2hfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMxNAoJLy8gcmV0dXJuIHN1bTsKCWZyYW1lX2RpZyAxIC8vIHN1bTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGMyYzU4ZjlmIC8vIG1ldGhvZCAic3RhdGljRm9yRWFjaCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNGb3JFYWNoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticForOf.approval.teal b/tests/contracts/artifacts/ABITestStaticForOf.approval.teal index dc41bcaa5..a1f7bf509 100644 --- a/tests/contracts/artifacts/ABITestStaticForOf.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticForOf.approval.teal @@ -2,7 +2,7 @@ intcblock 0 1 8 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticForOf.arc32.json b/tests/contracts/artifacts/ABITestStaticForOf.arc32.json index 13cf5ee22..cdfa6e15d 100644 --- a/tests/contracts/artifacts/ABITestStaticForOf.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticForOf.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yT2YoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0Zvck9mOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MGM5YjQ3OSAvLyBtZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yT2YoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0Zvck9mOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MGM5YjQ3OSAvLyBtZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json index 7ffe26056..e29386aff 100644 --- a/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticForOf.arc56_draft.json @@ -650,7 +650,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yT2YoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0Zvck9mOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MGM5YjQ3OSAvLyBtZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOApieXRlY2Jsb2NrIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljRm9yT2YoKXVpbnQ2NAoqYWJpX3JvdXRlX3N0YXRpY0Zvck9mOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RhdGljRm9yT2YoKXVpbnQ2NAoJY2FsbHN1YiBzdGF0aWNGb3JPZgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0Zvck9mKCk6IHVpbnQ2NApzdGF0aWNGb3JPZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTQ1MwoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU0CgkvLyBzdW0gPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglkdXAKCWZyYW1lX2J1cnkgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWV4dHJhY3QgMCA4CglidG9pCglmcmFtZV9idXJ5IDMgLy8gdjogdWludDY0CglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCgoqZm9yT2ZfMDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNDU4CgkvLyBzdW0gKz0gdgoJZnJhbWVfZGlnIDEgLy8gc3VtOiB1aW50NjQKCWZyYW1lX2RpZyAzIC8vIHY6IHVpbnQ2NAoJKwoJZnJhbWVfYnVyeSAxIC8vIHN1bTogdWludDY0CgoqZm9yT2ZfMF9jb250aW51ZToKCS8vIGluY3JlbWVudCBvZmZzZXQgYW5kIGxvb3AgaWYgbm90IG91dCBvZiBib3VuZHMKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJKwoJZHVwCglwdXNoaW50IDI0IC8vIG9mZnNldCBvZiBsYXN0IGVsZW1lbnQKCTwKCWJ6ICpmb3JPZl8wX2VuZAoJZnJhbWVfYnVyeSA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglmcmFtZV9kaWcgMiAvLyBjb3B5IG9mIHRoZSBhcnJheSB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIKCWZyYW1lX2RpZyA0IC8vIHRoZSBvZmZzZXQgd2UgYXJlIGV4dHJhY3RpbmcgdGhlIG5leHQgZWxlbWVudCBmcm9tCglpbnRjIDIgLy8gOAoJZXh0cmFjdAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHY6IHVpbnQ2NAoJYiAqZm9yT2ZfMAoKKmZvck9mXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE0NjAKCS8vIHJldHVybiBzdW07CglmcmFtZV9kaWcgMSAvLyBzdW06IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MGM5YjQ3OSAvLyBtZXRob2QgInN0YXRpY0Zvck9mKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY0Zvck9mCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal b/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal index d258127c2..2042ef543 100644 --- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 2 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json index 2c8975994..81a15d690 100644 --- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIHN0YXRpY1N0cmluZ0FycmF5QXJnCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1N0cmluZ0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKc3RhdGljU3RyaW5nQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQ1CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YmM4ZDEyMDQgLy8gbWV0aG9kICJzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNTdHJpbmdBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIHN0YXRpY1N0cmluZ0FycmF5QXJnCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1N0cmluZ0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKc3RhdGljU3RyaW5nQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQ1CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YmM4ZDEyMDQgLy8gbWV0aG9kICJzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNTdHJpbmdBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json index 344ca8571..a1f91d961 100644 --- a/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticStringArrayArg.arc56_draft.json @@ -516,7 +516,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIHN0YXRpY1N0cmluZ0FycmF5QXJnCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1N0cmluZ0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKc3RhdGljU3RyaW5nQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQ1CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YmM4ZDEyMDQgLy8gbWV0aG9kICJzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNTdHJpbmdBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCiphYmlfcm91dGVfc3RhdGljU3RyaW5nQXJyYXlBcmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogc3RyaW5nWzNdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCgoJLy8gZXhlY3V0ZSBzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nCgljYWxsc3ViIHN0YXRpY1N0cmluZ0FycmF5QXJnCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1N0cmluZ0FycmF5QXJnKGE6IFN0YXRpY0FycmF5PHN0cmluZywgMz4pOiBzdHJpbmcKc3RhdGljU3RyaW5nQXJyYXlBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjQ1CgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBTdGF0aWNBcnJheTxzdHJpbmcsIDM+CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMSAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJZXh0cmFjdDMKCWV4dHJhY3QgMiAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YmM4ZDEyMDQgLy8gbWV0aG9kICJzdGF0aWNTdHJpbmdBcnJheUFyZyhzdHJpbmdbM10pc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdGF0aWNTdHJpbmdBcnJheUFyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal b/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal index c46724329..0c9040685 100644 --- a/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json index ec6bdd525..ac43da032 100644 --- a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljVHlwZUluQm94KCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUluQm94OgoJLy8gZXhlY3V0ZSBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKCWNhbGxzdWIgc3RhdGljVHlwZUluQm94CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlSW5Cb3goKTogdm9pZApzdGF0aWNUeXBlSW5Cb3g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNQoJLy8gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCXR4biBTZW5kZXIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNgoJLy8gYXNzZXJ0KHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmlzSW5MZWRnZXIpCgl0eG4gU2VuZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGY1MjA3ZDkgLy8gbWV0aG9kICJzdGF0aWNUeXBlSW5Cb3goKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1R5cGVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljVHlwZUluQm94KCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUluQm94OgoJLy8gZXhlY3V0ZSBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKCWNhbGxzdWIgc3RhdGljVHlwZUluQm94CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlSW5Cb3goKTogdm9pZApzdGF0aWNUeXBlSW5Cb3g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNQoJLy8gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCXR4biBTZW5kZXIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNgoJLy8gYXNzZXJ0KHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmlzSW5MZWRnZXIpCgl0eG4gU2VuZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGY1MjA3ZDkgLy8gbWV0aG9kICJzdGF0aWNUeXBlSW5Cb3goKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1R5cGVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json index b281c964c..0f4ece306 100644 --- a/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStaticTypeInBox.arc56_draft.json @@ -384,7 +384,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljVHlwZUluQm94KCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUluQm94OgoJLy8gZXhlY3V0ZSBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKCWNhbGxzdWIgc3RhdGljVHlwZUluQm94CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlSW5Cb3goKTogdm9pZApzdGF0aWNUeXBlSW5Cb3g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNQoJLy8gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCXR4biBTZW5kZXIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNgoJLy8gYXNzZXJ0KHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmlzSW5MZWRnZXIpCgl0eG4gU2VuZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGY1MjA3ZDkgLy8gbWV0aG9kICJzdGF0aWNUeXBlSW5Cb3goKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1R5cGVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RhdGljVHlwZUluQm94KCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUluQm94OgoJLy8gZXhlY3V0ZSBzdGF0aWNUeXBlSW5Cb3goKXZvaWQKCWNhbGxzdWIgc3RhdGljVHlwZUluQm94CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlSW5Cb3goKTogdm9pZApzdGF0aWNUeXBlSW5Cb3g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNQoJLy8gdGhpcy5iTWFwKHRoaXMudHhuLnNlbmRlcikudmFsdWUgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCXR4biBTZW5kZXIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTUzNgoJLy8gYXNzZXJ0KHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlLmlzSW5MZWRnZXIpCgl0eG4gU2VuZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MGY1MjA3ZDkgLy8gbWV0aG9kICJzdGF0aWNUeXBlSW5Cb3goKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0YXRpY1R5cGVJbkJveAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal index a041bea86..576a98c59 100644 --- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x0004624d6170 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json index af7532b3d..14331814a 100644 --- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CgljYWxsc3ViIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKTogdWludDY0CnN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTQ0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgZm9vOiB0aGlzLnR4bi5zZW5kZXIsIGJhcjogeyBiYXo6IDEzMzcgfSB9CglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCXB1c2hpbnQgMzIKCXB1c2hpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB2OiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NgoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMCAvLyB2OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1NGE4NThlYiAvLyBtZXRob2QgInN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CgljYWxsc3ViIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKTogdWludDY0CnN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTQ0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgZm9vOiB0aGlzLnR4bi5zZW5kZXIsIGJhcjogeyBiYXo6IDEzMzcgfSB9CglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCXB1c2hpbnQgMzIKCXB1c2hpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB2OiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NgoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMCAvLyB2OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1NGE4NThlYiAvLyBtZXRob2QgInN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json index 80b47b44a..1f69eb795 100644 --- a/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStoragePropertyReferenceInBox.arc56_draft.json @@ -487,7 +487,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CgljYWxsc3ViIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKTogdWludDY0CnN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTQ0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgZm9vOiB0aGlzLnR4bi5zZW5kZXIsIGJhcjogeyBiYXo6IDEzMzcgfSB9CglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCXB1c2hpbnQgMzIKCXB1c2hpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB2OiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NgoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMCAvLyB2OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1NGE4NThlYiAvLyBtZXRob2QgInN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdG9yYWdlUHJvcGVydHlSZWZlcmVuY2VJbkJveCgpdWludDY0CgljYWxsc3ViIHN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVByb3BlcnR5UmVmZXJlbmNlSW5Cb3goKTogdWludDY0CnN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTQ0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgZm9vOiB0aGlzLnR4bi5zZW5kZXIsIGJhcjogeyBiYXo6IDEzMzcgfSB9CglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNTM5Cgljb25jYXQKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NQoJLy8gdiA9IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmJhci5iYXoKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCXB1c2hpbnQgMzIKCXB1c2hpbnQgOAoJYm94X2V4dHJhY3QKCWJ0b2kKCWZyYW1lX2J1cnkgMCAvLyB2OiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTU0NgoJLy8gcmV0dXJuIHY7CglmcmFtZV9kaWcgMCAvLyB2OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1NGE4NThlYiAvLyBtZXRob2QgInN0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0b3JhZ2VQcm9wZXJ0eVJlZmVyZW5jZUluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal b/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal index f4eb0a4db..16b945458 100644 --- a/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal +++ b/tests/contracts/artifacts/ABITestStorageRefAccount.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x0000000000000000 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json b/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json index e64a94b58..405cb9ebe 100644 --- a/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json +++ b/tests/contracts/artifacts/ABITestStorageRefAccount.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMQoJLy8gciA9IHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDIzCgkvLyBhZGRyID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDAgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDI1CgkvLyByWzFdID0gNAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBhY2NvdW50Ly9yCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgl1bmNvdmVyIDIKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNwoJLy8gcmV0dXJuIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsIDApLnZhbHVlWzFdOwoJdHhuIFNlbmRlcgoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweGJlNzc3Y2U2IC8vIG1ldGhvZCAic3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZkFjY291bnQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMQoJLy8gciA9IHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDIzCgkvLyBhZGRyID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDAgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDI1CgkvLyByWzFdID0gNAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBhY2NvdW50Ly9yCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgl1bmNvdmVyIDIKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNwoJLy8gcmV0dXJuIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsIDApLnZhbHVlWzFdOwoJdHhuIFNlbmRlcgoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweGJlNzc3Y2U2IC8vIG1ldGhvZCAic3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZkFjY291bnQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json index 714c17e6b..1a8194ac5 100644 --- a/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStorageRefAccount.arc56_draft.json @@ -717,7 +717,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMQoJLy8gciA9IHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDIzCgkvLyBhZGRyID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDAgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDI1CgkvLyByWzFdID0gNAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBhY2NvdW50Ly9yCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgl1bmNvdmVyIDIKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNwoJLy8gcmV0dXJuIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsIDApLnZhbHVlWzFdOwoJdHhuIFNlbmRlcgoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweGJlNzc3Y2U2IC8vIG1ldGhvZCAic3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZkFjY291bnQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKKmFiaV9yb3V0ZV9zdG9yYWdlUmVmQWNjb3VudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZBY2NvdW50KCl1aW50NjQKCWNhbGxzdWIgc3RvcmFnZVJlZkFjY291bnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdG9yYWdlUmVmQWNjb3VudCgpOiB1aW50NjQKc3RvcmFnZVJlZkFjY291bnQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMTkKCS8vIGFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWZyYW1lX2J1cnkgMCAvLyBhZGRyOiBhZGRyZXNzCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEwMjAKCS8vIHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZSA9IFsxLCAyLCAzXQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDMwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyMQoJLy8gciA9IHRoaXMubE1hcChhZGRyLCAwKS52YWx1ZQoJZnJhbWVfZGlnIDAgLy8gYWRkcjogYWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIHN0b3JhZ2UgYWNjb3VudC8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDIzCgkvLyBhZGRyID0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglmcmFtZV9idXJ5IDAgLy8gYWRkcjogYWRkcmVzcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDI1CgkvLyByWzFdID0gNAoJZnJhbWVfZGlnIDEgLy8gc3RvcmFnZSBhY2NvdW50Ly9yCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGFjY291bnQvL3IKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCgl1bmNvdmVyIDIKCWR1cAoJbGVuCglwdXNoaW50IDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAyNwoJLy8gcmV0dXJuIHRoaXMubE1hcCh0aGlzLnR4bi5zZW5kZXIsIDApLnZhbHVlWzFdOwoJdHhuIFNlbmRlcgoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgMiAwCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweGJlNzc3Y2U2IC8vIG1ldGhvZCAic3RvcmFnZVJlZkFjY291bnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZkFjY291bnQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal b/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal index eed6bc016..53dd9f355 100644 --- a/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal +++ b/tests/contracts/artifacts/ABITestStorageRefKey.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x0000000000000000 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json b/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json index 5d894a61e..485bde553 100644 --- a/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json +++ b/tests/contracts/artifacts/ABITestStorageRefKey.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZktleSgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVJlZktleToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMgoJLy8gaSA9IDAKCXB1c2hpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGtleS8vcgoJc3dhcAoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNmJiZGNkMSAvLyBtZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZktleSgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVJlZktleToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMgoJLy8gaSA9IDAKCXB1c2hpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGtleS8vcgoJc3dhcAoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNmJiZGNkMSAvLyBtZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json index 5af16fe2b..f80981cfb 100644 --- a/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStorageRefKey.arc56_draft.json @@ -692,7 +692,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZktleSgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVJlZktleToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMgoJLy8gaSA9IDAKCXB1c2hpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGtleS8vcgoJc3dhcAoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNmJiZGNkMSAvLyBtZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwIDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RvcmFnZVJlZktleSgpdWludDY0CiphYmlfcm91dGVfc3RvcmFnZVJlZktleToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0b3JhZ2VSZWZLZXkoKXVpbnQ2NAoJY2FsbHN1YiBzdG9yYWdlUmVmS2V5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RvcmFnZVJlZktleSgpOiB1aW50NjQKc3RvcmFnZVJlZktleToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMAoJLy8gdGhpcy5nTWFwKDApLnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vIDB4MDAwMDAwMDAwMDAwMDAwMAoJcHVzaGJ5dGVzIDB4MDAwMzAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwMgoJLy8gaSA9IDAKCXB1c2hpbnQgMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA0CgkvLyByID0gdGhpcy5nTWFwKGkpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWl0b2IKCWZyYW1lX2J1cnkgMSAvLyBzdG9yYWdlIGtleS8vcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMDA2CgkvLyBpID0gMQoJaW50YyAwIC8vIDEKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAwOAoJLy8gclsxXSA9IDQKCWZyYW1lX2RpZyAxIC8vIHN0b3JhZ2Uga2V5Ly9yCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDA0CglyZXBsYWNlMiA4CglmcmFtZV9kaWcgMSAvLyBzdG9yYWdlIGtleS8vcgoJc3dhcAoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTAxMAoJLy8gcmV0dXJuIHRoaXMuZ01hcCgwKS52YWx1ZVsxXTsKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAyIDAKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlNmJiZGNkMSAvLyBtZXRob2QgInN0b3JhZ2VSZWZLZXkoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RvcmFnZVJlZktleQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal b/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal index fc05e9165..af040ac51 100644 --- a/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal +++ b/tests/contracts/artifacts/ABITestStorageTypeHint.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x674b6579 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json b/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json index 6917d80a7..719e3ee90 100644 --- a/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json +++ b/tests/contracts/artifacts/ABITestStorageTypeHint.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NzRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHBhcnRpYWxTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KCWNhbGxzdWIgcGFydGlhbFN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KcGFydGlhbFN0YXRpY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vICAiZ0tleSIKCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYyCgkvLyByZXR1cm4gdGhpcy5nS2V5LnZhbHVlOwoJYnl0ZWMgMCAvLyAgImdLZXkiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NzRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHBhcnRpYWxTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KCWNhbGxzdWIgcGFydGlhbFN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KcGFydGlhbFN0YXRpY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vICAiZ0tleSIKCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYyCgkvLyByZXR1cm4gdGhpcy5nS2V5LnZhbHVlOwoJYnl0ZWMgMCAvLyAgImdLZXkiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json b/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json index 50248d052..a5e91d6e2 100644 --- a/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStorageTypeHint.arc56_draft.json @@ -391,7 +391,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NzRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHBhcnRpYWxTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KCWNhbGxzdWIgcGFydGlhbFN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KcGFydGlhbFN0YXRpY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vICAiZ0tleSIKCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYyCgkvLyByZXR1cm4gdGhpcy5nS2V5LnZhbHVlOwoJYnl0ZWMgMCAvLyAgImdLZXkiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NzRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHBhcnRpYWxTdGF0aWNBcnJheSgpdWludDE2WzNdCiphYmlfcm91dGVfcGFydGlhbFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10KCWNhbGxzdWIgcGFydGlhbFN0YXRpY0FycmF5Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGFydGlhbFN0YXRpY0FycmF5KCk6IFN0YXRpY0FycmF5PHVpbnQxNiwgMz4KcGFydGlhbFN0YXRpY0FycmF5OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjg2MAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyAwIC8vICAiZ0tleSIKCXB1c2hieXRlcyAweDAwMDEwMDAyMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODYyCgkvLyByZXR1cm4gdGhpcy5nS2V5LnZhbHVlOwoJYnl0ZWMgMCAvLyAgImdLZXkiCglhcHBfZ2xvYmFsX2dldAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGQyOTRkYzE0IC8vIG1ldGhvZCAicGFydGlhbFN0YXRpY0FycmF5KCl1aW50MTZbM10iCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3BhcnRpYWxTdGF0aWNBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringAccessor.approval.teal b/tests/contracts/artifacts/ABITestStringAccessor.approval.teal index 596f84f1d..ec04b08de 100644 --- a/tests/contracts/artifacts/ABITestStringAccessor.approval.teal +++ b/tests/contracts/artifacts/ABITestStringAccessor.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringAccessor.arc32.json b/tests/contracts/artifacts/ABITestStringAccessor.arc32.json index 6f27e3d61..1559035fe 100644 --- a/tests/contracts/artifacts/ABITestStringAccessor.arc32.json +++ b/tests/contracts/artifacts/ABITestStringAccessor.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgzNAoJLy8gcyA9IGNvbmNhdCgnSGVsbG8gJywgJ1dvcmxkJykKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODM2CgkvLyByZXR1cm4gc1sxXTsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJZXh0cmFjdCAxIDEKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkYzYzNjMyNCAvLyBtZXRob2QgInN0cmluZ0FjY2Vzc29yKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgzNAoJLy8gcyA9IGNvbmNhdCgnSGVsbG8gJywgJ1dvcmxkJykKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODM2CgkvLyByZXR1cm4gc1sxXTsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJZXh0cmFjdCAxIDEKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkYzYzNjMyNCAvLyBtZXRob2QgInN0cmluZ0FjY2Vzc29yKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json b/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json index 915a31089..e3d2aabd1 100644 --- a/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringAccessor.arc56_draft.json @@ -434,7 +434,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgzNAoJLy8gcyA9IGNvbmNhdCgnSGVsbG8gJywgJ1dvcmxkJykKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODM2CgkvLyByZXR1cm4gc1sxXTsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJZXh0cmFjdCAxIDEKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkYzYzNjMyNCAvLyBtZXRob2QgInN0cmluZ0FjY2Vzc29yKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgc3RyaW5nQWNjZXNzb3IoKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdBY2Nlc3NvcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdBY2Nlc3NvcigpOiBzdHJpbmcKc3RyaW5nQWNjZXNzb3I6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjgzNAoJLy8gcyA9IGNvbmNhdCgnSGVsbG8gJywgJ1dvcmxkJykKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6ODM2CgkvLyByZXR1cm4gc1sxXTsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJZXh0cmFjdCAxIDEKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhkYzYzNjMyNCAvLyBtZXRob2QgInN0cmluZ0FjY2Vzc29yKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FjY2Vzc29yCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringArg.approval.teal b/tests/contracts/artifacts/ABITestStringArg.approval.teal index 09698925f..6ba0f0526 100644 --- a/tests/contracts/artifacts/ABITestStringArg.approval.teal +++ b/tests/contracts/artifacts/ABITestStringArg.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringArg.arc32.json b/tests/contracts/artifacts/ABITestStringArg.arc32.json index 543bd7115..5e2261bb3 100644 --- a/tests/contracts/artifacts/ABITestStringArg.arc32.json +++ b/tests/contracts/artifacts/ABITestStringArg.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJnKHN0cmluZyl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJnOgoJLy8gczogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJnKHN0cmluZyl2b2lkCgljYWxsc3ViIHN0cmluZ0FyZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nQXJnKHM6IHN0cmluZyk6IHZvaWQKc3RyaW5nQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KHMgPT09ICdIZWxsbyBXb3JsZCEnKQoJZnJhbWVfZGlnIC0xIC8vIHM6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhNTZkZDEgLy8gbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJnKHN0cmluZyl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJnOgoJLy8gczogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJnKHN0cmluZyl2b2lkCgljYWxsc3ViIHN0cmluZ0FyZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nQXJnKHM6IHN0cmluZyk6IHZvaWQKc3RyaW5nQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KHMgPT09ICdIZWxsbyBXb3JsZCEnKQoJZnJhbWVfZGlnIC0xIC8vIHM6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhNTZkZDEgLy8gbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json b/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json index 2cc5a84b8..ca23d9229 100644 --- a/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringArg.arc56_draft.json @@ -369,7 +369,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJnKHN0cmluZyl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJnOgoJLy8gczogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJnKHN0cmluZyl2b2lkCgljYWxsc3ViIHN0cmluZ0FyZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nQXJnKHM6IHN0cmluZyk6IHZvaWQKc3RyaW5nQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KHMgPT09ICdIZWxsbyBXb3JsZCEnKQoJZnJhbWVfZGlnIC0xIC8vIHM6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhNTZkZDEgLy8gbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJnKHN0cmluZyl2b2lkCiphYmlfcm91dGVfc3RyaW5nQXJnOgoJLy8gczogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgc3RyaW5nQXJnKHN0cmluZyl2b2lkCgljYWxsc3ViIHN0cmluZ0FyZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nQXJnKHM6IHN0cmluZyk6IHZvaWQKc3RyaW5nQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjUzNgoJLy8gYXNzZXJ0KHMgPT09ICdIZWxsbyBXb3JsZCEnKQoJZnJhbWVfZGlnIC0xIC8vIHM6IHN0cmluZwoJcHVzaGJ5dGVzIDB4NDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxIC8vICJIZWxsbyBXb3JsZCEiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4YWZhNTZkZDEgLy8gbWV0aG9kICJzdHJpbmdBcmcoc3RyaW5nKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FyZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringArray.approval.teal b/tests/contracts/artifacts/ABITestStringArray.approval.teal index b8b4434fc..0ff5753d2 100644 --- a/tests/contracts/artifacts/ABITestStringArray.approval.teal +++ b/tests/contracts/artifacts/ABITestStringArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringArray.arc32.json b/tests/contracts/artifacts/ABITestStringArray.arc32.json index 518774e46..9af3d69cc 100644 --- a/tests/contracts/artifacts/ABITestStringArray.arc32.json +++ b/tests/contracts/artifacts/ABITestStringArray.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoqYWJpX3JvdXRlX3N0cmluZ0FycmF5OgoJLy8gYTogc3RyaW5nW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIHN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJyYXkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0FycmF5KGE6IHN0cmluZ1tdKTogdm9pZApzdHJpbmdBcnJheToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTgzCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBhCglwdXNoYnl0ZXMgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MjRkNjQ2NyAvLyBtZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoqYWJpX3JvdXRlX3N0cmluZ0FycmF5OgoJLy8gYTogc3RyaW5nW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIHN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJyYXkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0FycmF5KGE6IHN0cmluZ1tdKTogdm9pZApzdHJpbmdBcnJheToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTgzCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBhCglwdXNoYnl0ZXMgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MjRkNjQ2NyAvLyBtZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json b/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json index 0de5449db..992686a15 100644 --- a/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringArray.arc56_draft.json @@ -351,7 +351,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoqYWJpX3JvdXRlX3N0cmluZ0FycmF5OgoJLy8gYTogc3RyaW5nW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIHN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJyYXkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0FycmF5KGE6IHN0cmluZ1tdKTogdm9pZApzdHJpbmdBcnJheToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTgzCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBhCglwdXNoYnl0ZXMgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MjRkNjQ2NyAvLyBtZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nQXJyYXkoc3RyaW5nW10pdm9pZAoqYWJpX3JvdXRlX3N0cmluZ0FycmF5OgoJLy8gYTogc3RyaW5nW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCgkvLyBleGVjdXRlIHN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQKCWNhbGxzdWIgc3RyaW5nQXJyYXkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0FycmF5KGE6IHN0cmluZ1tdKTogdm9pZApzdHJpbmdBcnJheToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTgzCgkvLyB0aGlzLmdLZXkudmFsdWUgPSBhCglwdXNoYnl0ZXMgMHg2NzRiNjU3OSAvLyAiZ0tleSIKCWZyYW1lX2RpZyAtMSAvLyBhOiBzdHJpbmdbXQoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4MjRkNjQ2NyAvLyBtZXRob2QgInN0cmluZ0FycmF5KHN0cmluZ1tdKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3N0cmluZ0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestStringInTuple.approval.teal index acbde2a05..85e6058d3 100644 --- a/tests/contracts/artifacts/ABITestStringInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestStringInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestStringInTuple.arc32.json index 7a8ee87dc..ad0056b20 100644 --- a/tests/contracts/artifacts/ABITestStringInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestStringInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkKCWNhbGxzdWIgc3RyaW5nSW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0luVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0Kc3RyaW5nSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0gPSBbMSwgWzJdLCAnSGVsbG8gV29ybGQhJywgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRjMGQ1NjU4IC8vIG1ldGhvZCAic3RyaW5nSW5UdXBsZSgpKHVpbnQxNix1aW50OFtdLHN0cmluZyx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkKCWNhbGxzdWIgc3RyaW5nSW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0luVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0Kc3RyaW5nSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0gPSBbMSwgWzJdLCAnSGVsbG8gV29ybGQhJywgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRjMGQ1NjU4IC8vIG1ldGhvZCAic3RyaW5nSW5UdXBsZSgpKHVpbnQxNix1aW50OFtdLHN0cmluZyx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json index bb4e96d5f..bd1d5f8dc 100644 --- a/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringInTuple.arc56_draft.json @@ -722,7 +722,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkKCWNhbGxzdWIgc3RyaW5nSW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0luVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0Kc3RyaW5nSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0gPSBbMSwgWzJdLCAnSGVsbG8gV29ybGQhJywgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRjMGQ1NjU4IC8vIG1ldGhvZCAic3RyaW5nSW5UdXBsZSgpKHVpbnQxNix1aW50OFtdLHN0cmluZyx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBzdHJpbmdJblR1cGxlKCkodWludDE2LHVpbnQ4W10sc3RyaW5nLHVpbnQ4W10pCiphYmlfcm91dGVfc3RyaW5nSW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHN0cmluZ0luVHVwbGUoKSh1aW50MTYsdWludDhbXSxzdHJpbmcsdWludDhbXSkKCWNhbGxzdWIgc3RyaW5nSW5UdXBsZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0cmluZ0luVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0Kc3RyaW5nSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCBzdHJpbmcsIHVpbnQ8OD5bXV0gPSBbMSwgWzJdLCAnSGVsbG8gV29ybGQhJywgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDggLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAyCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMwoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgc3RyaW5nLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU0NAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2LCB1aW50PDg+W10sIHN0cmluZywgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDRjMGQ1NjU4IC8vIG1ldGhvZCAic3RyaW5nSW5UdXBsZSgpKHVpbnQxNix1aW50OFtdLHN0cmluZyx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringLength.approval.teal b/tests/contracts/artifacts/ABITestStringLength.approval.teal index b38f40931..448884136 100644 --- a/tests/contracts/artifacts/ABITestStringLength.approval.teal +++ b/tests/contracts/artifacts/ABITestStringLength.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringLength.arc32.json b/tests/contracts/artifacts/ABITestStringLength.arc32.json index e17e82340..70a4890e2 100644 --- a/tests/contracts/artifacts/ABITestStringLength.arc32.json +++ b/tests/contracts/artifacts/ABITestStringLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nTGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzQzCgkvLyBzID0gY29uY2F0KCdmb28gJywgJ2JhcicpCglwdXNoYnl0ZXMgMHg2NjZmNmYyMDYyNjE3MgoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NDUKCS8vIHJldHVybiBzLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJbGVuCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjU5ZTQzMDcgLy8gbWV0aG9kICJzdHJpbmdMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nTGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nTGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzQzCgkvLyBzID0gY29uY2F0KCdmb28gJywgJ2JhcicpCglwdXNoYnl0ZXMgMHg2NjZmNmYyMDYyNjE3MgoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NDUKCS8vIHJldHVybiBzLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJbGVuCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjU5ZTQzMDcgLy8gbWV0aG9kICJzdHJpbmdMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nTGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json b/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json index 4e874ff86..973066b31 100644 --- a/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringLength.arc56_draft.json @@ -391,7 +391,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nTGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzQzCgkvLyBzID0gY29uY2F0KCdmb28gJywgJ2JhcicpCglwdXNoYnl0ZXMgMHg2NjZmNmYyMDYyNjE3MgoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NDUKCS8vIHJldHVybiBzLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJbGVuCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjU5ZTQzMDcgLy8gbWV0aG9kICJzdHJpbmdMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nTGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nTGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9zdHJpbmdMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdMZW5ndGgoKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdMZW5ndGgKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdHJpbmdMZW5ndGgoKTogdWludDY0CnN0cmluZ0xlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzQzCgkvLyBzID0gY29uY2F0KCdmb28gJywgJ2JhcicpCglwdXNoYnl0ZXMgMHg2NjZmNmYyMDYyNjE3MgoJZnJhbWVfYnVyeSAwIC8vIHM6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3NDUKCS8vIHJldHVybiBzLmxlbmd0aDsKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJbGVuCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NjU5ZTQzMDcgLy8gbWV0aG9kICJzdHJpbmdMZW5ndGgoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc3RyaW5nTGVuZ3RoCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestStringReturn.approval.teal b/tests/contracts/artifacts/ABITestStringReturn.approval.teal index b99b73ddd..73c66d463 100644 --- a/tests/contracts/artifacts/ABITestStringReturn.approval.teal +++ b/tests/contracts/artifacts/ABITestStringReturn.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestStringReturn.arc32.json b/tests/contracts/artifacts/ABITestStringReturn.arc32.json index 981524b5a..c479a7dd5 100644 --- a/tests/contracts/artifacts/ABITestStringReturn.arc32.json +++ b/tests/contracts/artifacts/ABITestStringReturn.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nUmV0dXJuKClzdHJpbmcKKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODQzMGU5MiAvLyBtZXRob2QgInN0cmluZ1JldHVybigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nUmV0dXJuKClzdHJpbmcKKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODQzMGU5MiAvLyBtZXRob2QgInN0cmluZ1JldHVybigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json b/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json index dd28ba48d..2439a7abf 100644 --- a/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestStringReturn.arc56_draft.json @@ -394,7 +394,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nUmV0dXJuKClzdHJpbmcKKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODQzMGU5MiAvLyBtZXRob2QgInN0cmluZ1JldHVybigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gc3RyaW5nUmV0dXJuKClzdHJpbmcKKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBzdHJpbmdSZXR1cm4oKXN0cmluZwoJY2FsbHN1YiBzdHJpbmdSZXR1cm4KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUmV0dXJuKCk6IHN0cmluZwpzdHJpbmdSZXR1cm46Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTMwCgkvLyByZXR1cm4gJ0hlbGxvIFdvcmxkISc7CglwdXNoYnl0ZXMgMHg0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgLy8gIkhlbGxvIFdvcmxkISIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ODQzMGU5MiAvLyBtZXRob2QgInN0cmluZ1JldHVybigpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9zdHJpbmdSZXR1cm4KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal index d8afc3646..18e16ec07 100644 --- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal +++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json index 9fbe27f6e..8dee5a302 100644 --- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json +++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCk6IHVpbnQxNgp0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAyMTAwMmMwMDM3MDA0MjAwNGQwMDU4CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI0OQoJLy8gYVsxXVsxXSA9IFs3NzcsIDg4OF0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDMwOTAzNzgKCXJlcGxhY2UyIDEyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI1MQoJLy8gcmV0dXJuIGFbMV1bMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWV4dHJhY3QgMTQgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM0NDAyMzU1IC8vIG1ldGhvZCAidGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCk6IHVpbnQxNgp0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAyMTAwMmMwMDM3MDA0MjAwNGQwMDU4CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI0OQoJLy8gYVsxXVsxXSA9IFs3NzcsIDg4OF0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDMwOTAzNzgKCXJlcGxhY2UyIDEyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI1MQoJLy8gcmV0dXJuIGFbMV1bMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWV4dHJhY3QgMTQgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM0NDAyMzU1IC8vIG1ldGhvZCAidGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json index def86ace9..103d5d521 100644 --- a/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestThreeDimensionalUint16Array.arc56_draft.json @@ -491,7 +491,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCk6IHVpbnQxNgp0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAyMTAwMmMwMDM3MDA0MjAwNGQwMDU4CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI0OQoJLy8gYVsxXVsxXSA9IFs3NzcsIDg4OF0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDMwOTAzNzgKCXJlcGxhY2UyIDEyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI1MQoJLy8gcmV0dXJuIGFbMV1bMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWV4dHJhY3QgMTQgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM0NDAyMzU1IC8vIG1ldGhvZCAidGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHRocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCk6IHVpbnQxNgp0aHJlZURpbWVuc2lvbmFsVWludDE2QXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIzOAoJLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+ID0gWwoJLy8gICAgICAgWwoJLy8gICAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgICAgWzMzLCA0NF0sCgkvLyAgICAgICBdLAoJLy8gICAgICAgWwoJLy8gICAgICAgICBbNTUsIDY2XSwKCS8vICAgICAgICAgWzc3LCA4OF0sCgkvLyAgICAgICBdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMGIwMDE2MDAyMTAwMmMwMDM3MDA0MjAwNGQwMDU4CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI0OQoJLy8gYVsxXVsxXSA9IFs3NzcsIDg4OF0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQxNiwgMj4sIDI+LCAyPgoJcHVzaGJ5dGVzIDB4MDMwOTAzNzgKCXJlcGxhY2UyIDEyCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDE2LCAyPiwgMj4sIDI+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI1MQoJLy8gcmV0dXJuIGFbMV1bMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50MTYsIDI+LCAyPiwgMj4KCWV4dHJhY3QgMTQgMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGM0NDAyMzU1IC8vIG1ldGhvZCAidGhyZWVEaW1lbnNpb25hbFVpbnQxNkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3RocmVlRGltZW5zaW9uYWxVaW50MTZBcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTupleArg.approval.teal b/tests/contracts/artifacts/ABITestTupleArg.approval.teal index d5e5d4375..f07ce65b9 100644 --- a/tests/contracts/artifacts/ABITestTupleArg.approval.teal +++ b/tests/contracts/artifacts/ABITestTupleArg.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTupleArg.arc32.json b/tests/contracts/artifacts/ABITestTupleArg.arc32.json index 4259d1ee0..bdf7d76d8 100644 --- a/tests/contracts/artifacts/ABITestTupleArg.arc32.json +++ b/tests/contracts/artifacts/ABITestTupleArg.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAxOAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdHVwbGVBcmcgbXVzdCBiZSBhICh1aW50NjQsdWludDE2LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKCWNhbGxzdWIgdHVwbGVBcmcKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlQXJnIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUFyZyhhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0pOiB1aW50MTYKdHVwbGVBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQyCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCWV4dHJhY3QgOCAyCglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWQzYmRlYjcgLy8gbWV0aG9kICJ0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVBcmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAxOAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdHVwbGVBcmcgbXVzdCBiZSBhICh1aW50NjQsdWludDE2LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKCWNhbGxzdWIgdHVwbGVBcmcKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlQXJnIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUFyZyhhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0pOiB1aW50MTYKdHVwbGVBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQyCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCWV4dHJhY3QgOCAyCglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWQzYmRlYjcgLy8gbWV0aG9kICJ0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVBcmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json index 42b3164af..24d6570df 100644 --- a/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTupleArg.arc56_draft.json @@ -458,7 +458,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAxOAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdHVwbGVBcmcgbXVzdCBiZSBhICh1aW50NjQsdWludDE2LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKCWNhbGxzdWIgdHVwbGVBcmcKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlQXJnIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUFyZyhhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0pOiB1aW50MTYKdHVwbGVBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQyCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCWV4dHJhY3QgOCAyCglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWQzYmRlYjcgLy8gbWV0aG9kICJ0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVBcmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUFyZzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBhOiAodWludDY0LHVpbnQxNix1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCAxOAoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdHVwbGVBcmcgbXVzdCBiZSBhICh1aW50NjQsdWludDE2LHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdHVwbGVBcmcoKHVpbnQ2NCx1aW50MTYsdWludDY0KSl1aW50MTYKCWNhbGxzdWIgdHVwbGVBcmcKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlQXJnIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUFyZyhhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0pOiB1aW50MTYKdHVwbGVBcmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzQyCgkvLyByZXR1cm4gYVsxXTsKCWZyYW1lX2RpZyAtMSAvLyBhOiBbdWludDY0LCB1aW50MTYsIHVpbnQ2NF0KCWV4dHJhY3QgOCAyCglidG9pCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWQzYmRlYjcgLy8gbWV0aG9kICJ0dXBsZUFyZygodWludDY0LHVpbnQxNix1aW50NjQpKXVpbnQxNiIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVBcmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTupleInArray.approval.teal b/tests/contracts/artifacts/ABITestTupleInArray.approval.teal index 709bcb085..d8da13d6e 100644 --- a/tests/contracts/artifacts/ABITestTupleInArray.approval.teal +++ b/tests/contracts/artifacts/ABITestTupleInArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTupleInArray.arc32.json b/tests/contracts/artifacts/ABITestTupleInArray.arc32.json index 758c28051..ebb9c4d20 100644 --- a/tests/contracts/artifacts/ABITestTupleInArray.arc32.json +++ b/tests/contracts/artifacts/ABITestTupleInArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJbkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUluQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlSW5BcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHVwbGVJbkFycmF5KCk6IHVpbnQxNgp0dXBsZUluQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxbdWludDY0LCB1aW50MTZdLCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNzgKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFkYzI4MDZhIC8vIG1ldGhvZCAidHVwbGVJbkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlSW5BcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJbkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUluQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlSW5BcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHVwbGVJbkFycmF5KCk6IHVpbnQxNgp0dXBsZUluQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxbdWludDY0LCB1aW50MTZdLCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNzgKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFkYzI4MDZhIC8vIG1ldGhvZCAidHVwbGVJbkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlSW5BcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json index fc0505c82..8941b6d4a 100644 --- a/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTupleInArray.arc56_draft.json @@ -459,7 +459,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJbkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUluQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlSW5BcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHVwbGVJbkFycmF5KCk6IHVpbnQxNgp0dXBsZUluQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxbdWludDY0LCB1aW50MTZdLCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNzgKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFkYzI4MDZhIC8vIG1ldGhvZCAidHVwbGVJbkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlSW5BcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJbkFycmF5KCl1aW50MTYKKmFiaV9yb3V0ZV90dXBsZUluQXJyYXk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluQXJyYXkoKXVpbnQxNgoJY2FsbHN1YiB0dXBsZUluQXJyYXkKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDE2Cgk8PQoKCS8vIHR1cGxlSW5BcnJheSByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHVwbGVJbkFycmF5KCk6IHVpbnQxNgp0dXBsZUluQXJyYXk6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjI3MwoJLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4gPSBbCgkvLyAgICAgICBbMTEsIDIyXSwKCS8vICAgICAgIFszMywgNDRdLAoJLy8gICAgIF0KCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMGIwMDE2MDAwMDAwMDAwMDAwMDAyMTAwMmMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxbdWludDY0LCB1aW50MTZdLCAyPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyNzgKCS8vIHJldHVybiBhWzFdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8W3VpbnQ2NCwgdWludDE2XSwgMj4KCWV4dHJhY3QgMTggMgoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFkYzI4MDZhIC8vIG1ldGhvZCAidHVwbGVJbkFycmF5KCl1aW50MTYiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R1cGxlSW5BcnJheQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal b/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal index e7d26f005..ba6087883 100644 --- a/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestTupleInTuple.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json b/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json index fab285c89..0ceb6a7b6 100644 --- a/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestTupleInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV90dXBsZUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjg0CgkvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dID0gWzExLCAyMiwgWzMzLCA0NF0sIFs1NSwgNjZdXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMzcwMDAwMDAwMDAwMDAwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyODYKCS8vIHJldHVybiBhWzNdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MmI2YzRkNmEgLy8gbWV0aG9kICJ0dXBsZUluVHVwbGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV90dXBsZUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjg0CgkvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dID0gWzExLCAyMiwgWzMzLCA0NF0sIFs1NSwgNjZdXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMzcwMDAwMDAwMDAwMDAwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyODYKCS8vIHJldHVybiBhWzNdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MmI2YzRkNmEgLy8gbWV0aG9kICJ0dXBsZUluVHVwbGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json index a965335c0..1138e354c 100644 --- a/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTupleInTuple.arc56_draft.json @@ -417,7 +417,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV90dXBsZUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjg0CgkvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dID0gWzExLCAyMiwgWzMzLCA0NF0sIFs1NSwgNjZdXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMzcwMDAwMDAwMDAwMDAwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyODYKCS8vIHJldHVybiBhWzNdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MmI2YzRkNmEgLy8gbWV0aG9kICJ0dXBsZUluVHVwbGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHVwbGVJblR1cGxlKCl1aW50NjQKKmFiaV9yb3V0ZV90dXBsZUluVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB0dXBsZUluVHVwbGUoKXVpbnQ2NAoJY2FsbHN1YiB0dXBsZUluVHVwbGUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0dXBsZUluVHVwbGUoKTogdWludDY0CnR1cGxlSW5UdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6Mjg0CgkvLyBhOiBbdWludDE2LCB1aW50MTYsIFt1aW50NjQsIHVpbnQxNl0sIFt1aW50MTYsIHVpbnQ2NF1dID0gWzExLCAyMiwgWzMzLCA0NF0sIFs1NSwgNjZdXQoJcHVzaGJ5dGVzIDB4MDAwYjAwMTYwMDAwMDAwMDAwMDAwMDIxMDAyYzAwMzcwMDAwMDAwMDAwMDAwMDQyCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyODYKCS8vIHJldHVybiBhWzNdWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDE2LCBbdWludDY0LCB1aW50MTZdLCBbdWludDE2LCB1aW50NjRdXQoJZXh0cmFjdCAxNiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MmI2YzRkNmEgLy8gbWV0aG9kICJ0dXBsZUluVHVwbGUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHVwbGVJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTxnTypes.approval.teal b/tests/contracts/artifacts/ABITestTxnTypes.approval.teal index 605e40864..53c95615b 100644 --- a/tests/contracts/artifacts/ABITestTxnTypes.approval.teal +++ b/tests/contracts/artifacts/ABITestTxnTypes.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 6 2 3 4 5 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTxnTypes.arc32.json b/tests/contracts/artifacts/ABITestTxnTypes.arc32.json index 574aa02bf..a58ed3651 100644 --- a/tests/contracts/artifacts/ABITestTxnTypes.arc32.json +++ b/tests/contracts/artifacts/ABITestTxnTypes.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYgMiAzIDQgNQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHhuVHlwZXModHhuLGFwcGwsYWNmZyxhZnJ6LGF4ZmVyLGtleXJlZyxwYXkpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVzOgoJLy8gcDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHApIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBrcjoga2V5cmVnCgl0eG4gR3JvdXBJbmRleAoJaW50YyAyIC8vIDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAzIC8vIDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNCAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoYXQpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFmOiBhZnJ6Cgl0eG4gR3JvdXBJbmRleAoJaW50YyA0IC8vIDQKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNSAvLyAgYWZyegoJPT0KCgkvLyBhcmd1bWVudCAzIChhZikgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhZnJ6IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBhYzogYWNmZwoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyA1CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIGFwcGwKCT09CgoJLy8gYXJndW1lbnQgNSAoYSkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhcHBsIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB0OiB0eG4KCXR4biBHcm91cEluZGV4CglwdXNoaW50IDcKCS0KCgkvLyBleGVjdXRlIHR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQKCWNhbGxzdWIgdHhuVHlwZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR4blR5cGVzKHQ6IFR4biwgYTogQXBwQ2FsbFR4biwgYWM6IEFzc2V0Q29uZmlnVHhuLCBhZjogQXNzZXRGcmVlemVUeG4sIGF0OiBBc3NldFRyYW5zZmVyVHhuLCBrcjogS2V5UmVnVHhuLCBwOiBQYXlUeG4pOiB2b2lkCnR4blR5cGVzOgoJcHJvdG8gNyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyNgoJLy8gYXNzZXJ0KHQuc2VuZGVyID09PSBhLnNlbmRlcikKCWZyYW1lX2RpZyAtMSAvLyB0OiBUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGE6IEFwcENhbGxUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjcKCS8vIGFzc2VydChhYy5zZW5kZXIgPT09IGFmLnNlbmRlcikKCWZyYW1lX2RpZyAtMyAvLyBhYzogQXNzZXRDb25maWdUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC00IC8vIGFmOiBBc3NldEZyZWV6ZVR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOAoJLy8gYXNzZXJ0KGF0LnNlbmRlciA9PT0ga3Iuc2VuZGVyKQoJZnJhbWVfZGlnIC01IC8vIGF0OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNiAvLyBrcjogS2V5UmVnVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI5CgkvLyBhc3NlcnQocC5zZW5kZXIgPT09IHQuc2VuZGVyKQoJZnJhbWVfZGlnIC03IC8vIHA6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NDAzMzdlZiAvLyBtZXRob2QgInR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R4blR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYgMiAzIDQgNQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHhuVHlwZXModHhuLGFwcGwsYWNmZyxhZnJ6LGF4ZmVyLGtleXJlZyxwYXkpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVzOgoJLy8gcDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHApIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBrcjoga2V5cmVnCgl0eG4gR3JvdXBJbmRleAoJaW50YyAyIC8vIDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAzIC8vIDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNCAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoYXQpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFmOiBhZnJ6Cgl0eG4gR3JvdXBJbmRleAoJaW50YyA0IC8vIDQKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNSAvLyAgYWZyegoJPT0KCgkvLyBhcmd1bWVudCAzIChhZikgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhZnJ6IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBhYzogYWNmZwoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyA1CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIGFwcGwKCT09CgoJLy8gYXJndW1lbnQgNSAoYSkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhcHBsIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB0OiB0eG4KCXR4biBHcm91cEluZGV4CglwdXNoaW50IDcKCS0KCgkvLyBleGVjdXRlIHR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQKCWNhbGxzdWIgdHhuVHlwZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR4blR5cGVzKHQ6IFR4biwgYTogQXBwQ2FsbFR4biwgYWM6IEFzc2V0Q29uZmlnVHhuLCBhZjogQXNzZXRGcmVlemVUeG4sIGF0OiBBc3NldFRyYW5zZmVyVHhuLCBrcjogS2V5UmVnVHhuLCBwOiBQYXlUeG4pOiB2b2lkCnR4blR5cGVzOgoJcHJvdG8gNyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyNgoJLy8gYXNzZXJ0KHQuc2VuZGVyID09PSBhLnNlbmRlcikKCWZyYW1lX2RpZyAtMSAvLyB0OiBUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGE6IEFwcENhbGxUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjcKCS8vIGFzc2VydChhYy5zZW5kZXIgPT09IGFmLnNlbmRlcikKCWZyYW1lX2RpZyAtMyAvLyBhYzogQXNzZXRDb25maWdUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC00IC8vIGFmOiBBc3NldEZyZWV6ZVR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOAoJLy8gYXNzZXJ0KGF0LnNlbmRlciA9PT0ga3Iuc2VuZGVyKQoJZnJhbWVfZGlnIC01IC8vIGF0OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNiAvLyBrcjogS2V5UmVnVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI5CgkvLyBhc3NlcnQocC5zZW5kZXIgPT09IHQuc2VuZGVyKQoJZnJhbWVfZGlnIC03IC8vIHA6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NDAzMzdlZiAvLyBtZXRob2QgInR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R4blR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json index e9f085c43..3ce4a28f7 100644 --- a/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTxnTypes.arc56_draft.json @@ -902,7 +902,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYgMiAzIDQgNQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHhuVHlwZXModHhuLGFwcGwsYWNmZyxhZnJ6LGF4ZmVyLGtleXJlZyxwYXkpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVzOgoJLy8gcDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHApIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBrcjoga2V5cmVnCgl0eG4gR3JvdXBJbmRleAoJaW50YyAyIC8vIDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAzIC8vIDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNCAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoYXQpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFmOiBhZnJ6Cgl0eG4gR3JvdXBJbmRleAoJaW50YyA0IC8vIDQKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNSAvLyAgYWZyegoJPT0KCgkvLyBhcmd1bWVudCAzIChhZikgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhZnJ6IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBhYzogYWNmZwoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyA1CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIGFwcGwKCT09CgoJLy8gYXJndW1lbnQgNSAoYSkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhcHBsIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB0OiB0eG4KCXR4biBHcm91cEluZGV4CglwdXNoaW50IDcKCS0KCgkvLyBleGVjdXRlIHR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQKCWNhbGxzdWIgdHhuVHlwZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR4blR5cGVzKHQ6IFR4biwgYTogQXBwQ2FsbFR4biwgYWM6IEFzc2V0Q29uZmlnVHhuLCBhZjogQXNzZXRGcmVlemVUeG4sIGF0OiBBc3NldFRyYW5zZmVyVHhuLCBrcjogS2V5UmVnVHhuLCBwOiBQYXlUeG4pOiB2b2lkCnR4blR5cGVzOgoJcHJvdG8gNyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyNgoJLy8gYXNzZXJ0KHQuc2VuZGVyID09PSBhLnNlbmRlcikKCWZyYW1lX2RpZyAtMSAvLyB0OiBUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGE6IEFwcENhbGxUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjcKCS8vIGFzc2VydChhYy5zZW5kZXIgPT09IGFmLnNlbmRlcikKCWZyYW1lX2RpZyAtMyAvLyBhYzogQXNzZXRDb25maWdUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC00IC8vIGFmOiBBc3NldEZyZWV6ZVR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOAoJLy8gYXNzZXJ0KGF0LnNlbmRlciA9PT0ga3Iuc2VuZGVyKQoJZnJhbWVfZGlnIC01IC8vIGF0OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNiAvLyBrcjogS2V5UmVnVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI5CgkvLyBhc3NlcnQocC5zZW5kZXIgPT09IHQuc2VuZGVyKQoJZnJhbWVfZGlnIC03IC8vIHA6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NDAzMzdlZiAvLyBtZXRob2QgInR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R4blR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYgMiAzIDQgNQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHhuVHlwZXModHhuLGFwcGwsYWNmZyxhZnJ6LGF4ZmVyLGtleXJlZyxwYXkpdm9pZAoqYWJpX3JvdXRlX3R4blR5cGVzOgoJLy8gcDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHApIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBrcjoga2V5cmVnCgl0eG4gR3JvdXBJbmRleAoJaW50YyAyIC8vIDIKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAga2V5cmVnCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGtyKSBmb3IgdHhuVHlwZXMgbXVzdCBiZSBhIGtleXJlZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYXQ6IGF4ZmVyCgl0eG4gR3JvdXBJbmRleAoJaW50YyAzIC8vIDMKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNCAvLyAgYXhmZXIKCT09CgoJLy8gYXJndW1lbnQgMiAoYXQpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFmOiBhZnJ6Cgl0eG4gR3JvdXBJbmRleAoJaW50YyA0IC8vIDQKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgNSAvLyAgYWZyegoJPT0KCgkvLyBhcmd1bWVudCAzIChhZikgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhZnJ6IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBhYzogYWNmZwoJdHhuIEdyb3VwSW5kZXgKCWludGMgNSAvLyA1CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDMgLy8gIGFjZmcKCT09CgoJLy8gYXJndW1lbnQgNCAoYWMpIGZvciB0eG5UeXBlcyBtdXN0IGJlIGEgYWNmZyB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gYTogYXBwbAoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyA2CgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIGFwcGwKCT09CgoJLy8gYXJndW1lbnQgNSAoYSkgZm9yIHR4blR5cGVzIG11c3QgYmUgYSBhcHBsIHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyB0OiB0eG4KCXR4biBHcm91cEluZGV4CglwdXNoaW50IDcKCS0KCgkvLyBleGVjdXRlIHR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQKCWNhbGxzdWIgdHhuVHlwZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHR4blR5cGVzKHQ6IFR4biwgYTogQXBwQ2FsbFR4biwgYWM6IEFzc2V0Q29uZmlnVHhuLCBhZjogQXNzZXRGcmVlemVUeG4sIGF0OiBBc3NldFRyYW5zZmVyVHhuLCBrcjogS2V5UmVnVHhuLCBwOiBQYXlUeG4pOiB2b2lkCnR4blR5cGVzOgoJcHJvdG8gNyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyNgoJLy8gYXNzZXJ0KHQuc2VuZGVyID09PSBhLnNlbmRlcikKCWZyYW1lX2RpZyAtMSAvLyB0OiBUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC0yIC8vIGE6IEFwcENhbGxUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MjcKCS8vIGFzc2VydChhYy5zZW5kZXIgPT09IGFmLnNlbmRlcikKCWZyYW1lX2RpZyAtMyAvLyBhYzogQXNzZXRDb25maWdUeG4KCWd0eG5zIFNlbmRlcgoJZnJhbWVfZGlnIC00IC8vIGFmOiBBc3NldEZyZWV6ZVR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcyOAoJLy8gYXNzZXJ0KGF0LnNlbmRlciA9PT0ga3Iuc2VuZGVyKQoJZnJhbWVfZGlnIC01IC8vIGF0OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAtNiAvLyBrcjogS2V5UmVnVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NzI5CgkvLyBhc3NlcnQocC5zZW5kZXIgPT09IHQuc2VuZGVyKQoJZnJhbWVfZGlnIC03IC8vIHA6IFBheVR4bgoJZ3R4bnMgU2VuZGVyCglmcmFtZV9kaWcgLTEgLy8gdDogVHhuCglndHhucyBTZW5kZXIKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4NDAzMzdlZiAvLyBtZXRob2QgInR4blR5cGVzKHR4bixhcHBsLGFjZmcsYWZyeixheGZlcixrZXlyZWcscGF5KXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3R4blR5cGVzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTypedConst.approval.teal b/tests/contracts/artifacts/ABITestTypedConst.approval.teal index fb13a06d2..581bf1aa4 100644 --- a/tests/contracts/artifacts/ABITestTypedConst.approval.teal +++ b/tests/contracts/artifacts/ABITestTypedConst.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 256 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTypedConst.arc32.json b/tests/contracts/artifacts/ABITestTypedConst.arc32.json index 9c931371e..1c981f6f0 100644 --- a/tests/contracts/artifacts/ABITestTypedConst.arc32.json +++ b/tests/contracts/artifacts/ABITestTypedConst.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNTYgMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1heFBvb2xzKCl2b2lkCiphYmlfcm91dGVfbWF4UG9vbHM6CgkvLyBleGVjdXRlIG1heFBvb2xzKCl2b2lkCgljYWxsc3ViIG1heFBvb2xzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtYXhQb29scygpOiB2b2lkCm1heFBvb2xzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjkxCgkvLyB1aW50MTZWYXI6IHVpbnQxNiA9IDI1NgoJaW50YyAwIC8vIDI1NgoJZnJhbWVfYnVyeSAwIC8vIHVpbnQxNlZhcjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTIKCS8vIGFzc2VydCh1aW50MTZWYXIgPT09IFVJTlQxNl9DT05TVCkKCWludGMgMCAvLyAgdWludDE2VmFyOiB1aW50MTYKCWludGMgMCAvLyAyNTYKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYjUzZGJiYSAvLyBtZXRob2QgIm1heFBvb2xzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhQb29scwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNTYgMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1heFBvb2xzKCl2b2lkCiphYmlfcm91dGVfbWF4UG9vbHM6CgkvLyBleGVjdXRlIG1heFBvb2xzKCl2b2lkCgljYWxsc3ViIG1heFBvb2xzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtYXhQb29scygpOiB2b2lkCm1heFBvb2xzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjkxCgkvLyB1aW50MTZWYXI6IHVpbnQxNiA9IDI1NgoJaW50YyAwIC8vIDI1NgoJZnJhbWVfYnVyeSAwIC8vIHVpbnQxNlZhcjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTIKCS8vIGFzc2VydCh1aW50MTZWYXIgPT09IFVJTlQxNl9DT05TVCkKCWludGMgMCAvLyAgdWludDE2VmFyOiB1aW50MTYKCWludGMgMCAvLyAyNTYKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYjUzZGJiYSAvLyBtZXRob2QgIm1heFBvb2xzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhQb29scwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json b/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json index 7704ea7ae..839ada475 100644 --- a/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTypedConst.arc56_draft.json @@ -357,7 +357,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNTYgMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1heFBvb2xzKCl2b2lkCiphYmlfcm91dGVfbWF4UG9vbHM6CgkvLyBleGVjdXRlIG1heFBvb2xzKCl2b2lkCgljYWxsc3ViIG1heFBvb2xzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtYXhQb29scygpOiB2b2lkCm1heFBvb2xzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjkxCgkvLyB1aW50MTZWYXI6IHVpbnQxNiA9IDI1NgoJaW50YyAwIC8vIDI1NgoJZnJhbWVfYnVyeSAwIC8vIHVpbnQxNlZhcjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTIKCS8vIGFzc2VydCh1aW50MTZWYXIgPT09IFVJTlQxNl9DT05TVCkKCWludGMgMCAvLyAgdWludDE2VmFyOiB1aW50MTYKCWludGMgMCAvLyAyNTYKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYjUzZGJiYSAvLyBtZXRob2QgIm1heFBvb2xzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhQb29scwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyNTYgMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIG1heFBvb2xzKCl2b2lkCiphYmlfcm91dGVfbWF4UG9vbHM6CgkvLyBleGVjdXRlIG1heFBvb2xzKCl2b2lkCgljYWxsc3ViIG1heFBvb2xzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtYXhQb29scygpOiB2b2lkCm1heFBvb2xzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjkxCgkvLyB1aW50MTZWYXI6IHVpbnQxNiA9IDI1NgoJaW50YyAwIC8vIDI1NgoJZnJhbWVfYnVyeSAwIC8vIHVpbnQxNlZhcjogdWludDE2CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyOTIKCS8vIGFzc2VydCh1aW50MTZWYXIgPT09IFVJTlQxNl9DT05TVCkKCWludGMgMCAvLyAgdWludDE2VmFyOiB1aW50MTYKCWludGMgMCAvLyAyNTYKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYjUzZGJiYSAvLyBtZXRob2QgIm1heFBvb2xzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9tYXhQb29scwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal b/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal index 63303f0b9..360f77516 100644 --- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal +++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json index e21ab5243..e2df455c9 100644 --- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json +++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZSh1aW50MzIpYnl0ZVszMl0KKmFiaV9yb3V0ZV90eXBlZFZhckZyb21TdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGtleSkgZm9yIHR5cGVkVmFyRnJvbVN0b3JhZ2UgbXVzdCBiZSBhIHVpbnQzMgoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoJY2FsbHN1YiB0eXBlZFZhckZyb21TdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZShrZXk6IHVpbnQ8MzI+KTogYnl0ZXMzMgp0eXBlZFZhckZyb21TdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NGM1MjlmNTUgLy8gbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZSh1aW50MzIpYnl0ZVszMl0KKmFiaV9yb3V0ZV90eXBlZFZhckZyb21TdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGtleSkgZm9yIHR5cGVkVmFyRnJvbVN0b3JhZ2UgbXVzdCBiZSBhIHVpbnQzMgoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoJY2FsbHN1YiB0eXBlZFZhckZyb21TdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZShrZXk6IHVpbnQ8MzI+KTogYnl0ZXMzMgp0eXBlZFZhckZyb21TdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NGM1MjlmNTUgLy8gbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json index 67502a953..248b65161 100644 --- a/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestTypedVarFromStorage.arc56_draft.json @@ -464,7 +464,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZSh1aW50MzIpYnl0ZVszMl0KKmFiaV9yb3V0ZV90eXBlZFZhckZyb21TdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGtleSkgZm9yIHR5cGVkVmFyRnJvbVN0b3JhZ2UgbXVzdCBiZSBhIHVpbnQzMgoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoJY2FsbHN1YiB0eXBlZFZhckZyb21TdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZShrZXk6IHVpbnQ8MzI+KTogYnl0ZXMzMgp0eXBlZFZhckZyb21TdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NGM1MjlmNTUgLy8gbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZSh1aW50MzIpYnl0ZVszMl0KKmFiaV9yb3V0ZV90eXBlZFZhckZyb21TdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGtleTogdWludDMyCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJcHVzaGludCA0Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGtleSkgZm9yIHR5cGVkVmFyRnJvbVN0b3JhZ2UgbXVzdCBiZSBhIHVpbnQzMgoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXQoJY2FsbHN1YiB0eXBlZFZhckZyb21TdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHlwZWRWYXJGcm9tU3RvcmFnZShrZXk6IHVpbnQ8MzI+KTogYnl0ZXMzMgp0eXBlZFZhckZyb21TdG9yYWdlOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCXB1c2hieXRlcyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMzAwCgkvLyB2YWx1ZTogYnl0ZXMzMiA9IHRoaXMuYm94TWFwVGVzdChrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiB1aW50PDMyPgoJaXRvYgoJZXh0cmFjdCA0IDQKCWZyYW1lX2J1cnkgMCAvLyBzdG9yYWdlIGtleS8vdmFsdWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTMwMgoJLy8gcmV0dXJuIHZhbHVlOwoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL3ZhbHVlCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcFRlc3Qoa2V5KS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4NGM1MjlmNTUgLy8gbWV0aG9kICJ0eXBlZFZhckZyb21TdG9yYWdlKHVpbnQzMilieXRlWzMyXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdHlwZWRWYXJGcm9tU3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUint64Casting.approval.teal b/tests/contracts/artifacts/ABITestUint64Casting.approval.teal index 82d480287..10d552245 100644 --- a/tests/contracts/artifacts/ABITestUint64Casting.approval.teal +++ b/tests/contracts/artifacts/ABITestUint64Casting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUint64Casting.arc32.json b/tests/contracts/artifacts/ABITestUint64Casting.arc32.json index 189021290..60bca83e3 100644 --- a/tests/contracts/artifacts/ABITestUint64Casting.arc32.json +++ b/tests/contracts/artifacts/ABITestUint64Casting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoqYWJpX3JvdXRlX3VpbnQ2NENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnQ2NENhc3RpbmcgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoJY2FsbHN1YiB1aW50NjRDYXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDY0Q2FzdGluZyhhOiB1aW50MjU2KTogdWludDY0CnVpbnQ2NENhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE5NQoJLy8gcmV0dXJuIGEgYXMgdWludDY0OwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglwdXNoaW50IDY0Cgk8PQoKCS8vIGEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglleHRyYWN0IDI0IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmYWM5OTcwNiAvLyBtZXRob2QgInVpbnQ2NENhc3RpbmcodWludDI1Nil1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnQ2NENhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoqYWJpX3JvdXRlX3VpbnQ2NENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnQ2NENhc3RpbmcgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoJY2FsbHN1YiB1aW50NjRDYXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDY0Q2FzdGluZyhhOiB1aW50MjU2KTogdWludDY0CnVpbnQ2NENhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE5NQoJLy8gcmV0dXJuIGEgYXMgdWludDY0OwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglwdXNoaW50IDY0Cgk8PQoKCS8vIGEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglleHRyYWN0IDI0IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmYWM5OTcwNiAvLyBtZXRob2QgInVpbnQ2NENhc3RpbmcodWludDI1Nil1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnQ2NENhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json b/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json index 4e13ba00c..f96456fb7 100644 --- a/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUint64Casting.arc56_draft.json @@ -449,7 +449,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoqYWJpX3JvdXRlX3VpbnQ2NENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnQ2NENhc3RpbmcgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoJY2FsbHN1YiB1aW50NjRDYXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDY0Q2FzdGluZyhhOiB1aW50MjU2KTogdWludDY0CnVpbnQ2NENhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE5NQoJLy8gcmV0dXJuIGEgYXMgdWludDY0OwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglwdXNoaW50IDY0Cgk8PQoKCS8vIGEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglleHRyYWN0IDI0IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmYWM5OTcwNiAvLyBtZXRob2QgInVpbnQ2NENhc3RpbmcodWludDI1Nil1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnQ2NENhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoqYWJpX3JvdXRlX3VpbnQ2NENhc3Rpbmc6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnQ2NENhc3RpbmcgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdWludDY0Q2FzdGluZyh1aW50MjU2KXVpbnQ2NAoJY2FsbHN1YiB1aW50NjRDYXN0aW5nCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDY0Q2FzdGluZyhhOiB1aW50MjU2KTogdWludDY0CnVpbnQ2NENhc3Rpbmc6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE5NQoJLy8gcmV0dXJuIGEgYXMgdWludDY0OwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWR1cAoJYml0bGVuCglwdXNoaW50IDY0Cgk8PQoKCS8vIGEgYXMgdWludDY0IG92ZXJmbG93ZWQgNjQgYml0cwoJYXNzZXJ0CglleHRyYWN0IDI0IDgKCWJ0b2kKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhmYWM5OTcwNiAvLyBtZXRob2QgInVpbnQ2NENhc3RpbmcodWludDI1Nil1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VpbnQ2NENhc3RpbmcKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUintCasting.approval.teal b/tests/contracts/artifacts/ABITestUintCasting.approval.teal index a3d001eb2..56c935a99 100644 --- a/tests/contracts/artifacts/ABITestUintCasting.approval.teal +++ b/tests/contracts/artifacts/ABITestUintCasting.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUintCasting.arc32.json b/tests/contracts/artifacts/ABITestUintCasting.arc32.json index 8f15efa50..93b9c0cd1 100644 --- a/tests/contracts/artifacts/ABITestUintCasting.arc32.json +++ b/tests/contracts/artifacts/ABITestUintCasting.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludENhc3RpbmcodWludDgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnRDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gdWludENhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50Q2FzdGluZyhhOiB1aW50PDg+KTogdWludDI1Ngp1aW50Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTg5CgkvLyByZXR1cm4gPHVpbnQyNTY+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50PDg+CglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjUyYmY4NjYgLy8gbWV0aG9kICJ1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50Q2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludENhc3RpbmcodWludDgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnRDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gdWludENhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50Q2FzdGluZyhhOiB1aW50PDg+KTogdWludDI1Ngp1aW50Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTg5CgkvLyByZXR1cm4gPHVpbnQyNTY+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50PDg+CglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjUyYmY4NjYgLy8gbWV0aG9kICJ1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50Q2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json b/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json index c9548df9c..8218bc74f 100644 --- a/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUintCasting.arc56_draft.json @@ -537,7 +537,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludENhc3RpbmcodWludDgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnRDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gdWludENhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50Q2FzdGluZyhhOiB1aW50PDg+KTogdWludDI1Ngp1aW50Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTg5CgkvLyByZXR1cm4gPHVpbnQyNTY+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50PDg+CglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjUyYmY4NjYgLy8gbWV0aG9kICJ1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50Q2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludENhc3RpbmcodWludDgpdWludDI1NgoqYWJpX3JvdXRlX3VpbnRDYXN0aW5nOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHVpbnRDYXN0aW5nIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gZXhlY3V0ZSB1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2CgljYWxsc3ViIHVpbnRDYXN0aW5nCglkdXAKCWJpdGxlbgoJcHVzaGludCAyNTYKCTw9CgoJLy8gdWludENhc3RpbmcgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJcHVzaGJ5dGVzIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCXB1c2hpbnQgMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50Q2FzdGluZyhhOiB1aW50PDg+KTogdWludDI1Ngp1aW50Q2FzdGluZzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTg5CgkvLyByZXR1cm4gPHVpbnQyNTY+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50PDg+CglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZjUyYmY4NjYgLy8gbWV0aG9kICJ1aW50Q2FzdGluZyh1aW50OCl1aW50MjU2IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91aW50Q2FzdGluZwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUintNComparison.approval.teal b/tests/contracts/artifacts/ABITestUintNComparison.approval.teal index 5773aefe1..47a42d187 100644 --- a/tests/contracts/artifacts/ABITestUintNComparison.approval.teal +++ b/tests/contracts/artifacts/ABITestUintNComparison.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 32 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUintNComparison.arc32.json b/tests/contracts/artifacts/ABITestUintNComparison.arc32.json index 9e0e429a9..3306479d9 100644 --- a/tests/contracts/artifacts/ABITestUintNComparison.arc32.json +++ b/tests/contracts/artifacts/ABITestUintNComparison.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludE5Db21wYXJpc29uKHVpbnQyNTYsdWludDI1Nilib29sCiphYmlfcm91dGVfdWludE5Db21wYXJpc29uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCXB1c2hieXRlcyAweDAwCglwdXNoaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiYjA4OTA2MSAvLyBtZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludE5Db21wYXJpc29uKHVpbnQyNTYsdWludDI1Nilib29sCiphYmlfcm91dGVfdWludE5Db21wYXJpc29uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCXB1c2hieXRlcyAweDAwCglwdXNoaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiYjA4OTA2MSAvLyBtZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json b/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json index e87538689..3b3950e7a 100644 --- a/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUintNComparison.arc56_draft.json @@ -485,7 +485,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludE5Db21wYXJpc29uKHVpbnQyNTYsdWludDI1Nilib29sCiphYmlfcm91dGVfdWludE5Db21wYXJpc29uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCXB1c2hieXRlcyAweDAwCglwdXNoaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiYjA4OTA2MSAvLyBtZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdWludE5Db21wYXJpc29uKHVpbnQyNTYsdWludDI1Nilib29sCiphYmlfcm91dGVfdWludE5Db21wYXJpc29uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIHk6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeSkgZm9yIHVpbnROQ29tcGFyaXNvbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8geDogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdWludE5Db21wYXJpc29uIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbAoJY2FsbHN1YiB1aW50TkNvbXBhcmlzb24KCXB1c2hieXRlcyAweDAwCglwdXNoaW50IDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludE5Db21wYXJpc29uKHg6IHVpbnQyNTYsIHk6IHVpbnQyNTYpOiBib29sZWFuCnVpbnROQ29tcGFyaXNvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjU5CgkvLyByZXR1cm4geCA+PSB5OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50MjU2CgliPj0KCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhiYjA4OTA2MSAvLyBtZXRob2QgInVpbnROQ29tcGFyaXNvbih1aW50MjU2LHVpbnQyNTYpYm9vbCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdWludE5Db21wYXJpc29uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal index 81096e165..64246dccc 100644 --- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json index 667a60f3c..fa778ca38 100644 --- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlKCkodWludDgsdWludDY0KQoqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMDcKCS8vIHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gWzEsIDJdCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMTAwMDAwMDAwMDAwMDAwMDIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEwOQoJLy8gdiA9IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3YKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTExMQoJLy8gdlswXSA9IDMKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92CglwdXNoaW50IDAKCXB1c2hieXRlcyAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTEzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDhlNWVkOTJmIC8vIG1ldGhvZCAidXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlKCkodWludDgsdWludDY0KQoqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMDcKCS8vIHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gWzEsIDJdCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMTAwMDAwMDAwMDAwMDAwMDIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEwOQoJLy8gdiA9IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3YKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTExMQoJLy8gdlswXSA9IDMKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92CglwdXNoaW50IDAKCXB1c2hieXRlcyAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTEzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDhlNWVkOTJmIC8vIG1ldGhvZCAidXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json index 2e53b3b64..9e442ecbc 100644 --- a/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateArrayRefInBoxStorage.arc56_draft.json @@ -454,7 +454,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlKCkodWludDgsdWludDY0KQoqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMDcKCS8vIHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gWzEsIDJdCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMTAwMDAwMDAwMDAwMDAwMDIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEwOQoJLy8gdiA9IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3YKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTExMQoJLy8gdlswXSA9IDMKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92CglwdXNoaW50IDAKCXB1c2hieXRlcyAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTEzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDhlNWVkOTJmIC8vIG1ldGhvZCAidXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKmNhbGxfT3B0SW4gKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlKCkodWludDgsdWludDY0KQoqYWJpX3JvdXRlX3VwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpCgljYWxsc3ViIHVwZGF0ZUFycmF5UmVmSW5Cb3hTdG9yYWdlCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKTogW3VpbnQ8OD4sIHVpbnQ2NF0KdXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2U6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJcHVzaGJ5dGVzIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExMDcKCS8vIHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gWzEsIDJdCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHgwMTAwMDAwMDAwMDAwMDAwMDIKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTEwOQoJLy8gdiA9IHRoaXMuYk1hcCh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlCgl0eG4gU2VuZGVyCglmcmFtZV9idXJ5IDAgLy8gc3RvcmFnZSBrZXkvL3YKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTExMQoJLy8gdlswXSA9IDMKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92CglwdXNoaW50IDAKCXB1c2hieXRlcyAweDAzCglib3hfcmVwbGFjZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTEzCgkvLyByZXR1cm4gdjsKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly92Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJNYXAodGhpcy50eG4uc2VuZGVyKS52YWx1ZQoJYXNzZXJ0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDhlNWVkOTJmIC8vIG1ldGhvZCAidXBkYXRlQXJyYXlSZWZJbkJveFN0b3JhZ2UoKSh1aW50OCx1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcnJheVJlZkluQm94U3RvcmFnZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal index c634c02dd..454d7e59a 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json index 3447e4d8a..b7cf62261 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzY5CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzcxCgkvLyBhWzFdID0gMjIyCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ5MWExNTNkIC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzY5CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzcxCgkvLyBhWzFdID0gMjIyCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ5MWExNTNkIC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json index 57e962e69..738e5890c 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayElement.arc56_draft.json @@ -489,7 +489,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzY5CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzcxCgkvLyBhWzFdID0gMjIyCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ5MWExNTNkIC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0CiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpOiB1aW50NjQKdXBkYXRlRHluYW1pY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzY5CgkvLyBhOiB1aW50NjRbXSA9IFsxMSwgMjIsIDMzXQoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwYjAwMDAwMDAwMDAwMDAwMTYwMDAwMDAwMDAwMDAwMDIxCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0W10KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MzcxCgkvLyBhWzFdID0gMjIyCglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwZGUKCXJlcGxhY2UyIDgKCWZyYW1lX2J1cnkgMCAvLyBhOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czozNzMKCS8vIHJldHVybiBhWzFdOwoJZnJhbWVfZGlnIDAgLy8gYTogdWludDY0W10KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDggOAoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQ5MWExNTNkIC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0FycmF5RWxlbWVudCgpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal index e202fb377..6327c7732 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 2 bytecblock 0x 0x00020405 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json index b20dc6c3f..53c7c13a0 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMjA0MDUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDQwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODYKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWNkZWNkYzggLy8gbWV0aG9kICJ1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMjA0MDUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDQwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODYKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWNkZWNkYzggLy8gbWV0aG9kICJ1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json index 82cf25957..83d37eb32 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInMiddleOfTuple.arc56_draft.json @@ -1144,7 +1144,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMjA0MDUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDQwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODYKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWNkZWNkYzggLy8gbWV0aG9kICJ1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMjA0MDUKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0FycmF5SW5NaWRkbGVPZlR1cGxlKCkodWludDE2LHVpbnQ4W10sdWludDE2KQoJY2FsbHN1YiB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCnVwZGF0ZUR5bmFtaWNBcnJheUluTWlkZGxlT2ZUdXBsZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjY4MgoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdID0gWzEsIFsyXSwgM10KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA2IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXBvcCAvLyBwb3AgaGVhZCBvZmZzZXQKCWNvbmNhdCAvLyBjb25jYXQgaGVhZCBhbmQgdGFpbAoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODQKCS8vIGFbMV0gPSBbNCwgNV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAyCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDIgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDQwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2ODYKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTZdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWNkZWNkYzggLy8gbWV0aG9kICJ1cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUoKSh1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJbk1pZGRsZU9mVHVwbGUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWNvbmNhdAoJZnJhbWVfYnVyeSAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJZHVwCglsZW4KCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJYnRvaQoJKwoJaXRvYgoJZXh0cmFjdCA2IDIKCWZyYW1lX2J1cnkgLTIgLy8gaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglzd2FwCgljb25jYXQKCWZyYW1lX2J1cnkgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAwIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDEgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal index 0354978ba..5c1fc3d35 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 2 1 0 4 6 bytecblock 0x 0x0002000a000b 0x0002000e000f 0x00020c0d 0x00021011 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json index bf2bebde5..03a438e8d 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMDIwMDBhMDAwYiAweDAwMDIwMDBlMDAwZiAweDAwMDIwYzBkIDB4MDAwMjEwMTEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgNCAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA2CgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCBbN10sIFs2XSwgWzVdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDkKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTA3CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA5CgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEwCgkvLyBhWzJdID0gWzEyLCAxM10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjBjMGQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTEKCS8vIGFbM10gPSBbMTQsIDE1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCA1CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwZTAwMGYKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMgoJLy8gYVs0XSA9IFsxNiwgMTddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAxIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgNCAvLyAweDAwMDIxMDExCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjNTQ0NjBmZCAvLyBtZXRob2QgInVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAxIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMDIwMDBhMDAwYiAweDAwMDIwMDBlMDAwZiAweDAwMDIwYzBkIDB4MDAwMjEwMTEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgNCAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA2CgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCBbN10sIFs2XSwgWzVdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDkKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTA3CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA5CgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEwCgkvLyBhWzJdID0gWzEyLCAxM10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjBjMGQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTEKCS8vIGFbM10gPSBbMTQsIDE1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCA1CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwZTAwMGYKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMgoJLy8gYVs0XSA9IFsxNiwgMTddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAxIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgNCAvLyAweDAwMDIxMDExCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjNTQ0NjBmZCAvLyBtZXRob2QgInVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAxIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json index 3758377e0..42bde4feb 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicArrayInTuple.arc56_draft.json @@ -2553,7 +2553,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMDIwMDBhMDAwYiAweDAwMDIwMDBlMDAwZiAweDAwMDIwYzBkIDB4MDAwMjEwMTEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgNCAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA2CgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCBbN10sIFs2XSwgWzVdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDkKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTA3CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA5CgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEwCgkvLyBhWzJdID0gWzEyLCAxM10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjBjMGQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTEKCS8vIGFbM10gPSBbMTQsIDE1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCA1CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwZTAwMGYKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMgoJLy8gYVs0XSA9IFsxNiwgMTddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAxIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgNCAvLyAweDAwMDIxMDExCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjNTQ0NjBmZCAvLyBtZXRob2QgInVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAxIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMDIwMDBhMDAwYiAweDAwMDIwMDBlMDAwZiAweDAwMDIwYzBkIDB4MDAwMjEwMTEKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgNCAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCiphYmlfcm91dGVfdXBkYXRlRHluYW1pY0FycmF5SW5UdXBsZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA2CgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCBbN10sIFs2XSwgWzVdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDkgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDkKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTA3CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA4CgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDA5CgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDEgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NDEwCgkvLyBhWzJdID0gWzEyLCAxM10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjBjMGQKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgdWludDw4PltdLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo0MTEKCS8vIGFbM10gPSBbMTQsIDE1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCA1CglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwZTAwMGYKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxMgoJLy8gYVs0XSA9IFsxNiwgMTddCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDcKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAxIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgNCAvLyAweDAwMDIxMDExCglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCB1aW50PDg+W10sIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjQxNAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHVpbnQ8OD5bXSwgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhjNTQ0NjBmZCAvLyBtZXRob2QgInVwZGF0ZUR5bmFtaWNBcnJheUluVHVwbGUoKSh1aW50OCx1aW50MTZbXSx1aW50OFtdLHVpbnQxNltdLHVpbnQ4W10pIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljQXJyYXlJblR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCip1cGRhdGVfZHluYW1pY19oZWFkOgoJcHJvdG8gMiAwCglmcmFtZV9kaWcgLTIgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2RpZyAtMSAvLyBkeW5hbWljIGFycmF5IG9mZnNldAoJZXh0cmFjdF91aW50MTYgLy8gZXh0cmFjdCBkeW5hbWljIGFycmF5IG9mZnNldAoJbG9hZCAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCglieiAqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlCgkrIC8vIGFkZCBkaWZmZXJlbmNlIHRvIG9mZnNldAoJYiAqZW5kX2NhbGNfbmV3X2hlYWQKCipzdWJ0cmFjdF9oZWFkX2RpZmZlcmVuY2U6Cglzd2FwCgktIC8vIHN1YnRyYWN0IGRpZmZlcmVuY2UgZnJvbSBvZmZldAoKKmVuZF9jYWxjX25ld19oZWFkOgoJaXRvYiAvLyBjb252ZXJ0IHRvIGJ5dGVzCglleHRyYWN0IDYgMiAvLyBjb252ZXJ0IHRvIHVpbnQxNgoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZnJhbWVfZGlnIC0xIC8vIG9mZnNldAoJc3dhcAoJcmVwbGFjZTMgLy8gdXBkYXRlIG9mZnNldAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXJldHN1YgoKKmdldF9sZW5ndGhfZGlmZmVyZW5jZToKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJPAoJYm56ICpzd2FwcGVkX2RpZmZlcmVuY2UKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJaW50YyAxIC8vIDEKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCWIgKmdldF9kaWZmZXJlbmNlCgoqc3dhcHBlZF9kaWZmZXJlbmNlOgoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjUyIC8vIG5ldyBlbGVtZW50CglsZW4gLy8gbGVuZ3RoIG9mIG5ldyBlbGVtZW50CglpbnRjIDIgLy8gMAoJc3RvcmUgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoKKmdldF9kaWZmZXJlbmNlOgoJLSAvLyBnZXQgbGVuZ3RoIGRpZmZlcmVuY2UKCXN0b3JlIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJcmV0c3Vi", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal index c866eaa07..4a7e895d5 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 2 bytecblock 0x 0x00030a0b0c -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json index 3acf0aeee..5fa1c703a 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMzBhMGIwYwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoKCkodWludDE2LHVpbnQ4W10sdWludDE2LHVpbnQ4W10sdWludDE2KQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcwMAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMiwgMywgNF0sIDUsIFs2LCA3LCA4XSwgOV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDA1CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzMDYwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAyIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMzBhMGIwYwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCXB1c2hpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQyZGVhODM4IC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMzBhMGIwYwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoKCkodWludDE2LHVpbnQ4W10sdWludDE2LHVpbnQ4W10sdWludDE2KQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcwMAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMiwgMywgNF0sIDUsIFs2LCA3LCA4XSwgOV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDA1CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzMDYwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAyIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMzBhMGIwYwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCXB1c2hpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQyZGVhODM4IC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json index b08fb9e13..ceb1d99b9 100644 --- a/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateDynamicElementInTupleWithSameLength.arc56_draft.json @@ -1383,7 +1383,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMzBhMGIwYwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoKCkodWludDE2LHVpbnQ4W10sdWludDE2LHVpbnQ4W10sdWludDE2KQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcwMAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMiwgMywgNF0sIDUsIFs2LCA3LCA4XSwgOV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDA1CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzMDYwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAyIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMzBhMGIwYwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCXB1c2hpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQyZGVhODM4IC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMgpieXRlY2Jsb2NrIDB4IDB4MDAwMzBhMGIwYwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoKCkodWludDE2LHVpbnQ4W10sdWludDE2LHVpbnQ4W10sdWludDE2KQoqYWJpX3JvdXRlX3VwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpCgljYWxsc3ViIHVwZGF0ZUR5bmFtaWNFbGVtZW50SW5UdXBsZVdpdGhTYW1lTGVuZ3RoCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQp1cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjcwMAoJLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XSA9IFsxLCBbMiwgMywgNF0sIDUsIFs2LCA3LCA4XSwgOV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDBhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDMwMjAzMDQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDA1CgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzMDYwNzA4CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDIKCS8vIGFbMV0gPSBbMTAsIDExLCAxMl0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2LCB1aW50PDg+W10sIHVpbnQxNl0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAyIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwMzBhMGIwYwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCXB1c2hpbnQgNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo3MDQKCS8vIHJldHVybiBhOwoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNiwgdWludDw4PltdLCB1aW50MTYsIHVpbnQ8OD5bXSwgdWludDE2XQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDQyZGVhODM4IC8vIG1ldGhvZCAidXBkYXRlRHluYW1pY0VsZW1lbnRJblR1cGxlV2l0aFNhbWVMZW5ndGgoKSh1aW50MTYsdWludDhbXSx1aW50MTYsdWludDhbXSx1aW50MTYpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVEeW5hbWljRWxlbWVudEluVHVwbGVXaXRoU2FtZUxlbmd0aAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal index abe53919c..f785d6b30 100644 --- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 1 2 0 bytecblock 0x 0x000c48656c6c6f20576f726c6421 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json index 473f83777..ac87ba9f3 100644 --- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgdXBkYXRlTmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOYW1lZFR1cGxlKCk6IHN0cmluZwp1cGRhdGVOYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjE2CgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIaT8nLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MjYKCS8vIHJldHVybiBhLmJhcjsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJkOTY5NjlhIC8vIG1ldGhvZCAidXBkYXRlTmFtZWRUdXBsZSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgdXBkYXRlTmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOYW1lZFR1cGxlKCk6IHN0cmluZwp1cGRhdGVOYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjE2CgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIaT8nLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MjYKCS8vIHJldHVybiBhLmJhcjsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJkOTY5NjlhIC8vIG1ldGhvZCAidXBkYXRlTmFtZWRUdXBsZSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json index 05ed1e9d7..8d64926c4 100644 --- a/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateNamedTuple.arc56_draft.json @@ -1300,7 +1300,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgdXBkYXRlTmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOYW1lZFR1cGxlKCk6IHN0cmluZwp1cGRhdGVOYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjE2CgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIaT8nLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MjYKCS8vIHJldHVybiBhLmJhcjsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJkOTY5NjlhIC8vIG1ldGhvZCAidXBkYXRlTmFtZWRUdXBsZSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDIgMApieXRlY2Jsb2NrIDB4IDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHVwZGF0ZU5hbWVkVHVwbGUoKXN0cmluZwoqYWJpX3JvdXRlX3VwZGF0ZU5hbWVkVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOYW1lZFR1cGxlKClzdHJpbmcKCWNhbGxzdWIgdXBkYXRlTmFtZWRUdXBsZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOYW1lZFR1cGxlKCk6IHN0cmluZwp1cGRhdGVOYW1lZFR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjE2CgkvLyBhOiB7CgkvLyAgICAgICBmb286IHVpbnQxNjsKCS8vICAgICAgIGJhcjogc3RyaW5nOwoJLy8gICAgIH0gPSB7CgkvLyAgICAgICBmb286IDEsCgkvLyAgICAgICBiYXI6ICdIaT8nLAoJLy8gICAgIH0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCXB1c2hieXRlcyAweDAwMDEKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDM0ODY5M2YKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NjI0CgkvLyBhLmJhciA9ICdIZWxsbyBXb3JsZCEnCglmcmFtZV9kaWcgMCAvLyBhOiB7ICAgICAgIGZvbzogdWludDE2OyAgICAgICBiYXI6IHN0cmluZzsgICAgIH0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMgoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAxIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZnJhbWVfYnVyeSAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo2MjYKCS8vIHJldHVybiBhLmJhcjsKCWZyYW1lX2RpZyAwIC8vIGE6IHsgICAgICAgZm9vOiB1aW50MTY7ICAgICAgIGJhcjogc3RyaW5nOyAgICAgfQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAyCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDEgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDJkOTY5NjlhIC8vIG1ldGhvZCAidXBkYXRlTmFtZWRUdXBsZSgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVOYW1lZFR1cGxlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMCAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal index 8600673b7..c07f8ff10 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json index 466195c71..f825ecadc 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjI0CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMzAKCS8vIGFbMV0gPSBbNDQ0LCA1NTUsIDY2Nl0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3MDQxNDJlYiAvLyBtZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjI0CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMzAKCS8vIGFbMV0gPSBbNDQ0LCA1NTUsIDY2Nl0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3MDQxNDJlYiAvLyBtZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json index d0d5d833b..b9b62249a 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArray.arc56_draft.json @@ -521,7 +521,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjI0CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMzAKCS8vIGFbMV0gPSBbNDQ0LCA1NTUsIDY2Nl0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3MDQxNDJlYiAvLyBtZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlTmVzdGVkU3RhdGljQXJyYXkoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCk6IHVpbnQ2NAp1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjI0CgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMzAKCS8vIGFbMV0gPSBbNDQ0LCA1NTUsIDY2Nl0KCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMWJjMDAwMDAwMDAwMDAwMDIyYjAwMDAwMDAwMDAwMDAyOWEKCXJlcGxhY2UyIDI0CglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8U3RhdGljQXJyYXk8dWludDY0LCAzPiwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjMyCgkvLyByZXR1cm4gYVsxXVsxXTsKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglleHRyYWN0IDMyIDgKCWJ0b2kKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg3MDQxNDJlYiAvLyBtZXRob2QgInVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZU5lc3RlZFN0YXRpY0FycmF5CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal index afe9c8611..233e5b82b 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json index 47ee53091..2e355cdb7 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEwCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMTYKCS8vIGFbMV1bMV0gPSA1NTUKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDY5MTEzNWIgLy8gbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEwCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMTYKCS8vIGFbMV1bMV0gPSA1NTUKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDY5MTEzNWIgLy8gbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json index c9106e0b9..578cf4515 100644 --- a/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateNestedStaticArrayElement.arc56_draft.json @@ -505,7 +505,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEwCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMTYKCS8vIGFbMV1bMV0gPSA1NTUKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDY5MTEzNWIgLy8gbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50KCl1aW50NjQKKmFiaV9yb3V0ZV91cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NAoJY2FsbHN1YiB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKTogdWludDY0CnVwZGF0ZU5lc3RlZFN0YXRpY0FycmF5RWxlbWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglwdXNoYnl0ZXMgMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MjEwCgkvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPiA9IFsKCS8vICAgICAgIFsxMSwgMjIsIDMzXSwKCS8vICAgICAgIFs0NCwgNTUsIDY2XSwKCS8vICAgICAgIFs3NywgODgsIDk5XSwKCS8vICAgICBdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDJjMDAwMDAwMDAwMDAwMDAzNzAwMDAwMDAwMDAwMDAwNDIwMDAwMDAwMDAwMDAwMDRkMDAwMDAwMDAwMDAwMDA1ODAwMDAwMDAwMDAwMDAwNjMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoyMTYKCS8vIGFbMV1bMV0gPSA1NTUKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMjJiCglyZXBsYWNlMiAzMgoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4sIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjIxOAoJLy8gcmV0dXJuIGFbMV1bMV07CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTxTdGF0aWNBcnJheTx1aW50NjQsIDM+LCAzPgoJZXh0cmFjdCAzMiA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDY5MTEzNWIgLy8gbWV0aG9kICJ1cGRhdGVOZXN0ZWRTdGF0aWNBcnJheUVsZW1lbnQoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlTmVzdGVkU3RhdGljQXJyYXlFbGVtZW50CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal index 4b94e87d8..991fcd0ad 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.approval.teal @@ -2,7 +2,7 @@ intcblock 8 1 bytecblock 0x674d6170 0x6c4d6170 0x624d6170 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json index 1ea8361fd..7685108dc 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTc2CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OQoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlYyAwIC8vICAiZ01hcCIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNDU3CglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDhhZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGVjIDIgLy8gICJiTWFwIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDBkMDUKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4NgoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDAgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5MgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4ZTY4MGEwYTkgLy8gbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTc2CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OQoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlYyAwIC8vICAiZ01hcCIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNDU3CglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDhhZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGVjIDIgLy8gICJiTWFwIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDBkMDUKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4NgoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDAgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5MgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4ZTY4MGEwYTkgLy8gbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json index 689c11231..8eb3be562 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageMap.arc56_draft.json @@ -858,7 +858,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTc2CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OQoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlYyAwIC8vICAiZ01hcCIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNDU3CglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDhhZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGVjIDIgLy8gICJiTWFwIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDBkMDUKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4NgoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDAgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5MgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4ZTY4MGEwYTkgLy8gbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NGQ2MTcwIDB4NmM0ZDYxNzAgMHg2MjRkNjE3MCAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlTWFwCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VNYXAoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTc2CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OAoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWUgPSBhCglieXRlYyAwIC8vICAiZ01hcCIKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE3OQoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZSA9IGEKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxODAKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJNYXAiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MgoJLy8gdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0gPSAxMTExCglieXRlYyAwIC8vICAiZ01hcCIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwNDU3CglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ01hcCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4MwoJLy8gdGhpcy5sTWFwKHRoaXMudHhuLnNlbmRlciwgJ2xNYXAnKS52YWx1ZVsxXSA9IDIyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDhhZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxNYXAiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTg0CgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZVsxXSA9IDMzMzMKCWJ5dGVjIDIgLy8gICJiTWFwIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDBkMDUKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE4NgoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWwoJLy8gICAgICAgdGhpcy5nTWFwKCdnTWFwJykudmFsdWVbMV0sCgkvLyAgICAgICB0aGlzLmxNYXAodGhpcy50eG4uc2VuZGVyLCAnbE1hcCcpLnZhbHVlWzFdLAoJLy8gICAgICAgdGhpcy5iTWFwKCdiTWFwJykudmFsdWVbMV0sCgkvLyAgICAgXQoJYnl0ZWMgMCAvLyAgImdNYXAiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsTWFwIgoJYXBwX2xvY2FsX2dldAoJZXh0cmFjdCA4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAgImJNYXAiCglpbnRjIDAgLy8gOAoJZHVwCglib3hfZXh0cmFjdAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE5MgoJLy8gcmV0dXJuIHJldDsKCWZyYW1lX2RpZyAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX09wdEluOgoJcHVzaGJ5dGVzIDB4ZTY4MGEwYTkgLy8gbWV0aG9kICJ1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcCgpdWludDY0WzNdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZU1hcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE9wdEluCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal index 9a2c360c4..d4e589ecf 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.approval.teal @@ -2,7 +2,7 @@ intcblock 8 1 bytecblock 0x67526566 0x6c526566 0x62526566 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json index a081883a5..2cc80e1fe 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZWMgMCAvLyAgImdSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTcKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExOAoJLy8gdGhpcy5iUmVmLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDZmCglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsUmVmIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBkZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAxNGQKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNAoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gW3RoaXMuZ1JlZi52YWx1ZVsxXSwgdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0sIHRoaXMuYlJlZi52YWx1ZVsxXV0KCWJ5dGVjIDAgLy8gICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCWR1cAoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjYKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDgwZTVjNzU5IC8vIG1ldGhvZCAidXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZWMgMCAvLyAgImdSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTcKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExOAoJLy8gdGhpcy5iUmVmLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDZmCglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsUmVmIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBkZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAxNGQKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNAoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gW3RoaXMuZ1JlZi52YWx1ZVsxXSwgdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0sIHRoaXMuYlJlZi52YWx1ZVsxXV0KCWJ5dGVjIDAgLy8gICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCWR1cAoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjYKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDgwZTVjNzU5IC8vIG1ldGhvZCAidXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json index a27c430ab..08a4e1723 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticArrayInStorageRef.arc56_draft.json @@ -858,7 +858,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZWMgMCAvLyAgImdSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTcKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExOAoJLy8gdGhpcy5iUmVmLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDZmCglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsUmVmIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBkZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAxNGQKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNAoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gW3RoaXMuZ1JlZi52YWx1ZVsxXSwgdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0sIHRoaXMuYlJlZi52YWx1ZVsxXV0KCWJ5dGVjIDAgLy8gICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCWR1cAoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjYKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDgwZTVjNzU5IC8vIG1ldGhvZCAidXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayA4IDEKYnl0ZWNibG9jayAweDY3NTI2NTY2IDB4NmM1MjY1NjYgMHg2MjUyNjU2NiAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqTk9UX0lNUExFTUVOVEVEICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCiphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZigpdWludDY0WzNdCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0FycmF5SW5TdG9yYWdlUmVmCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKTogU3RhdGljQXJyYXk8dWludDY0LCAzPgp1cGRhdGVTdGF0aWNBcnJheUluU3RvcmFnZVJlZjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTE0CgkvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gWzExLCAyMiwgMzNdCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDBiMDAwMDAwMDAwMDAwMDAxNjAwMDAwMDAwMDAwMDAwMjEKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExNgoJLy8gdGhpcy5nUmVmLnZhbHVlID0gYQoJYnl0ZWMgMCAvLyAgImdSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMTcKCS8vIHRoaXMubFJlZih0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gYQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglhcHBfbG9jYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjExOAoJLy8gdGhpcy5iUmVmLnZhbHVlID0gYQoJYnl0ZWMgMiAvLyAgImJSZWYiCglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMAoJLy8gdGhpcy5nUmVmLnZhbHVlWzFdID0gMTExCglieXRlYyAwIC8vICAiZ1JlZiIKCWFwcF9nbG9iYWxfZ2V0CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDZmCglyZXBsYWNlMiA4CglieXRlYyAwIC8vICAiZ1JlZiIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyMQoJLy8gdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0gPSAyMjIKCXR4biBTZW5kZXIKCWJ5dGVjIDEgLy8gICJsUmVmIgoJYXBwX2xvY2FsX2dldAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDBkZQoJcmVwbGFjZTIgOAoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgImxSZWYiCgl1bmNvdmVyIDIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6MTIyCgkvLyB0aGlzLmJSZWYudmFsdWVbMV0gPSAzMzMKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAxNGQKCWJveF9yZXBsYWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjEyNAoJLy8gcmV0OiBTdGF0aWNBcnJheTx1aW50NjQsIDM+ID0gW3RoaXMuZ1JlZi52YWx1ZVsxXSwgdGhpcy5sUmVmKHRoaXMudHhuLnNlbmRlcikudmFsdWVbMV0sIHRoaXMuYlJlZi52YWx1ZVsxXV0KCWJ5dGVjIDAgLy8gICJnUmVmIgoJYXBwX2dsb2JhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAibFJlZiIKCWFwcF9sb2NhbF9nZXQKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gICJiUmVmIgoJaW50YyAwIC8vIDgKCWR1cAoJYm94X2V4dHJhY3QKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHJldDogU3RhdGljQXJyYXk8dWludDY0LCAzPgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxMjYKCS8vIHJldHVybiByZXQ7CglmcmFtZV9kaWcgMSAvLyByZXQ6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDEgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDgwZTVjNzU5IC8vIG1ldGhvZCAidXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYoKXVpbnQ2NFszXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RhdGljQXJyYXlJblN0b3JhZ2VSZWYKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal index 23b061688..4fdf3ee6f 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x0004624d6170 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json index beaf95dbf..8472f37bc 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpOiBzdHJpbmcKdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTczCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgYWRkcjogdGhpcy50eG4uc2VuZGVyLCBzdHI6ICdIZWxsbyBXb3JsZCEnIH0KCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDEgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NzUKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZWMgMCAvLyAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMzIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3NzQ0MzJlIC8vIG1ldGhvZCAidXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpOiBzdHJpbmcKdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTczCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgYWRkcjogdGhpcy50eG4uc2VuZGVyLCBzdHI6ICdIZWxsbyBXb3JsZCEnIH0KCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDEgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NzUKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZWMgMCAvLyAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMzIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3NzQ0MzJlIC8vIG1ldGhvZCAidXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json index 2f689b93d..550878d6e 100644 --- a/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateStaticFieldInDynamicObjectInBox.arc56_draft.json @@ -997,7 +997,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpOiBzdHJpbmcKdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTczCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgYWRkcjogdGhpcy50eG4uc2VuZGVyLCBzdHI6ICdIZWxsbyBXb3JsZCEnIH0KCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDEgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NzUKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZWMgMCAvLyAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMzIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3NzQ0MzJlIC8vIG1ldGhvZCAidXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgwMDA0NjI0ZDYxNzAgMHgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94KClzdHJpbmcKKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nCgljYWxsc3ViIHVwZGF0ZVN0YXRpY0ZpZWxkSW5EeW5hbWljT2JqZWN0SW5Cb3gKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpOiBzdHJpbmcKdXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTczCgkvLyB0aGlzLmJNYXAoJ2JNYXAnKS52YWx1ZSA9IHsgYWRkcjogdGhpcy50eG4uc2VuZGVyLCBzdHI6ICdIZWxsbyBXb3JsZCEnIH0KCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDEgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAyMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0Cgl0eG4gU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDBjNDg2NTZjNmM2ZjIwNTc2ZjcyNmM2NDIxCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjE1NzUKCS8vIHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlLmFkZHIgPSB0aGlzLnR4bi5zZW5kZXIKCWJ5dGVjIDAgLy8gMHgwMDA0NjI0ZDYxNzAKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYk1hcCgnYk1hcCcpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDAKCXR4biBTZW5kZXIKCXJlcGxhY2UzCglieXRlYyAwIC8vIDB4MDAwNDYyNGQ2MTcwCglkdXAKCWJveF9kZWwKCXBvcAoJc3dhcAoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czoxNTc2CgkvLyByZXR1cm4gdGhpcy5iTWFwKCdiTWFwJykudmFsdWUuc3RyOwoJYnl0ZWMgMCAvLyAweDAwMDQ2MjRkNjE3MAoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5iTWFwKCdiTWFwJykudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMzIKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCXB1c2hpbnQgMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCWV4dHJhY3QzCglleHRyYWN0IDIgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3NzQ0MzJlIC8vIG1ldGhvZCAidXBkYXRlU3RhdGljRmllbGRJbkR5bmFtaWNPYmplY3RJbkJveCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVTdGF0aWNGaWVsZEluRHluYW1pY09iamVjdEluQm94CgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal b/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal index 67c18f478..d119250e3 100644 --- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.approval.teal @@ -2,7 +2,7 @@ intcblock 2 1 0 4 6 bytecblock 0x 0x000c48656c6c6f20576f726c6421 0x0002000a000b 0x0002000e000f 0x00021011 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json index 980a59e7b..8a25f73ac 100644 --- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgMHgwMDAyMDAwYTAwMGIgMHgwMDAyMDAwZTAwMGYgMHgwMDAyMTAxMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA0IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZVN0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNDg2OTNmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYyCgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYzCgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDUKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMyAvLyAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgNwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyA0IC8vIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGYxZmMyNTg2IC8vIG1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMSAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgMHgwMDAyMDAwYTAwMGIgMHgwMDAyMDAwZTAwMGYgMHgwMDAyMTAxMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA0IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZVN0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNDg2OTNmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYyCgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYzCgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDUKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMyAvLyAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgNwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyA0IC8vIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGYxZmMyNTg2IC8vIG1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMSAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json index 2dc1a9c44..c264739ff 100644 --- a/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateStringInTuple.arc56_draft.json @@ -2565,7 +2565,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgMHgwMDAyMDAwYTAwMGIgMHgwMDAyMDAwZTAwMGYgMHgwMDAyMTAxMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA0IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZVN0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNDg2OTNmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYyCgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYzCgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDUKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMyAvLyAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgNwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyA0IC8vIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGYxZmMyNTg2IC8vIG1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMSAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDEgMCA0IDYKYnl0ZWNibG9jayAweCAweDAwMGM0ODY1NmM2YzZmMjA1NzZmNzI2YzY0MjEgMHgwMDAyMDAwYTAwMGIgMHgwMDAyMDAwZTAwMGYgMHgwMDAyMTAxMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyA0IC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKQoqYWJpX3JvdXRlX3VwZGF0ZVN0cmluZ0luVHVwbGU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1cGRhdGVTdHJpbmdJblR1cGxlKCkodWludDgsdWludDE2W10sc3RyaW5nLHVpbnQxNltdLHVpbnQ4W10pCgljYWxsc3ViIHVwZGF0ZVN0cmluZ0luVHVwbGUKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGRhdGVTdHJpbmdJblR1cGxlKCk6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQp1cGRhdGVTdHJpbmdJblR1cGxlOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYwCgkvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0gPSBbOSwgWzhdLCAnSGk/JywgWzZdLCBbNV1dCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDAwOSAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglwdXNoYnl0ZXMgMHgwOQoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDgKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAzNDg2OTNmCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDYKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDUKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYyCgkvLyBhWzBdID0gOTkgYXMgdWludDw4PgoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGJ5dGVzIDB4NjMKCXJlcGxhY2UyIDAKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTYzCgkvLyBhWzFdID0gWzEwLCAxMV0KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglkdXAKCXN0b3JlIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cgl1bmNvdmVyIDIKCWV4dHJhY3RfdWludDE2CglkdXAKCXN0b3JlIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglkdXAgLy8gZHVwbGljYXRlIHN0YXJ0IG9mIGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWV4dHJhY3RfdWludDE2IC8vIGdldCBudW1iZXIgb2YgZWxlbWVudHMKCWludGMgMCAvLyAgZ2V0IHR5cGUgbGVuZ3RoCgkqIC8vIG11bHRpcGx5IGJ5IHR5cGUgbGVuZ3RoCglpbnRjIDAgLy8gMgoJKyAvLyBhZGQgdHdvIGZvciBsZW5ndGgKCXN0b3JlIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDAKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCXN1YnN0cmluZzMKCWJ5dGVjIDIgLy8gMHgwMDAyMDAwYTAwMGIKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDAgLy8gMgoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1MCAvLyBsZW5ndGggZGlmZmVyZW5jZQoJbG9hZCAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJaW50YyAzIC8vIDQKCSsgLy8gaGVhZCBvZnNldAoJY2FsbHN1YiAqdXBkYXRlX2R5bmFtaWNfaGVhZAoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgNCAvLyA2CgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY0CgkvLyBhWzJdID0gJ0hlbGxvIFdvcmxkIScKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgMwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAxIC8vIDB4MDAwYzQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQ8OD4sIHVpbnQxNltdLCBzdHJpbmcsIHVpbnQxNltdLCB1aW50PDg+W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU2NQoJLy8gYVszXSA9IFsxNCwgMTVdCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDUKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMyAvLyAweDAwMDIwMDBlMDAwZgoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY2CgkvLyBhWzRdID0gWzE2LCAxN10KCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCXB1c2hpbnQgNwoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDEgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMiAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyA0IC8vIDB4MDAwMjEwMTEKCWR1cAoJc3RvcmUgMjUyIC8vIG5ldyBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0Cglsb2FkIDI1MyAvLyBlbGVtZW50IGxlbmd0aAoJKyAvLyBnZXQgZW5kIG9mIEVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxlbgoJc3Vic3RyaW5nMwoJY29uY2F0Cgljb25jYXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CgljYWxsc3ViICpnZXRfbGVuZ3RoX2RpZmZlcmVuY2UKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDw4PiwgdWludDE2W10sIHN0cmluZywgdWludDE2W10sIHVpbnQ8OD5bXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTY4CgkvLyByZXR1cm4gYTsKCWZyYW1lX2RpZyAwIC8vIGE6IFt1aW50PDg+LCB1aW50MTZbXSwgc3RyaW5nLCB1aW50MTZbXSwgdWludDw4PltdXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGYxZmMyNTg2IC8vIG1ldGhvZCAidXBkYXRlU3RyaW5nSW5UdXBsZSgpKHVpbnQ4LHVpbnQxNltdLHN0cmluZyx1aW50MTZbXSx1aW50OFtdKSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdXBkYXRlU3RyaW5nSW5UdXBsZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQ6Cglwcm90byA0IDMKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTEgLy8gZWxlbWVudAoJY29uY2F0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMSAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAyIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal index 2b536158e..152851ddc 100644 --- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal +++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.approval.teal @@ -2,7 +2,7 @@ intcblock 2 0 1 4 bytecblock 0x 0x000200040005 0x000200060007 0x000200080009 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json index 87d307f8c..638d59414 100644 --- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json +++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAyMDAwNDAwMDUgMHgwMDAyMDAwNjAwMDcgMHgwMDAyMDAwODAwMDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlcwoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzQKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFtbMV0sIFsyXSwgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMDIwMDA0MDAwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NwoJLy8gYVsxXSA9IFs2LCA3XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMiAvLyAweDAwMDIwMDA2MDAwNwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc4CgkvLyBhWzJdID0gWzgsIDldCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MDU3NDFhOSAvLyBtZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMiAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAyMDAwNDAwMDUgMHgwMDAyMDAwNjAwMDcgMHgwMDAyMDAwODAwMDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlcwoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzQKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFtbMV0sIFsyXSwgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMDIwMDA0MDAwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NwoJLy8gYVsxXSA9IFs2LCA3XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMiAvLyAweDAwMDIwMDA2MDAwNwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc4CgkvLyBhWzJdID0gWzgsIDldCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MDU3NDFhOSAvLyBtZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMiAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json index 0c7f767df..22c9a87a4 100644 --- a/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json +++ b/tests/contracts/artifacts/ABITestUpdateTupleWithOnlyDynamicTypes.arc56_draft.json @@ -1985,7 +1985,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAyMDAwNDAwMDUgMHgwMDAyMDAwNjAwMDcgMHgwMDAyMDAwODAwMDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlcwoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzQKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFtbMV0sIFsyXSwgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMDIwMDA0MDAwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NwoJLy8gYVsxXSA9IFs2LCA3XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMiAvLyAweDAwMDIwMDA2MDAwNwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc4CgkvLyBhWzJdID0gWzgsIDldCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MDU3NDFhOSAvLyBtZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMiAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAyIDAgMSA0CmJ5dGVjYmxvY2sgMHggMHgwMDAyMDAwNDAwMDUgMHgwMDAyMDAwNjAwMDcgMHgwMDAyMDAwODAwMDkKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1cGRhdGVUdXBsZVdpdGhPbmx5RHluYW1pY1R5cGVzKCkodWludDE2W10sdWludDE2W10sdWludDE2W10pCiphYmlfcm91dGVfdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkKCWNhbGxzdWIgdXBkYXRlVHVwbGVXaXRoT25seUR5bmFtaWNUeXBlcwoJY29uY2F0Cglsb2cKCWludGMgMiAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCnVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hYmkuYWxnby50czo1NzQKCS8vIGE6IFt1aW50MTZbXSwgdWludDE2W10sIHVpbnQxNltdXSA9IFtbMV0sIFsyXSwgWzNdXQoJYnl0ZWMgMCAvLyAgaW5pdGlhbCBoZWFkCglieXRlYyAwIC8vICBpbml0aWFsIHRhaWwKCXB1c2hieXRlcyAweDAwMDYgLy8gaW5pdGlhbCBoZWFkIG9mZnNldAoJcHVzaGJ5dGVzIDB4MDAwMTAwMDEKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglwdXNoYnl0ZXMgMHgwMDAxMDAwMgoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCXB1c2hieXRlcyAweDAwMDEwMDAzCgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NgoJLy8gYVswXSA9IFs0LCA1XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAxIC8vIDAKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMSAvLyAweDAwMDIwMDA0MDAwNQoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjUwIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1MSAvLyBlbGVtZW50IGhlYWQgb2Zmc2V0CglpbnRjIDMgLy8gNAoJKyAvLyBoZWFkIG9mc2V0CgljYWxsc3ViICp1cGRhdGVfZHluYW1pY19oZWFkCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU3NwoJLy8gYVsxXSA9IFs2LCA3XQoJZnJhbWVfZGlnIDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDIKCWR1cAoJc3RvcmUgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXVuY292ZXIgMgoJZXh0cmFjdF91aW50MTYKCWR1cAoJc3RvcmUgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWR1cCAvLyBkdXBsaWNhdGUgc3RhcnQgb2YgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJc3dhcAoJZXh0cmFjdF91aW50MTYgLy8gZ2V0IG51bWJlciBvZiBlbGVtZW50cwoJaW50YyAwIC8vICBnZXQgdHlwZSBsZW5ndGgKCSogLy8gbXVsdGlwbHkgYnkgdHlwZSBsZW5ndGgKCWludGMgMCAvLyAyCgkrIC8vIGFkZCB0d28gZm9yIGxlbmd0aAoJc3RvcmUgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMAoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJc3Vic3RyaW5nMwoJYnl0ZWMgMiAvLyAweDAwMDIwMDA2MDAwNwoJZHVwCglzdG9yZSAyNTIgLy8gbmV3IGVsZW1lbnQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU0IC8vIGVsZW1lbnQgc3RhcnQKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCgkrIC8vIGdldCBlbmQgb2YgRWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCWNvbmNhdAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWNhbGxzdWIgKmdldF9sZW5ndGhfZGlmZmVyZW5jZQoJbG9hZCAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCWxvYWQgMjUxIC8vIGVsZW1lbnQgaGVhZCBvZmZzZXQKCWludGMgMCAvLyAyCgkrIC8vIGhlYWQgb2ZzZXQKCWNhbGxzdWIgKnVwZGF0ZV9keW5hbWljX2hlYWQKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWZyYW1lX2J1cnkgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyB0ZXN0cy9jb250cmFjdHMvYWJpLmFsZ28udHM6NTc4CgkvLyBhWzJdID0gWzgsIDldCglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDMgLy8gNAoJZHVwCglzdG9yZSAyNTEgLy8gZWxlbWVudCBoZWFkIG9mZnNldAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJdW5jb3ZlciAyCglleHRyYWN0X3VpbnQxNgoJZHVwCglzdG9yZSAyNTQgLy8gZWxlbWVudCBzdGFydAoJZHVwIC8vIGR1cGxpY2F0ZSBzdGFydCBvZiBlbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5Cglzd2FwCglleHRyYWN0X3VpbnQxNiAvLyBnZXQgbnVtYmVyIG9mIGVsZW1lbnRzCglpbnRjIDAgLy8gIGdldCB0eXBlIGxlbmd0aAoJKiAvLyBtdWx0aXBseSBieSB0eXBlIGxlbmd0aAoJaW50YyAwIC8vIDIKCSsgLy8gYWRkIHR3byBmb3IgbGVuZ3RoCglzdG9yZSAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAwCglsb2FkIDI1NCAvLyBlbGVtZW50IHN0YXJ0CglzdWJzdHJpbmczCglieXRlYyAzIC8vIDB4MDAwMjAwMDgwMDA5CglkdXAKCXN0b3JlIDI1MiAvLyBuZXcgZWxlbWVudAoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTQgLy8gZWxlbWVudCBzdGFydAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCSsgLy8gZ2V0IGVuZCBvZiBFbGVtZW50Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglsZW4KCXN1YnN0cmluZzMKCWNvbmNhdAoJY29uY2F0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJY2FsbHN1YiAqZ2V0X2xlbmd0aF9kaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9idXJ5IDAgLy8gYTogW3VpbnQxNltdLCB1aW50MTZbXSwgdWludDE2W11dCgoJLy8gdGVzdHMvY29udHJhY3RzL2FiaS5hbGdvLnRzOjU4MAoJLy8gcmV0dXJuIGE7CglmcmFtZV9kaWcgMCAvLyBhOiBbdWludDE2W10sIHVpbnQxNltdLCB1aW50MTZbXV0KCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMiAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MDU3NDFhOSAvLyBtZXRob2QgInVwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMoKSh1aW50MTZbXSx1aW50MTZbXSx1aW50MTZbXSkiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3VwZGF0ZVR1cGxlV2l0aE9ubHlEeW5hbWljVHlwZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnIKCipwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJY29uY2F0CglmcmFtZV9idXJ5IC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50CglkdXAKCWxlbgoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglidG9pCgkrCglpdG9iCglleHRyYWN0IDYgMgoJZnJhbWVfYnVyeSAtMiAvLyBoZWFkIG9mZnNldAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCXN3YXAKCWNvbmNhdAoJZnJhbWVfYnVyeSAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtMiAvLyBoZWFkIG9mZnNldAoJcmV0c3ViCgoqdXBkYXRlX2R5bmFtaWNfaGVhZDoKCXByb3RvIDIgMAoJZnJhbWVfZGlnIC0yIC8vIGxlbmd0aCBkaWZmZXJlbmNlCglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglmcmFtZV9kaWcgLTEgLy8gZHluYW1pYyBhcnJheSBvZmZzZXQKCWV4dHJhY3RfdWludDE2IC8vIGV4dHJhY3QgZHluYW1pYyBhcnJheSBvZmZzZXQKCWxvYWQgMjQ5IC8vIHN1YnRyYWN0IGhlYWQgZGlmZmVyZW5jZQoJYnogKnN1YnRyYWN0X2hlYWRfZGlmZmVyZW5jZQoJKyAvLyBhZGQgZGlmZmVyZW5jZSB0byBvZmZzZXQKCWIgKmVuZF9jYWxjX25ld19oZWFkCgoqc3VidHJhY3RfaGVhZF9kaWZmZXJlbmNlOgoJc3dhcAoJLSAvLyBzdWJ0cmFjdCBkaWZmZXJlbmNlIGZyb20gb2ZmZXQKCiplbmRfY2FsY19uZXdfaGVhZDoKCWl0b2IgLy8gY29udmVydCB0byBieXRlcwoJZXh0cmFjdCA2IDIgLy8gY29udmVydCB0byB1aW50MTYKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCXN3YXAKCWZyYW1lX2RpZyAtMSAvLyBvZmZzZXQKCXN3YXAKCXJlcGxhY2UzIC8vIHVwZGF0ZSBvZmZzZXQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5CglyZXRzdWIKCipnZXRfbGVuZ3RoX2RpZmZlcmVuY2U6Cglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCTwKCWJueiAqc3dhcHBlZF9kaWZmZXJlbmNlCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJbG9hZCAyNTMgLy8gZWxlbWVudCBsZW5ndGgKCWludGMgMiAvLyAxCglzdG9yZSAyNDkgLy8gc3VidHJhY3QgaGVhZCBkaWZmZXJlbmNlCgliICpnZXRfZGlmZmVyZW5jZQoKKnN3YXBwZWRfZGlmZmVyZW5jZToKCWxvYWQgMjUzIC8vIGVsZW1lbnQgbGVuZ3RoCglsb2FkIDI1MiAvLyBuZXcgZWxlbWVudAoJbGVuIC8vIGxlbmd0aCBvZiBuZXcgZWxlbWVudAoJaW50YyAxIC8vIDAKCXN0b3JlIDI0OSAvLyBzdWJ0cmFjdCBoZWFkIGRpZmZlcmVuY2UKCipnZXRfZGlmZmVyZW5jZToKCS0gLy8gZ2V0IGxlbmd0aCBkaWZmZXJlbmNlCglzdG9yZSAyNTAgLy8gbGVuZ3RoIGRpZmZlcmVuY2UKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/AD.approval.teal b/tests/contracts/artifacts/AD.approval.teal index 23c4a4a7c..c8ca7ba6e 100644 --- a/tests/contracts/artifacts/AD.approval.teal +++ b/tests/contracts/artifacts/AD.approval.teal @@ -2,7 +2,7 @@ intcblock 1 1337 42 bytecblock 0x61 0x64 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/AD.arc32.json b/tests/contracts/artifacts/AD.arc32.json index b3c477e2d..f88a159f0 100644 --- a/tests/contracts/artifacts/AD.arc32.json +++ b/tests/contracts/artifacts/AD.arc32.json @@ -58,7 +58,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjQKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZWMgMSAvLyAgImQiCglpbnRjIDIgLy8gNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkKCl2b2lkCiphYmlfcm91dGVfYWQ6CgkvLyBleGVjdXRlIGFkKCl2b2lkCgljYWxsc3ViIGFkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZCgpOiB2b2lkCmFkOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NDYKCS8vIGFzc2VydCh0aGlzLmFLZXkudmFsdWUgPT09IDEzMzcpCglieXRlYyAwIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFlN2FhZDFjIC8vIG1ldGhvZCAiYSgpdm9pZCIKCXB1c2hieXRlcyAweDI5ZWZkMGY2IC8vIG1ldGhvZCAiZCgpdm9pZCIKCXB1c2hieXRlcyAweGJmN2VmOGEzIC8vIG1ldGhvZCAiYWQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9kICphYmlfcm91dGVfYWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjQKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZWMgMSAvLyAgImQiCglpbnRjIDIgLy8gNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkKCl2b2lkCiphYmlfcm91dGVfYWQ6CgkvLyBleGVjdXRlIGFkKCl2b2lkCgljYWxsc3ViIGFkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZCgpOiB2b2lkCmFkOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NDYKCS8vIGFzc2VydCh0aGlzLmFLZXkudmFsdWUgPT09IDEzMzcpCglieXRlYyAwIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFlN2FhZDFjIC8vIG1ldGhvZCAiYSgpdm9pZCIKCXB1c2hieXRlcyAweDI5ZWZkMGY2IC8vIG1ldGhvZCAiZCgpdm9pZCIKCXB1c2hieXRlcyAweGJmN2VmOGEzIC8vIG1ldGhvZCAiYWQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9kICphYmlfcm91dGVfYWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/AD.arc56_draft.json b/tests/contracts/artifacts/AD.arc56_draft.json index 1034faef2..109450214 100644 --- a/tests/contracts/artifacts/AD.arc56_draft.json +++ b/tests/contracts/artifacts/AD.arc56_draft.json @@ -574,7 +574,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjQKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZWMgMSAvLyAgImQiCglpbnRjIDIgLy8gNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkKCl2b2lkCiphYmlfcm91dGVfYWQ6CgkvLyBleGVjdXRlIGFkKCl2b2lkCgljYWxsc3ViIGFkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZCgpOiB2b2lkCmFkOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NDYKCS8vIGFzc2VydCh0aGlzLmFLZXkudmFsdWUgPT09IDEzMzcpCglieXRlYyAwIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFlN2FhZDFjIC8vIG1ldGhvZCAiYSgpdm9pZCIKCXB1c2hieXRlcyAweDI5ZWZkMGY2IC8vIG1ldGhvZCAiZCgpdm9pZCIKCXB1c2hieXRlcyAweGJmN2VmOGEzIC8vIG1ldGhvZCAiYWQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9kICphYmlfcm91dGVfYWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjQKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBkKCl2b2lkCiphYmlfcm91dGVfZDoKCS8vIGV4ZWN1dGUgZCgpdm9pZAoJY2FsbHN1YiBkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkKCk6IHZvaWQKZDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQwCgkvLyB0aGlzLmRLZXkudmFsdWUgPSA0MgoJYnl0ZWMgMSAvLyAgImQiCglpbnRjIDIgLy8gNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGFkKCl2b2lkCiphYmlfcm91dGVfYWQ6CgkvLyBleGVjdXRlIGFkKCl2b2lkCgljYWxsc3ViIGFkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZCgpOiB2b2lkCmFkOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NDYKCS8vIGFzc2VydCh0aGlzLmFLZXkudmFsdWUgPT09IDEzMzcpCglieXRlYyAwIC8vICAiYSIKCWFwcF9nbG9iYWxfZ2V0CglpbnRjIDEgLy8gMTMzNwoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQodGhpcy5kS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJkIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDFlN2FhZDFjIC8vIG1ldGhvZCAiYSgpdm9pZCIKCXB1c2hieXRlcyAweDI5ZWZkMGY2IC8vIG1ldGhvZCAiZCgpdm9pZCIKCXB1c2hieXRlcyAweGJmN2VmOGEzIC8vIG1ldGhvZCAiYWQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9kICphYmlfcm91dGVfYWQKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ARC56Test.approval.teal b/tests/contracts/artifacts/ARC56Test.approval.teal index 81dd26a23..229238dbf 100644 --- a/tests/contracts/artifacts/ARC56Test.approval.teal +++ b/tests/contracts/artifacts/ARC56Test.approval.teal @@ -2,14 +2,11 @@ intcblock 1 TMPL_someNumber 8 bytecblock 0x151f7c75 0x626f784b6579 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] -// The following lines of TEAL are used to initialize template variables in scratch slots -intc 1 // TMPL_someNumber - // The following ten lines of TEAL handle initial program flow // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed // Here, action refers to the OnComplete in combination with whether the app is being created or called diff --git a/tests/contracts/artifacts/ARC56Test.arc32.json b/tests/contracts/artifacts/ARC56Test.arc32.json index d9e2bd17b..49ebe5ec2 100644 --- a/tests/contracts/artifacts/ARC56Test.arc32.json +++ b/tests/contracts/artifacts/ARC56Test.arc32.json @@ -64,7 +64,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfc29tZU51bWJlciA4CmJ5dGVjYmxvY2sgMHgxNTFmN2M3NSAweDYyNmY3ODRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyBsaW5lcyBvZiBURUFMIGFyZSB1c2VkIHRvIGluaXRpYWxpemUgdGVtcGxhdGUgdmFyaWFibGVzIGluIHNjcmF0Y2ggc2xvdHMKaW50YyAxIC8vIFRNUExfc29tZU51bWJlcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyA4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0KSBmb3IgY3VzdG9tU3RydWN0TWV0aG9kIG11c3QgYmUgYSAodWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tU3RydWN0TWV0aG9kCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0KTogQW5vdGhlckN1c3RvbVN0cnVjdApjdXN0b21TdHJ1Y3RNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoyMQoJLy8gcmV0dXJuIGlucHV0OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0CglyZXRzdWIKCi8vIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZm9vOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dHM6ICgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5wdXRzKSBmb3IgZm9vIG11c3QgYmUgYSAoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZm9vCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZm9vKGlucHV0czogSW5wdXRzKTogT3V0cHV0cwpmb286Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MjUKCS8vIGlucHV0cy5zdWJ0cmFjdC5hIDwgaW5wdXRzLnN1YnRyYWN0LmIKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAxNiA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJPAoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHN1YnRyYWN0LmEgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3VidHJhY3QuYgoJZXJyCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI3CgkvLyB0aGlzLmdsb2JhbEtleS52YWx1ZSA9IHRoaXMuc29tZU51bWJlcgoJcHVzaGJ5dGVzIDB4Njc2YzZmNjI2MTZjNGI2NTc5IC8vICJnbG9iYWxLZXkiCglpbnRjIDEgLy8gVE1QTF9zb21lTnVtYmVyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI4CgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSB7IGZvbzogMTMsIGJhcjogMzcgfQoJcHVzaGJ5dGVzIDB4NzAwMDAzNjY2ZjZmCglwdXNoYnl0ZXMgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozMAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg2YzZmNjM2MTZjNGI2NTc5IC8vICJsb2NhbEtleSIKCWludGMgMSAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozOAoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg3MDY2NmY2ZgoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9ICdiYXonCglieXRlYyAxIC8vICAiYm94S2V5IgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDM2MjYxN2EKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czo0MAoJLy8gdGhpcy5ib3hNYXAoeyBhZGQ6IHsgYTogMSwgYjogMiB9LCBzdWJ0cmFjdDogeyBhOiA0LCBiOiAzIH0gfSkudmFsdWUgPSB7IHN1bTogMywgZGlmZmVyZW5jZTogMSB9CglwdXNoYnl0ZXMgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDAxCglib3hfcHV0CglyZXRzdWIKCi8vIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21UeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dDogKHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVR5cGUgbXVzdCBiZSBhICh1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tVHlwZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVR5cGUoaW5wdXQ6IEN1c3RvbVN0cnVjdEFzTmFtZSk6IEN1c3RvbVN0cnVjdEFzTmFtZQpjdXN0b21UeXBlOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6NDQKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQ3VzdG9tU3RydWN0QXNOYW1lCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OGQyMjczOWEgLy8gbWV0aG9kICJjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgzOTZkNTUwZSAvLyBtZXRob2QgImZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MGRiZjAyYzcgLy8gbWV0aG9kICJjdXN0b21UeXBlKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QgKmFiaV9yb3V0ZV9mb28gKmFiaV9yb3V0ZV9jdXN0b21UeXBlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDAxYTNhM2ZmIC8vIG1ldGhvZCAib3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vcHRJblRvQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfc29tZU51bWJlciA4CmJ5dGVjYmxvY2sgMHgxNTFmN2M3NSAweDYyNmY3ODRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyA4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0KSBmb3IgY3VzdG9tU3RydWN0TWV0aG9kIG11c3QgYmUgYSAodWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tU3RydWN0TWV0aG9kCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0KTogQW5vdGhlckN1c3RvbVN0cnVjdApjdXN0b21TdHJ1Y3RNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoyMQoJLy8gcmV0dXJuIGlucHV0OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0CglyZXRzdWIKCi8vIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZm9vOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dHM6ICgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5wdXRzKSBmb3IgZm9vIG11c3QgYmUgYSAoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZm9vCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZm9vKGlucHV0czogSW5wdXRzKTogT3V0cHV0cwpmb286Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MjUKCS8vIGlucHV0cy5zdWJ0cmFjdC5hIDwgaW5wdXRzLnN1YnRyYWN0LmIKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAxNiA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJPAoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHN1YnRyYWN0LmEgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3VidHJhY3QuYgoJZXJyCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI3CgkvLyB0aGlzLmdsb2JhbEtleS52YWx1ZSA9IHRoaXMuc29tZU51bWJlcgoJcHVzaGJ5dGVzIDB4Njc2YzZmNjI2MTZjNGI2NTc5IC8vICJnbG9iYWxLZXkiCglpbnRjIDEgLy8gVE1QTF9zb21lTnVtYmVyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI4CgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSB7IGZvbzogMTMsIGJhcjogMzcgfQoJcHVzaGJ5dGVzIDB4NzAwMDAzNjY2ZjZmCglwdXNoYnl0ZXMgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozMAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg2YzZmNjM2MTZjNGI2NTc5IC8vICJsb2NhbEtleSIKCWludGMgMSAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozOAoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg3MDY2NmY2ZgoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9ICdiYXonCglieXRlYyAxIC8vICAiYm94S2V5IgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDM2MjYxN2EKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czo0MAoJLy8gdGhpcy5ib3hNYXAoeyBhZGQ6IHsgYTogMSwgYjogMiB9LCBzdWJ0cmFjdDogeyBhOiA0LCBiOiAzIH0gfSkudmFsdWUgPSB7IHN1bTogMywgZGlmZmVyZW5jZTogMSB9CglwdXNoYnl0ZXMgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDAxCglib3hfcHV0CglyZXRzdWIKCi8vIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21UeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dDogKHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVR5cGUgbXVzdCBiZSBhICh1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tVHlwZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVR5cGUoaW5wdXQ6IEN1c3RvbVN0cnVjdEFzTmFtZSk6IEN1c3RvbVN0cnVjdEFzTmFtZQpjdXN0b21UeXBlOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6NDQKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQ3VzdG9tU3RydWN0QXNOYW1lCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OGQyMjczOWEgLy8gbWV0aG9kICJjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgzOTZkNTUwZSAvLyBtZXRob2QgImZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MGRiZjAyYzcgLy8gbWV0aG9kICJjdXN0b21UeXBlKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QgKmFiaV9yb3V0ZV9mb28gKmFiaV9yb3V0ZV9jdXN0b21UeXBlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDAxYTNhM2ZmIC8vIG1ldGhvZCAib3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vcHRJblRvQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ARC56Test.arc56_draft.json b/tests/contracts/artifacts/ARC56Test.arc56_draft.json index 0abe71a27..65dafc14f 100644 --- a/tests/contracts/artifacts/ARC56Test.arc56_draft.json +++ b/tests/contracts/artifacts/ARC56Test.arc56_draft.json @@ -221,61 +221,55 @@ "approval": { "sourceInfo": [ { - "teal": 11, + "teal": 15, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 1 + 1, + 2 ] }, { - "teal": 18, + "teal": 16, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 2, 3 ] }, { - "teal": 19, + "teal": 17, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 4 + 4, + 5 ] }, { - "teal": 20, + "teal": 18, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 5, 6 ] }, { - "teal": 21, + "teal": 19, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 7 + 7, + 8 ] }, { - "teal": 22, + "teal": 20, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 8, 9 ] }, { - "teal": 23, - "source": "tests/contracts/arc56.algo.ts:7", - "pc": [ - 10 - ] - }, - { - "teal": 24, + "teal": 21, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 10, 11, 12, 13, @@ -300,50 +294,56 @@ 32, 33, 34, - 35, - 36 + 35 ] }, { - "teal": 28, + "teal": 25, "source": "tests/contracts/arc56.algo.ts:7", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 37 + 36 ] }, { - "teal": 33, + "teal": 30, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ - 38 + 37 ] }, { - "teal": 36, + "teal": 33, "source": "tests/contracts/inheritance-external.algo.ts:14", "pc": [ + 38, 39, - 40, + 40 + ] + }, + { + "teal": 34, + "source": "tests/contracts/inheritance-external.algo.ts:14", + "pc": [ 41 ] }, { - "teal": 37, + "teal": 35, "source": "tests/contracts/inheritance-external.algo.ts:14", "pc": [ 42 ] }, { - "teal": 38, + "teal": 36, "source": "tests/contracts/inheritance-external.algo.ts:14", "pc": [ 43 ] }, { - "teal": 39, + "teal": 37, "source": "tests/contracts/inheritance-external.algo.ts:14", "pc": [ 44 @@ -352,75 +352,75 @@ { "teal": 40, "source": "tests/contracts/inheritance-external.algo.ts:14", + "errorMessage": "argument 0 (input) for customStructMethod must be a (uint64)", "pc": [ 45 ] }, { "teal": 43, - "source": "tests/contracts/inheritance-external.algo.ts:14", - "errorMessage": "argument 0 (input) for customStructMethod must be a (uint64)", + "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ - 46 + 46, + 47, + 48 ] }, { - "teal": 46, + "teal": 44, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ - 47, - 48, 49 ] }, { - "teal": 47, + "teal": 45, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ 50 ] }, { - "teal": 48, + "teal": 46, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ 51 ] }, { - "teal": 49, + "teal": 47, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ 52 ] }, { - "teal": 50, + "teal": 51, "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ - 53 + 53, + 54, + 55 ] }, { - "teal": 54, - "source": "tests/contracts/inheritance-external.algo.ts:12", + "teal": 55, + "source": "tests/contracts/inheritance-external.algo.ts:16", "pc": [ - 54, - 55, - 56 + 56, + 57 ] }, { - "teal": 58, - "source": "tests/contracts/inheritance-external.algo.ts:16", + "teal": 56, + "source": "tests/contracts/inheritance-external.algo.ts:12", "pc": [ - 57, 58 ] }, { - "teal": 59, - "source": "tests/contracts/inheritance-external.algo.ts:12", + "teal": 61, + "source": "tests/contracts/arc56.algo.ts:24", "pc": [ 59 ] @@ -429,43 +429,44 @@ "teal": 64, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 60 + 60, + 61, + 62 ] }, { - "teal": 67, + "teal": 65, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 61, - 62, 63 ] }, { - "teal": 68, + "teal": 66, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ 64 ] }, { - "teal": 69, + "teal": 67, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 65 + 65, + 66 ] }, { - "teal": 70, + "teal": 68, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 66, 67 ] }, { "teal": 71, "source": "tests/contracts/arc56.algo.ts:24", + "errorMessage": "argument 0 (inputs) for foo must be a ((uint64,uint64),(uint64,uint64))", "pc": [ 68 ] @@ -473,133 +474,126 @@ { "teal": 74, "source": "tests/contracts/arc56.algo.ts:24", - "errorMessage": "argument 0 (inputs) for foo must be a ((uint64,uint64),(uint64,uint64))", "pc": [ - 69 + 69, + 70, + 71 ] }, { - "teal": 77, + "teal": 75, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 70, - 71, 72 ] }, { - "teal": 78, + "teal": 76, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ 73 ] }, { - "teal": 79, + "teal": 77, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ 74 ] }, { - "teal": 80, + "teal": 78, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ 75 ] }, { - "teal": 81, - "source": "tests/contracts/arc56.algo.ts:24", - "pc": [ - 76 - ] - }, - { - "teal": 85, + "teal": 82, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ + 76, 77, - 78, - 79 + 78 ] }, { - "teal": 90, + "teal": 87, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ - 80, - 81 + 79, + 80 ] }, { - "teal": 91, + "teal": 88, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ + 81, 82, - 83, - 84 + 83 ] }, { - "teal": 92, + "teal": 89, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ - 85 + 84 ] }, { - "teal": 93, + "teal": 90, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ - 86, - 87 + 85, + 86 ] }, { - "teal": 94, + "teal": 91, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ + 87, 88, - 89, - 90 + 89 ] }, { - "teal": 95, + "teal": 92, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ - 91 + 90 ] }, { - "teal": 96, + "teal": 93, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ - 92 + 91 ] }, { - "teal": 97, + "teal": 94, "source": "tests/contracts/arc56.algo.ts:25", "pc": [ + 92, 93, - 94, - 95 + 94 ] }, { - "teal": 101, + "teal": 98, "source": "tests/contracts/arc56.algo.ts:25", "errorMessage": "subtract.a must be greater than subtract.b", "pc": [ - 96 + 95 ] }, { - "teal": 106, + "teal": 103, "source": "tests/contracts/arc56.algo.ts:27", "pc": [ + 96, 97, 98, 99, @@ -609,239 +603,239 @@ 103, 104, 105, - 106, - 107 + 106 ] }, { - "teal": 107, + "teal": 104, "source": "tests/contracts/arc56.algo.ts:27", "pc": [ - 108 + 107 ] }, { - "teal": 108, + "teal": 105, "source": "tests/contracts/arc56.algo.ts:27", "pc": [ - 109 + 108 ] }, { - "teal": 112, + "teal": 109, "source": "tests/contracts/arc56.algo.ts:28", "pc": [ + 109, 110, 111, 112, 113, 114, 115, - 116, - 117 + 116 ] }, { - "teal": 113, + "teal": 110, "source": "tests/contracts/arc56.algo.ts:28", "pc": [ + 117, 118, 119, 120, 121, - 122, - 123 + 122 ] }, { - "teal": 114, + "teal": 111, "source": "tests/contracts/arc56.algo.ts:28", "pc": [ - 124 + 123 ] }, { - "teal": 121, + "teal": 118, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 125, - 126 + 124, + 125 ] }, { - "teal": 122, + "teal": 119, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ + 126, 127, - 128, - 129 + 128 ] }, { - "teal": 123, + "teal": 120, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 130 + 129 ] }, { - "teal": 124, + "teal": 121, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 131, - 132 + 130, + 131 ] }, { - "teal": 125, + "teal": 122, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ + 132, 133, - 134, - 135 + 134 ] }, { - "teal": 126, + "teal": 123, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 136 + 135 ] }, { - "teal": 127, + "teal": 124, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 137 + 136 ] }, { - "teal": 128, + "teal": 125, "source": "tests/contracts/arc56.algo.ts:31", "pc": [ - 138 + 137 ] }, { - "teal": 129, + "teal": 126, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 139, - 140 + 138, + 139 ] }, { - "teal": 130, + "teal": 127, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ + 140, 141, - 142, - 143 + 142 ] }, { - "teal": 131, + "teal": 128, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 144 + 143 ] }, { - "teal": 132, + "teal": 129, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 145, - 146 + 144, + 145 ] }, { - "teal": 133, + "teal": 130, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ + 146, 147, - 148, - 149 + 148 ] }, { - "teal": 134, + "teal": 131, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 150 + 149 ] }, { - "teal": 135, + "teal": 132, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 151 + 150 ] }, { - "teal": 136, + "teal": 133, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 152 + 151 ] }, { - "teal": 137, + "teal": 134, "source": "tests/contracts/arc56.algo.ts:32", "pc": [ - 153 + 152 ] }, { - "teal": 138, + "teal": 135, "source": "tests/contracts/arc56.algo.ts:24", "pc": [ - 154 + 153 ] }, { - "teal": 143, + "teal": 140, "source": "tests/contracts/arc56.algo.ts:36", "pc": [ + 154, 155, - 156, - 157 + 156 ] }, { - "teal": 144, + "teal": 141, "source": "tests/contracts/arc56.algo.ts:36", "pc": [ - 158 + 157 ] }, { - "teal": 145, + "teal": 142, "source": "tests/contracts/arc56.algo.ts:36", "pc": [ - 159 + 158 ] }, { - "teal": 149, + "teal": 146, "source": "tests/contracts/arc56.algo.ts:36", "pc": [ + 159, 160, - 161, - 162 + 161 ] }, { - "teal": 153, + "teal": 150, "source": "tests/contracts/arc56.algo.ts:37", "pc": [ - 163, - 164 + 162, + 163 ] }, { - "teal": 154, + "teal": 151, "source": "tests/contracts/arc56.algo.ts:37", "pc": [ + 164, 165, 166, 167, @@ -850,116 +844,116 @@ 170, 171, 172, - 173, - 174 + 173 ] }, { - "teal": 155, + "teal": 152, "source": "tests/contracts/arc56.algo.ts:37", "pc": [ - 175 + 174 ] }, { - "teal": 156, + "teal": 153, "source": "tests/contracts/arc56.algo.ts:37", "pc": [ - 176 + 175 ] }, { - "teal": 160, + "teal": 157, "source": "tests/contracts/arc56.algo.ts:38", "pc": [ - 177, - 178 + 176, + 177 ] }, { - "teal": 161, + "teal": 158, "source": "tests/contracts/arc56.algo.ts:38", "pc": [ + 178, 179, 180, 181, 182, - 183, - 184 + 183 ] }, { - "teal": 162, + "teal": 159, "source": "tests/contracts/arc56.algo.ts:38", "pc": [ + 184, 185, 186, 187, 188, 189, - 190, - 191 + 190 ] }, { - "teal": 163, + "teal": 160, "source": "tests/contracts/arc56.algo.ts:38", "pc": [ - 192 + 191 ] }, { - "teal": 167, + "teal": 164, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ - 193 + 192 ] }, { - "teal": 168, + "teal": 165, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ - 194 + 193 ] }, { - "teal": 169, + "teal": 166, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ - 195 + 194 ] }, { - "teal": 170, + "teal": 167, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ - 196 + 195 ] }, { - "teal": 171, + "teal": 168, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ + 196, 197, 198, 199, 200, 201, - 202, - 203 + 202 ] }, { - "teal": 172, + "teal": 169, "source": "tests/contracts/arc56.algo.ts:39", "pc": [ - 204 + 203 ] }, { - "teal": 176, + "teal": 173, "source": "tests/contracts/arc56.algo.ts:40", "pc": [ + 204, 205, 206, 207, @@ -993,14 +987,14 @@ 235, 236, 237, - 238, - 239 + 238 ] }, { - "teal": 177, + "teal": 174, "source": "tests/contracts/arc56.algo.ts:40", "pc": [ + 239, 240, 241, 242, @@ -1017,20 +1011,26 @@ 253, 254, 255, - 256, - 257 + 256 ] }, { - "teal": 178, + "teal": 175, "source": "tests/contracts/arc56.algo.ts:40", "pc": [ - 258 + 257 ] }, { - "teal": 179, + "teal": 176, "source": "tests/contracts/arc56.algo.ts:36", + "pc": [ + 258 + ] + }, + { + "teal": 181, + "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 259 ] @@ -1039,34 +1039,34 @@ "teal": 184, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ - 260 + 260, + 261, + 262 ] }, { - "teal": 187, + "teal": 185, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ - 261, - 262, 263 ] }, { - "teal": 188, + "teal": 186, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 264 ] }, { - "teal": 189, + "teal": 187, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 265 ] }, { - "teal": 190, + "teal": 188, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 266 @@ -1075,6 +1075,7 @@ { "teal": 191, "source": "tests/contracts/arc56.algo.ts:43", + "errorMessage": "argument 0 (input) for customType must be a (uint64)", "pc": [ 267 ] @@ -1082,74 +1083,73 @@ { "teal": 194, "source": "tests/contracts/arc56.algo.ts:43", - "errorMessage": "argument 0 (input) for customType must be a (uint64)", "pc": [ - 268 + 268, + 269, + 270 ] }, { - "teal": 197, + "teal": 195, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ - 269, - 270, 271 ] }, { - "teal": 198, + "teal": 196, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 272 ] }, { - "teal": 199, + "teal": 197, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 273 ] }, { - "teal": 200, + "teal": 198, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ 274 ] }, { - "teal": 201, + "teal": 202, "source": "tests/contracts/arc56.algo.ts:43", "pc": [ - 275 + 275, + 276, + 277 ] }, { - "teal": 205, - "source": "tests/contracts/arc56.algo.ts:43", + "teal": 206, + "source": "tests/contracts/arc56.algo.ts:44", "pc": [ - 276, - 277, - 278 + 278, + 279 ] }, { - "teal": 209, - "source": "tests/contracts/arc56.algo.ts:44", + "teal": 207, + "source": "tests/contracts/arc56.algo.ts:43", "pc": [ - 279, 280 ] }, { "teal": 210, - "source": "tests/contracts/arc56.algo.ts:43", + "source": "tests/contracts/arc56.algo.ts:7", "pc": [ 281 ] }, { - "teal": 213, + "teal": 211, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ 282 @@ -1159,152 +1159,145 @@ "teal": 214, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ - 283 - ] - }, - { - "teal": 217, - "source": "tests/contracts/arc56.algo.ts:7", - "pc": [ + 283, 284, 285, 286, 287, - 288, - 289 + 288 ] }, { - "teal": 218, + "teal": 215, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 289, 290, - 291, - 292 + 291 ] }, { - "teal": 219, + "teal": 216, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 292, 293, 294, - 295, - 296 + 295 ] }, { - "teal": 222, + "teal": 219, "source": "tests/contracts/arc56.algo.ts:7", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 297 + 296 ] }, { - "teal": 225, + "teal": 222, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 297, 298, 299, 300, 301, - 302, - 303 + 302 ] }, { - "teal": 226, + "teal": 223, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 303, 304, 305, 306, 307, - 308, - 309 + 308 ] }, { - "teal": 227, + "teal": 224, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 309, 310, 311, 312, 313, - 314, - 315 + 314 ] }, { - "teal": 228, + "teal": 225, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 315, 316, - 317, - 318 + 317 ] }, { - "teal": 229, + "teal": 226, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 318, 319, 320, 321, 322, 323, 324, - 325, - 326 + 325 ] }, { - "teal": 232, + "teal": 229, "source": "tests/contracts/arc56.algo.ts:7", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 327 + 326 ] }, { - "teal": 235, + "teal": 232, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 327, 328, 329, 330, 331, - 332, - 333 + 332 ] }, { - "teal": 236, + "teal": 233, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 333, 334, - 335, - 336 + 335 ] }, { - "teal": 237, + "teal": 234, "source": "tests/contracts/arc56.algo.ts:7", "pc": [ + 336, 337, 338, - 339, - 340 + 339 ] }, { - "teal": 240, + "teal": 237, "source": "tests/contracts/arc56.algo.ts:7", "errorMessage": "this contract does not implement the given ABI method for call OptIn", "pc": [ - 341 + 340 ] } ], @@ -1316,7 +1309,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfc29tZU51bWJlciA4CmJ5dGVjYmxvY2sgMHgxNTFmN2M3NSAweDYyNmY3ODRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyBsaW5lcyBvZiBURUFMIGFyZSB1c2VkIHRvIGluaXRpYWxpemUgdGVtcGxhdGUgdmFyaWFibGVzIGluIHNjcmF0Y2ggc2xvdHMKaW50YyAxIC8vIFRNUExfc29tZU51bWJlcgoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyA4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0KSBmb3IgY3VzdG9tU3RydWN0TWV0aG9kIG11c3QgYmUgYSAodWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tU3RydWN0TWV0aG9kCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0KTogQW5vdGhlckN1c3RvbVN0cnVjdApjdXN0b21TdHJ1Y3RNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoyMQoJLy8gcmV0dXJuIGlucHV0OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0CglyZXRzdWIKCi8vIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZm9vOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dHM6ICgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5wdXRzKSBmb3IgZm9vIG11c3QgYmUgYSAoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZm9vCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZm9vKGlucHV0czogSW5wdXRzKTogT3V0cHV0cwpmb286Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MjUKCS8vIGlucHV0cy5zdWJ0cmFjdC5hIDwgaW5wdXRzLnN1YnRyYWN0LmIKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAxNiA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJPAoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHN1YnRyYWN0LmEgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3VidHJhY3QuYgoJZXJyCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI3CgkvLyB0aGlzLmdsb2JhbEtleS52YWx1ZSA9IHRoaXMuc29tZU51bWJlcgoJcHVzaGJ5dGVzIDB4Njc2YzZmNjI2MTZjNGI2NTc5IC8vICJnbG9iYWxLZXkiCglpbnRjIDEgLy8gVE1QTF9zb21lTnVtYmVyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI4CgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSB7IGZvbzogMTMsIGJhcjogMzcgfQoJcHVzaGJ5dGVzIDB4NzAwMDAzNjY2ZjZmCglwdXNoYnl0ZXMgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozMAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg2YzZmNjM2MTZjNGI2NTc5IC8vICJsb2NhbEtleSIKCWludGMgMSAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozOAoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg3MDY2NmY2ZgoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9ICdiYXonCglieXRlYyAxIC8vICAiYm94S2V5IgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDM2MjYxN2EKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czo0MAoJLy8gdGhpcy5ib3hNYXAoeyBhZGQ6IHsgYTogMSwgYjogMiB9LCBzdWJ0cmFjdDogeyBhOiA0LCBiOiAzIH0gfSkudmFsdWUgPSB7IHN1bTogMywgZGlmZmVyZW5jZTogMSB9CglwdXNoYnl0ZXMgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDAxCglib3hfcHV0CglyZXRzdWIKCi8vIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21UeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dDogKHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVR5cGUgbXVzdCBiZSBhICh1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tVHlwZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVR5cGUoaW5wdXQ6IEN1c3RvbVN0cnVjdEFzTmFtZSk6IEN1c3RvbVN0cnVjdEFzTmFtZQpjdXN0b21UeXBlOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6NDQKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQ3VzdG9tU3RydWN0QXNOYW1lCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OGQyMjczOWEgLy8gbWV0aG9kICJjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgzOTZkNTUwZSAvLyBtZXRob2QgImZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MGRiZjAyYzcgLy8gbWV0aG9kICJjdXN0b21UeXBlKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QgKmFiaV9yb3V0ZV9mb28gKmFiaV9yb3V0ZV9jdXN0b21UeXBlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDAxYTNhM2ZmIC8vIG1ldGhvZCAib3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vcHRJblRvQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfc29tZU51bWJlciA4CmJ5dGVjYmxvY2sgMHgxNTFmN2M3NSAweDYyNmY3ODRiNjU3OQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpjYWxsX09wdEluICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMiAvLyA4Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKGlucHV0KSBmb3IgY3VzdG9tU3RydWN0TWV0aG9kIG11c3QgYmUgYSAodWludDY0KQoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tU3RydWN0TWV0aG9kCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0KTogQW5vdGhlckN1c3RvbVN0cnVjdApjdXN0b21TdHJ1Y3RNZXRob2Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoyMQoJLy8gcmV0dXJuIGlucHV0OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0OiBBbm90aGVyQ3VzdG9tU3RydWN0CglyZXRzdWIKCi8vIGZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpCiphYmlfcm91dGVfZm9vOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dHM6ICgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoaW5wdXRzKSBmb3IgZm9vIG11c3QgYmUgYSAoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZm9vKCgodWludDY0LHVpbnQ2NCksKHVpbnQ2NCx1aW50NjQpKSkodWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZm9vCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZm9vKGlucHV0czogSW5wdXRzKTogT3V0cHV0cwpmb286Cglwcm90byAxIDEKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6MjUKCS8vIGlucHV0cy5zdWJ0cmFjdC5hIDwgaW5wdXRzLnN1YnRyYWN0LmIKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAxNiA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gaW5wdXRzOiBJbnB1dHMKCWV4dHJhY3QgMjQgOAoJYnRvaQoJPAoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHN1YnRyYWN0LmEgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3VidHJhY3QuYgoJZXJyCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI3CgkvLyB0aGlzLmdsb2JhbEtleS52YWx1ZSA9IHRoaXMuc29tZU51bWJlcgoJcHVzaGJ5dGVzIDB4Njc2YzZmNjI2MTZjNGI2NTc5IC8vICJnbG9iYWxLZXkiCglpbnRjIDEgLy8gVE1QTF9zb21lTnVtYmVyCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjI4CgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSB7IGZvbzogMTMsIGJhcjogMzcgfQoJcHVzaGJ5dGVzIDB4NzAwMDAzNjY2ZjZmCglwdXNoYnl0ZXMgMHgwMDBkMDAyNQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozMAoJLy8gcmV0dXJuIHsKCS8vICAgICAgIHN1bTogaW5wdXRzLmFkZC5hICsgaW5wdXRzLmFkZC5iLAoJLy8gICAgICAgZGlmZmVyZW5jZTogaW5wdXRzLnN1YnRyYWN0LmEgLSBpbnB1dHMuc3VidHJhY3QuYiwKCS8vICAgICB9OwoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDggOAoJYnRvaQoJKwoJaXRvYgoJZnJhbWVfZGlnIC0xIC8vIGlucHV0czogSW5wdXRzCglleHRyYWN0IDE2IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dHM6IElucHV0cwoJZXh0cmFjdCAyNCA4CglidG9pCgktCglpdG9iCgljb25jYXQKCXJldHN1YgoKLy8gb3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0FwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBvcHRJblRvQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgb3B0SW5Ub0FwcGxpY2F0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBvcHRJblRvQXBwbGljYXRpb24oKTogdm9pZApvcHRJblRvQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozNwoJLy8gdGhpcy5sb2NhbEtleSh0aGlzLnR4bi5zZW5kZXIpLnZhbHVlID0gdGhpcy5zb21lTnVtYmVyCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg2YzZmNjM2MTZjNGI2NTc5IC8vICJsb2NhbEtleSIKCWludGMgMSAvLyBUTVBMX3NvbWVOdW1iZXIKCWFwcF9sb2NhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czozOAoJLy8gdGhpcy5sb2NhbE1hcCh0aGlzLnR4bi5zZW5kZXIsICdmb28nKS52YWx1ZSA9ICdiYXInCgl0eG4gU2VuZGVyCglwdXNoYnl0ZXMgMHg3MDY2NmY2ZgoJcHVzaGJ5dGVzIDB4MDAwMzYyNjE3MgoJYXBwX2xvY2FsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hcmM1Ni5hbGdvLnRzOjM5CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9ICdiYXonCglieXRlYyAxIC8vICAiYm94S2V5IgoJZHVwCglib3hfZGVsCglwb3AKCXB1c2hieXRlcyAweDAwMDM2MjYxN2EKCWJveF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXJjNTYuYWxnby50czo0MAoJLy8gdGhpcy5ib3hNYXAoeyBhZGQ6IHsgYTogMSwgYjogMiB9LCBzdWJ0cmFjdDogeyBhOiA0LCBiOiAzIH0gfSkudmFsdWUgPSB7IHN1bTogMywgZGlmZmVyZW5jZTogMSB9CglwdXNoYnl0ZXMgMHg3MDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDMKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDMwMDAwMDAwMDAwMDAwMDAxCglib3hfcHV0CglyZXRzdWIKCi8vIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKKmFiaV9yb3V0ZV9jdXN0b21UeXBlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBpbnB1dDogKHVpbnQ2NCkKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDIgLy8gOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVR5cGUgbXVzdCBiZSBhICh1aW50NjQpCglhc3NlcnQKCgkvLyBleGVjdXRlIGN1c3RvbVR5cGUoKHVpbnQ2NCkpKHVpbnQ2NCkKCWNhbGxzdWIgY3VzdG9tVHlwZQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVR5cGUoaW5wdXQ6IEN1c3RvbVN0cnVjdEFzTmFtZSk6IEN1c3RvbVN0cnVjdEFzTmFtZQpjdXN0b21UeXBlOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2FyYzU2LmFsZ28udHM6NDQKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQ3VzdG9tU3RydWN0QXNOYW1lCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OGQyMjczOWEgLy8gbWV0aG9kICJjdXN0b21TdHJ1Y3RNZXRob2QoKHVpbnQ2NCkpKHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgzOTZkNTUwZSAvLyBtZXRob2QgImZvbygoKHVpbnQ2NCx1aW50NjQpLCh1aW50NjQsdWludDY0KSkpKHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MGRiZjAyYzcgLy8gbWV0aG9kICJjdXN0b21UeXBlKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QgKmFiaV9yb3V0ZV9mb28gKmFiaV9yb3V0ZV9jdXN0b21UeXBlCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJyCgoqY2FsbF9PcHRJbjoKCXB1c2hieXRlcyAweDAxYTNhM2ZmIC8vIG1ldGhvZCAib3B0SW5Ub0FwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9vcHRJblRvQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBPcHRJbgoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal b/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal index 1befc96c8..6c8ea1a08 100644 --- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal +++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.approval.teal @@ -1,6 +1,6 @@ #pragma version 10 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json index beff6e41f..ba108cb32 100644 --- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json +++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json index 0c33a1cad..39ff21944 100644 --- a/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json +++ b/tests/contracts/artifacts/ARC56TestNoTemplateVars.arc56_draft.json @@ -205,7 +205,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/AVM11.approval.teal b/tests/contracts/artifacts/AVM11.approval.teal index 588d71093..d499949bc 100644 --- a/tests/contracts/artifacts/AVM11.approval.teal +++ b/tests/contracts/artifacts/AVM11.approval.teal @@ -1,7 +1,7 @@ #pragma version 11 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/AVM11.arc32.json b/tests/contracts/artifacts/AVM11.arc32.json index 3b7492da6..d76f1e2fb 100644 --- a/tests/contracts/artifacts/AVM11.arc32.json +++ b/tests/contracts/artifacts/AVM11.arc32.json @@ -59,7 +59,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdm90ZXJPcGNvZGVzKCl2b2lkCiphYmlfcm91dGVfdm90ZXJPcGNvZGVzOgoJLy8gZXhlY3V0ZSB2b3Rlck9wY29kZXMoKXZvaWQKCWNhbGxzdWIgdm90ZXJPcGNvZGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2b3Rlck9wY29kZXMoKTogdm9pZAp2b3Rlck9wY29kZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czo3CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLnZvdGVyQmFsYW5jZSkKCXR4biBTZW5kZXIKCXZvdGVyX3BhcmFtc19nZXQgVm90ZXJCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gaW5jZW50aXZlR2xvYmFscygpdm9pZAoqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHM6CgkvLyBleGVjdXRlIGluY2VudGl2ZUdsb2JhbHMoKXZvaWQKCWNhbGxzdWIgaW5jZW50aXZlR2xvYmFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5jZW50aXZlR2xvYmFscygpOiB2b2lkCmluY2VudGl2ZUdsb2JhbHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxMgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c0VuYWJsZWQpCglnbG9iYWwgUGF5b3V0c0VuYWJsZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzR29PbmxpbmVGZWUpCglnbG9iYWwgUGF5b3V0c0dvT25saW5lRmVlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNAoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c1BlcmNlbnQpCglnbG9iYWwgUGF5b3V0c1BlcmNlbnQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE1CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzTWluQmFsYW5jZSkKCWdsb2JhbCBQYXlvdXRzTWluQmFsYW5jZQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTYKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNYXhCYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNYXhCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gb25saW5lU3Rha2VPcCgpdm9pZAoqYWJpX3JvdXRlX29ubGluZVN0YWtlT3A6CgkvLyBleGVjdXRlIG9ubGluZVN0YWtlT3AoKXZvaWQKCWNhbGxzdWIgb25saW5lU3Rha2VPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb25saW5lU3Rha2VPcCgpOiB2b2lkCm9ubGluZVN0YWtlT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyMAoJLy8gYXNzZXJ0KG9ubGluZVN0YWtlKCkpCglvbmxpbmVfc3Rha2UKCWFzc2VydAoJcmV0c3ViCgovLyBhY2NvdW50UGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYWNjb3VudFBhcmFtczoKCS8vIGV4ZWN1dGUgYWNjb3VudFBhcmFtcygpdm9pZAoJY2FsbHN1YiBhY2NvdW50UGFyYW1zCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhY2NvdW50UGFyYW1zKCk6IHZvaWQKYWNjb3VudFBhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmluY2VudGl2ZUVsaWdpYmxlKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RJbmNlbnRpdmVFbGlnaWJsZQoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyNQoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlci5sYXN0SGVhcnRiZWF0KQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0SGVhcnRiZWF0Cglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI2CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RQcm9wb3NlZCkKCXR4biBTZW5kZXIKCWFjY3RfcGFyYW1zX2dldCBBY2N0TGFzdFByb3Bvc2VkCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBibG9ja1BhcmFtcygpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zOgoJLy8gZXhlY3V0ZSBibG9ja1BhcmFtcygpdm9pZAoJY2FsbHN1YiBibG9ja1BhcmFtcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmxvY2tQYXJhbXMoKTogdm9pZApibG9ja1BhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMwCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMQoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlc0NvbGxlY3RlZCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZXNDb2xsZWN0ZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5ib251cykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0JvbnVzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMwoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uYnJhbmNoKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrQnJhbmNoCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlU2luaykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZVNpbmsKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM1CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm90b2NvbCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3RvY29sCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNgoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0udHhuQ291bnRlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1R4bkNvdW50ZXIKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlclBheW91dCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyUGF5b3V0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4ZGMxMjlmNiAvLyBtZXRob2QgInZvdGVyT3Bjb2Rlcygpdm9pZCIKCXB1c2hieXRlcyAweGE4OGJmODY3IC8vIG1ldGhvZCAiaW5jZW50aXZlR2xvYmFscygpdm9pZCIKCXB1c2hieXRlcyAweDkxM2ExZGQ0IC8vIG1ldGhvZCAib25saW5lU3Rha2VPcCgpdm9pZCIKCXB1c2hieXRlcyAweGE1YjJmZWNiIC8vIG1ldGhvZCAiYWNjb3VudFBhcmFtcygpdm9pZCIKCXB1c2hieXRlcyAweDNmNjU4MWY1IC8vIG1ldGhvZCAiYmxvY2tQYXJhbXMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZvdGVyT3Bjb2RlcyAqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHMgKmFiaV9yb3V0ZV9vbmxpbmVTdGFrZU9wICphYmlfcm91dGVfYWNjb3VudFBhcmFtcyAqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdm90ZXJPcGNvZGVzKCl2b2lkCiphYmlfcm91dGVfdm90ZXJPcGNvZGVzOgoJLy8gZXhlY3V0ZSB2b3Rlck9wY29kZXMoKXZvaWQKCWNhbGxzdWIgdm90ZXJPcGNvZGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2b3Rlck9wY29kZXMoKTogdm9pZAp2b3Rlck9wY29kZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czo3CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLnZvdGVyQmFsYW5jZSkKCXR4biBTZW5kZXIKCXZvdGVyX3BhcmFtc19nZXQgVm90ZXJCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gaW5jZW50aXZlR2xvYmFscygpdm9pZAoqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHM6CgkvLyBleGVjdXRlIGluY2VudGl2ZUdsb2JhbHMoKXZvaWQKCWNhbGxzdWIgaW5jZW50aXZlR2xvYmFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5jZW50aXZlR2xvYmFscygpOiB2b2lkCmluY2VudGl2ZUdsb2JhbHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxMgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c0VuYWJsZWQpCglnbG9iYWwgUGF5b3V0c0VuYWJsZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzR29PbmxpbmVGZWUpCglnbG9iYWwgUGF5b3V0c0dvT25saW5lRmVlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNAoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c1BlcmNlbnQpCglnbG9iYWwgUGF5b3V0c1BlcmNlbnQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE1CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzTWluQmFsYW5jZSkKCWdsb2JhbCBQYXlvdXRzTWluQmFsYW5jZQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTYKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNYXhCYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNYXhCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gb25saW5lU3Rha2VPcCgpdm9pZAoqYWJpX3JvdXRlX29ubGluZVN0YWtlT3A6CgkvLyBleGVjdXRlIG9ubGluZVN0YWtlT3AoKXZvaWQKCWNhbGxzdWIgb25saW5lU3Rha2VPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb25saW5lU3Rha2VPcCgpOiB2b2lkCm9ubGluZVN0YWtlT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyMAoJLy8gYXNzZXJ0KG9ubGluZVN0YWtlKCkpCglvbmxpbmVfc3Rha2UKCWFzc2VydAoJcmV0c3ViCgovLyBhY2NvdW50UGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYWNjb3VudFBhcmFtczoKCS8vIGV4ZWN1dGUgYWNjb3VudFBhcmFtcygpdm9pZAoJY2FsbHN1YiBhY2NvdW50UGFyYW1zCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhY2NvdW50UGFyYW1zKCk6IHZvaWQKYWNjb3VudFBhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmluY2VudGl2ZUVsaWdpYmxlKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RJbmNlbnRpdmVFbGlnaWJsZQoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyNQoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlci5sYXN0SGVhcnRiZWF0KQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0SGVhcnRiZWF0Cglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI2CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RQcm9wb3NlZCkKCXR4biBTZW5kZXIKCWFjY3RfcGFyYW1zX2dldCBBY2N0TGFzdFByb3Bvc2VkCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBibG9ja1BhcmFtcygpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zOgoJLy8gZXhlY3V0ZSBibG9ja1BhcmFtcygpdm9pZAoJY2FsbHN1YiBibG9ja1BhcmFtcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmxvY2tQYXJhbXMoKTogdm9pZApibG9ja1BhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMwCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMQoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlc0NvbGxlY3RlZCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZXNDb2xsZWN0ZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5ib251cykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0JvbnVzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMwoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uYnJhbmNoKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrQnJhbmNoCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlU2luaykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZVNpbmsKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM1CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm90b2NvbCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3RvY29sCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNgoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0udHhuQ291bnRlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1R4bkNvdW50ZXIKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlclBheW91dCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyUGF5b3V0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4ZGMxMjlmNiAvLyBtZXRob2QgInZvdGVyT3Bjb2Rlcygpdm9pZCIKCXB1c2hieXRlcyAweGE4OGJmODY3IC8vIG1ldGhvZCAiaW5jZW50aXZlR2xvYmFscygpdm9pZCIKCXB1c2hieXRlcyAweDkxM2ExZGQ0IC8vIG1ldGhvZCAib25saW5lU3Rha2VPcCgpdm9pZCIKCXB1c2hieXRlcyAweGE1YjJmZWNiIC8vIG1ldGhvZCAiYWNjb3VudFBhcmFtcygpdm9pZCIKCXB1c2hieXRlcyAweDNmNjU4MWY1IC8vIG1ldGhvZCAiYmxvY2tQYXJhbXMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZvdGVyT3Bjb2RlcyAqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHMgKmFiaV9yb3V0ZV9vbmxpbmVTdGFrZU9wICphYmlfcm91dGVfYWNjb3VudFBhcmFtcyAqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEx" }, "contract": { diff --git a/tests/contracts/artifacts/AVM11.arc56_draft.json b/tests/contracts/artifacts/AVM11.arc56_draft.json index 0b414aade..00d5dab6c 100644 --- a/tests/contracts/artifacts/AVM11.arc56_draft.json +++ b/tests/contracts/artifacts/AVM11.arc56_draft.json @@ -123,7 +123,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdm90ZXJPcGNvZGVzKCl2b2lkCiphYmlfcm91dGVfdm90ZXJPcGNvZGVzOgoJLy8gZXhlY3V0ZSB2b3Rlck9wY29kZXMoKXZvaWQKCWNhbGxzdWIgdm90ZXJPcGNvZGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2b3Rlck9wY29kZXMoKTogdm9pZAp2b3Rlck9wY29kZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czo3CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLnZvdGVyQmFsYW5jZSkKCXR4biBTZW5kZXIKCXZvdGVyX3BhcmFtc19nZXQgVm90ZXJCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gaW5jZW50aXZlR2xvYmFscygpdm9pZAoqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHM6CgkvLyBleGVjdXRlIGluY2VudGl2ZUdsb2JhbHMoKXZvaWQKCWNhbGxzdWIgaW5jZW50aXZlR2xvYmFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5jZW50aXZlR2xvYmFscygpOiB2b2lkCmluY2VudGl2ZUdsb2JhbHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxMgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c0VuYWJsZWQpCglnbG9iYWwgUGF5b3V0c0VuYWJsZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzR29PbmxpbmVGZWUpCglnbG9iYWwgUGF5b3V0c0dvT25saW5lRmVlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNAoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c1BlcmNlbnQpCglnbG9iYWwgUGF5b3V0c1BlcmNlbnQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE1CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzTWluQmFsYW5jZSkKCWdsb2JhbCBQYXlvdXRzTWluQmFsYW5jZQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTYKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNYXhCYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNYXhCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gb25saW5lU3Rha2VPcCgpdm9pZAoqYWJpX3JvdXRlX29ubGluZVN0YWtlT3A6CgkvLyBleGVjdXRlIG9ubGluZVN0YWtlT3AoKXZvaWQKCWNhbGxzdWIgb25saW5lU3Rha2VPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb25saW5lU3Rha2VPcCgpOiB2b2lkCm9ubGluZVN0YWtlT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyMAoJLy8gYXNzZXJ0KG9ubGluZVN0YWtlKCkpCglvbmxpbmVfc3Rha2UKCWFzc2VydAoJcmV0c3ViCgovLyBhY2NvdW50UGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYWNjb3VudFBhcmFtczoKCS8vIGV4ZWN1dGUgYWNjb3VudFBhcmFtcygpdm9pZAoJY2FsbHN1YiBhY2NvdW50UGFyYW1zCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhY2NvdW50UGFyYW1zKCk6IHZvaWQKYWNjb3VudFBhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmluY2VudGl2ZUVsaWdpYmxlKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RJbmNlbnRpdmVFbGlnaWJsZQoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyNQoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlci5sYXN0SGVhcnRiZWF0KQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0SGVhcnRiZWF0Cglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI2CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RQcm9wb3NlZCkKCXR4biBTZW5kZXIKCWFjY3RfcGFyYW1zX2dldCBBY2N0TGFzdFByb3Bvc2VkCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBibG9ja1BhcmFtcygpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zOgoJLy8gZXhlY3V0ZSBibG9ja1BhcmFtcygpdm9pZAoJY2FsbHN1YiBibG9ja1BhcmFtcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmxvY2tQYXJhbXMoKTogdm9pZApibG9ja1BhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMwCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMQoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlc0NvbGxlY3RlZCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZXNDb2xsZWN0ZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5ib251cykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0JvbnVzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMwoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uYnJhbmNoKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrQnJhbmNoCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlU2luaykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZVNpbmsKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM1CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm90b2NvbCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3RvY29sCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNgoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0udHhuQ291bnRlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1R4bkNvdW50ZXIKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlclBheW91dCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyUGF5b3V0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4ZGMxMjlmNiAvLyBtZXRob2QgInZvdGVyT3Bjb2Rlcygpdm9pZCIKCXB1c2hieXRlcyAweGE4OGJmODY3IC8vIG1ldGhvZCAiaW5jZW50aXZlR2xvYmFscygpdm9pZCIKCXB1c2hieXRlcyAweDkxM2ExZGQ0IC8vIG1ldGhvZCAib25saW5lU3Rha2VPcCgpdm9pZCIKCXB1c2hieXRlcyAweGE1YjJmZWNiIC8vIG1ldGhvZCAiYWNjb3VudFBhcmFtcygpdm9pZCIKCXB1c2hieXRlcyAweDNmNjU4MWY1IC8vIG1ldGhvZCAiYmxvY2tQYXJhbXMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZvdGVyT3Bjb2RlcyAqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHMgKmFiaV9yb3V0ZV9vbmxpbmVTdGFrZU9wICphYmlfcm91dGVfYWNjb3VudFBhcmFtcyAqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdm90ZXJPcGNvZGVzKCl2b2lkCiphYmlfcm91dGVfdm90ZXJPcGNvZGVzOgoJLy8gZXhlY3V0ZSB2b3Rlck9wY29kZXMoKXZvaWQKCWNhbGxzdWIgdm90ZXJPcGNvZGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2b3Rlck9wY29kZXMoKTogdm9pZAp2b3Rlck9wY29kZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czo3CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLnZvdGVyQmFsYW5jZSkKCXR4biBTZW5kZXIKCXZvdGVyX3BhcmFtc19nZXQgVm90ZXJCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gaW5jZW50aXZlR2xvYmFscygpdm9pZAoqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHM6CgkvLyBleGVjdXRlIGluY2VudGl2ZUdsb2JhbHMoKXZvaWQKCWNhbGxzdWIgaW5jZW50aXZlR2xvYmFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5jZW50aXZlR2xvYmFscygpOiB2b2lkCmluY2VudGl2ZUdsb2JhbHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxMgoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c0VuYWJsZWQpCglnbG9iYWwgUGF5b3V0c0VuYWJsZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzR29PbmxpbmVGZWUpCglnbG9iYWwgUGF5b3V0c0dvT25saW5lRmVlCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoxNAoJLy8gYXNzZXJ0KGdsb2JhbHMucGF5b3V0c1BlcmNlbnQpCglnbG9iYWwgUGF5b3V0c1BlcmNlbnQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjE1CgkvLyBhc3NlcnQoZ2xvYmFscy5wYXlvdXRzTWluQmFsYW5jZSkKCWdsb2JhbCBQYXlvdXRzTWluQmFsYW5jZQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2F2bTExLmFsZ28udHM6MTYKCS8vIGFzc2VydChnbG9iYWxzLnBheW91dHNNYXhCYWxhbmNlKQoJZ2xvYmFsIFBheW91dHNNYXhCYWxhbmNlCglhc3NlcnQKCXJldHN1YgoKLy8gb25saW5lU3Rha2VPcCgpdm9pZAoqYWJpX3JvdXRlX29ubGluZVN0YWtlT3A6CgkvLyBleGVjdXRlIG9ubGluZVN0YWtlT3AoKXZvaWQKCWNhbGxzdWIgb25saW5lU3Rha2VPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb25saW5lU3Rha2VPcCgpOiB2b2lkCm9ubGluZVN0YWtlT3A6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyMAoJLy8gYXNzZXJ0KG9ubGluZVN0YWtlKCkpCglvbmxpbmVfc3Rha2UKCWFzc2VydAoJcmV0c3ViCgovLyBhY2NvdW50UGFyYW1zKCl2b2lkCiphYmlfcm91dGVfYWNjb3VudFBhcmFtczoKCS8vIGV4ZWN1dGUgYWNjb3VudFBhcmFtcygpdm9pZAoJY2FsbHN1YiBhY2NvdW50UGFyYW1zCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhY2NvdW50UGFyYW1zKCk6IHZvaWQKYWNjb3VudFBhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmluY2VudGl2ZUVsaWdpYmxlKQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RJbmNlbnRpdmVFbGlnaWJsZQoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czoyNQoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlci5sYXN0SGVhcnRiZWF0KQoJdHhuIFNlbmRlcgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RMYXN0SGVhcnRiZWF0Cglwb3AKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjI2CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyLmxhc3RQcm9wb3NlZCkKCXR4biBTZW5kZXIKCWFjY3RfcGFyYW1zX2dldCBBY2N0TGFzdFByb3Bvc2VkCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBibG9ja1BhcmFtcygpdm9pZAoqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zOgoJLy8gZXhlY3V0ZSBibG9ja1BhcmFtcygpdm9pZAoJY2FsbHN1YiBibG9ja1BhcmFtcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYmxvY2tQYXJhbXMoKTogdm9pZApibG9ja1BhcmFtczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMwCgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMQoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlc0NvbGxlY3RlZCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZXNDb2xsZWN0ZWQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5ib251cykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0JvbnVzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozMwoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uYnJhbmNoKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrQnJhbmNoCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNAoJLy8gbG9nKGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0uZmVlU2luaykKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa0ZlZVNpbmsKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM1CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm90b2NvbCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3RvY29sCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvYXZtMTEuYWxnby50czozNgoJLy8gYXNzZXJ0KGJsb2Nrc1tnbG9iYWxzLnJvdW5kIC0gMV0udHhuQ291bnRlcikKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1R4bkNvdW50ZXIKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hdm0xMS5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5wcm9wb3NlclBheW91dCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1Byb3Bvc2VyUGF5b3V0Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg4ZGMxMjlmNiAvLyBtZXRob2QgInZvdGVyT3Bjb2Rlcygpdm9pZCIKCXB1c2hieXRlcyAweGE4OGJmODY3IC8vIG1ldGhvZCAiaW5jZW50aXZlR2xvYmFscygpdm9pZCIKCXB1c2hieXRlcyAweDkxM2ExZGQ0IC8vIG1ldGhvZCAib25saW5lU3Rha2VPcCgpdm9pZCIKCXB1c2hieXRlcyAweGE1YjJmZWNiIC8vIG1ldGhvZCAiYWNjb3VudFBhcmFtcygpdm9pZCIKCXB1c2hieXRlcyAweDNmNjU4MWY1IC8vIG1ldGhvZCAiYmxvY2tQYXJhbXMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3ZvdGVyT3Bjb2RlcyAqYWJpX3JvdXRlX2luY2VudGl2ZUdsb2JhbHMgKmFiaV9yb3V0ZV9vbmxpbmVTdGFrZU9wICphYmlfcm91dGVfYWNjb3VudFBhcmFtcyAqYWJpX3JvdXRlX2Jsb2NrUGFyYW1zCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEx" } } \ No newline at end of file diff --git a/tests/contracts/artifacts/AccountTest.approval.teal b/tests/contracts/artifacts/AccountTest.approval.teal index e81cd763a..a2672694c 100644 --- a/tests/contracts/artifacts/AccountTest.approval.teal +++ b/tests/contracts/artifacts/AccountTest.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 32 123 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/AccountTest.arc32.json b/tests/contracts/artifacts/AccountTest.arc32.json index 26e134124..f65dc9e89 100644 --- a/tests/contracts/artifacts/AccountTest.arc32.json +++ b/tests/contracts/artifacts/AccountTest.arc32.json @@ -114,7 +114,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDEyMwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2hhc0Fzc2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQXNzZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQXNzZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGhhc0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNBc3NldChhOiBBZGRyZXNzKTogdm9pZApoYXNBc3NldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEuaXNPcHRlZEluVG9Bc3NldChBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50YyAyIC8vIDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXNzZXRCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRCYWxhbmNlIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXNzZXRCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEJhbGFuY2UoYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJvemVuOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRGcm96ZW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0RnJvemVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEZyb3plbihhOiBBZGRyZXNzKTogdm9pZAphc3NldEZyb3plbjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTQKCS8vIGFzc2VydChhLmFzc2V0RnJvemVuKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEZyb3plbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmhhc0JhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoYS5pc0luTGVkZ2VyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9iYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBiYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoYS5iYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW5CYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbWluQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBtaW5CYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtaW5CYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCm1pbkJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoYS5taW5CYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXV0aEFkZHIoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXV0aEFkZHI6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBhdXRoQWRkciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhdXRoQWRkcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXV0aEFkZHIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGF1dGhBZGRyKGE6IEFkZHJlc3MpOiB2b2lkCmF1dGhBZGRyOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozMAoJLy8gbG9nKGEuYXV0aEFkZHIpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RBdXRoQWRkcgoJcG9wCglsb2cKCXJldHN1YgoKLy8gdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtVWludDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsTnVtVWludCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtVWludAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxOdW1VaW50KGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtVWludDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzQKCS8vIGFzc2VydChhLnRvdGFsTnVtVWludCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsTnVtVWludAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2U6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bUJ5dGVTbGljZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxOdW1CeXRlU2xpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtQnl0ZVNsaWNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozOAoJLy8gYXNzZXJ0KGEudG90YWxOdW1CeXRlU2xpY2UpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bUJ5dGVTbGljZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsRXh0cmFBcHBQYWdlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsRXh0cmFBcHBQYWdlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEV4dHJhQXBwUGFnZXMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsRXh0cmFBcHBQYWdlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsRXh0cmFBcHBQYWdlczoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NDIKCS8vIGFzc2VydChhLnRvdGFsRXh0cmFBcHBQYWdlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsRXh0cmFBcHBQYWdlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNDcmVhdGVkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoYS50b3RhbEFwcHNDcmVhdGVkKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNPcHRlZEluOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzT3B0ZWRJbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNPcHRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNPcHRlZEluKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc09wdGVkSW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoYS50b3RhbEFwcHNPcHRlZEluKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzT3B0ZWRJbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXNzZXRzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzQ3JlYXRlZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzQ3JlYXRlZDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTQKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXNzZXRzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBc3NldHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBc3NldHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1OAoJLy8gYXNzZXJ0KGEudG90YWxBc3NldHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0cwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoYS50b3RhbEJveGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hCeXRlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveEJ5dGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveEJ5dGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94Qnl0ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoYS50b3RhbEJveEJ5dGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hCeXRlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYTM4YWU5MSAvLyBtZXRob2QgImhhc0Fzc2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY0Y2IwNjYxIC8vIG1ldGhvZCAiYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY4ZDE4ZGRiIC8vIG1ldGhvZCAiYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MmFiZjFlZGUgLy8gbWV0aG9kICJoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDg5OWU0NzlkIC8vIG1ldGhvZCAiYmFsYW5jZShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgyNThhMGZjYSAvLyBtZXRob2QgIm1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmVjYzIxODMgLy8gbWV0aG9kICJhdXRoQWRkcihhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYjgxZTEwOSAvLyBtZXRob2QgInRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg0NGQyMTVlMSAvLyBtZXRob2QgInRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDRiM2JmZWYzIC8vIG1ldGhvZCAidG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDA5MWFkMmFhIC8vIG1ldGhvZCAidG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiOWJmM2Y5NSAvLyBtZXRob2QgInRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NGY4ZDJkMmMgLy8gbWV0aG9kICJ0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNkNGEzN2QgLy8gbWV0aG9kICJ0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYzg3MjNkYSAvLyBtZXRob2QgInRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YzRjYzVlOTUgLy8gbWV0aG9kICJ0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaGFzQXNzZXQgKmFiaV9yb3V0ZV9hc3NldEJhbGFuY2UgKmFiaV9yb3V0ZV9hc3NldEZyb3plbiAqYWJpX3JvdXRlX2hhc0JhbGFuY2UgKmFiaV9yb3V0ZV9iYWxhbmNlICphYmlfcm91dGVfbWluQmFsYW5jZSAqYWJpX3JvdXRlX2F1dGhBZGRyICphYmlfcm91dGVfdG90YWxOdW1VaW50ICphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2UgKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXMgKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkICphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbiAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzICphYmlfcm91dGVfdG90YWxCb3hlcyAqYWJpX3JvdXRlX3RvdGFsQm94Qnl0ZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDEyMwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2hhc0Fzc2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQXNzZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQXNzZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGhhc0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNBc3NldChhOiBBZGRyZXNzKTogdm9pZApoYXNBc3NldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEuaXNPcHRlZEluVG9Bc3NldChBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50YyAyIC8vIDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXNzZXRCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRCYWxhbmNlIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXNzZXRCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEJhbGFuY2UoYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJvemVuOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRGcm96ZW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0RnJvemVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEZyb3plbihhOiBBZGRyZXNzKTogdm9pZAphc3NldEZyb3plbjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTQKCS8vIGFzc2VydChhLmFzc2V0RnJvemVuKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEZyb3plbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmhhc0JhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoYS5pc0luTGVkZ2VyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9iYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBiYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoYS5iYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW5CYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbWluQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBtaW5CYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtaW5CYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCm1pbkJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoYS5taW5CYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXV0aEFkZHIoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXV0aEFkZHI6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBhdXRoQWRkciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhdXRoQWRkcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXV0aEFkZHIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGF1dGhBZGRyKGE6IEFkZHJlc3MpOiB2b2lkCmF1dGhBZGRyOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozMAoJLy8gbG9nKGEuYXV0aEFkZHIpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RBdXRoQWRkcgoJcG9wCglsb2cKCXJldHN1YgoKLy8gdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtVWludDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsTnVtVWludCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtVWludAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxOdW1VaW50KGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtVWludDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzQKCS8vIGFzc2VydChhLnRvdGFsTnVtVWludCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsTnVtVWludAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2U6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bUJ5dGVTbGljZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxOdW1CeXRlU2xpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtQnl0ZVNsaWNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozOAoJLy8gYXNzZXJ0KGEudG90YWxOdW1CeXRlU2xpY2UpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bUJ5dGVTbGljZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsRXh0cmFBcHBQYWdlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsRXh0cmFBcHBQYWdlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEV4dHJhQXBwUGFnZXMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsRXh0cmFBcHBQYWdlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsRXh0cmFBcHBQYWdlczoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NDIKCS8vIGFzc2VydChhLnRvdGFsRXh0cmFBcHBQYWdlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsRXh0cmFBcHBQYWdlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNDcmVhdGVkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoYS50b3RhbEFwcHNDcmVhdGVkKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNPcHRlZEluOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzT3B0ZWRJbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNPcHRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNPcHRlZEluKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc09wdGVkSW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoYS50b3RhbEFwcHNPcHRlZEluKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzT3B0ZWRJbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXNzZXRzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzQ3JlYXRlZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzQ3JlYXRlZDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTQKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXNzZXRzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBc3NldHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBc3NldHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1OAoJLy8gYXNzZXJ0KGEudG90YWxBc3NldHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0cwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoYS50b3RhbEJveGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hCeXRlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveEJ5dGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveEJ5dGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94Qnl0ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoYS50b3RhbEJveEJ5dGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hCeXRlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYTM4YWU5MSAvLyBtZXRob2QgImhhc0Fzc2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY0Y2IwNjYxIC8vIG1ldGhvZCAiYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY4ZDE4ZGRiIC8vIG1ldGhvZCAiYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MmFiZjFlZGUgLy8gbWV0aG9kICJoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDg5OWU0NzlkIC8vIG1ldGhvZCAiYmFsYW5jZShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgyNThhMGZjYSAvLyBtZXRob2QgIm1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmVjYzIxODMgLy8gbWV0aG9kICJhdXRoQWRkcihhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYjgxZTEwOSAvLyBtZXRob2QgInRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg0NGQyMTVlMSAvLyBtZXRob2QgInRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDRiM2JmZWYzIC8vIG1ldGhvZCAidG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDA5MWFkMmFhIC8vIG1ldGhvZCAidG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiOWJmM2Y5NSAvLyBtZXRob2QgInRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NGY4ZDJkMmMgLy8gbWV0aG9kICJ0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNkNGEzN2QgLy8gbWV0aG9kICJ0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYzg3MjNkYSAvLyBtZXRob2QgInRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YzRjYzVlOTUgLy8gbWV0aG9kICJ0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaGFzQXNzZXQgKmFiaV9yb3V0ZV9hc3NldEJhbGFuY2UgKmFiaV9yb3V0ZV9hc3NldEZyb3plbiAqYWJpX3JvdXRlX2hhc0JhbGFuY2UgKmFiaV9yb3V0ZV9iYWxhbmNlICphYmlfcm91dGVfbWluQmFsYW5jZSAqYWJpX3JvdXRlX2F1dGhBZGRyICphYmlfcm91dGVfdG90YWxOdW1VaW50ICphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2UgKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXMgKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkICphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbiAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzICphYmlfcm91dGVfdG90YWxCb3hlcyAqYWJpX3JvdXRlX3RvdGFsQm94Qnl0ZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/AccountTest.arc56_draft.json b/tests/contracts/artifacts/AccountTest.arc56_draft.json index 2827f34e5..8fd8bf98c 100644 --- a/tests/contracts/artifacts/AccountTest.arc56_draft.json +++ b/tests/contracts/artifacts/AccountTest.arc56_draft.json @@ -2611,7 +2611,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDEyMwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2hhc0Fzc2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQXNzZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQXNzZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGhhc0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNBc3NldChhOiBBZGRyZXNzKTogdm9pZApoYXNBc3NldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEuaXNPcHRlZEluVG9Bc3NldChBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50YyAyIC8vIDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXNzZXRCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRCYWxhbmNlIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXNzZXRCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEJhbGFuY2UoYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJvemVuOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRGcm96ZW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0RnJvemVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEZyb3plbihhOiBBZGRyZXNzKTogdm9pZAphc3NldEZyb3plbjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTQKCS8vIGFzc2VydChhLmFzc2V0RnJvemVuKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEZyb3plbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmhhc0JhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoYS5pc0luTGVkZ2VyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9iYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBiYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoYS5iYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW5CYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbWluQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBtaW5CYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtaW5CYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCm1pbkJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoYS5taW5CYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXV0aEFkZHIoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXV0aEFkZHI6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBhdXRoQWRkciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhdXRoQWRkcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXV0aEFkZHIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGF1dGhBZGRyKGE6IEFkZHJlc3MpOiB2b2lkCmF1dGhBZGRyOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozMAoJLy8gbG9nKGEuYXV0aEFkZHIpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RBdXRoQWRkcgoJcG9wCglsb2cKCXJldHN1YgoKLy8gdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtVWludDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsTnVtVWludCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtVWludAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxOdW1VaW50KGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtVWludDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzQKCS8vIGFzc2VydChhLnRvdGFsTnVtVWludCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsTnVtVWludAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2U6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bUJ5dGVTbGljZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxOdW1CeXRlU2xpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtQnl0ZVNsaWNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozOAoJLy8gYXNzZXJ0KGEudG90YWxOdW1CeXRlU2xpY2UpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bUJ5dGVTbGljZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsRXh0cmFBcHBQYWdlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsRXh0cmFBcHBQYWdlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEV4dHJhQXBwUGFnZXMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsRXh0cmFBcHBQYWdlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsRXh0cmFBcHBQYWdlczoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NDIKCS8vIGFzc2VydChhLnRvdGFsRXh0cmFBcHBQYWdlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsRXh0cmFBcHBQYWdlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNDcmVhdGVkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoYS50b3RhbEFwcHNDcmVhdGVkKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNPcHRlZEluOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzT3B0ZWRJbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNPcHRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNPcHRlZEluKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc09wdGVkSW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoYS50b3RhbEFwcHNPcHRlZEluKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzT3B0ZWRJbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXNzZXRzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzQ3JlYXRlZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzQ3JlYXRlZDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTQKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXNzZXRzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBc3NldHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBc3NldHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1OAoJLy8gYXNzZXJ0KGEudG90YWxBc3NldHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0cwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoYS50b3RhbEJveGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hCeXRlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveEJ5dGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveEJ5dGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94Qnl0ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoYS50b3RhbEJveEJ5dGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hCeXRlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYTM4YWU5MSAvLyBtZXRob2QgImhhc0Fzc2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY0Y2IwNjYxIC8vIG1ldGhvZCAiYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY4ZDE4ZGRiIC8vIG1ldGhvZCAiYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MmFiZjFlZGUgLy8gbWV0aG9kICJoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDg5OWU0NzlkIC8vIG1ldGhvZCAiYmFsYW5jZShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgyNThhMGZjYSAvLyBtZXRob2QgIm1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmVjYzIxODMgLy8gbWV0aG9kICJhdXRoQWRkcihhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYjgxZTEwOSAvLyBtZXRob2QgInRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg0NGQyMTVlMSAvLyBtZXRob2QgInRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDRiM2JmZWYzIC8vIG1ldGhvZCAidG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDA5MWFkMmFhIC8vIG1ldGhvZCAidG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiOWJmM2Y5NSAvLyBtZXRob2QgInRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NGY4ZDJkMmMgLy8gbWV0aG9kICJ0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNkNGEzN2QgLy8gbWV0aG9kICJ0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYzg3MjNkYSAvLyBtZXRob2QgInRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YzRjYzVlOTUgLy8gbWV0aG9kICJ0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaGFzQXNzZXQgKmFiaV9yb3V0ZV9hc3NldEJhbGFuY2UgKmFiaV9yb3V0ZV9hc3NldEZyb3plbiAqYWJpX3JvdXRlX2hhc0JhbGFuY2UgKmFiaV9yb3V0ZV9iYWxhbmNlICphYmlfcm91dGVfbWluQmFsYW5jZSAqYWJpX3JvdXRlX2F1dGhBZGRyICphYmlfcm91dGVfdG90YWxOdW1VaW50ICphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2UgKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXMgKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkICphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbiAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzICphYmlfcm91dGVfdG90YWxCb3hlcyAqYWJpX3JvdXRlX3RvdGFsQm94Qnl0ZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDEyMwoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGhhc0Fzc2V0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2hhc0Fzc2V0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQXNzZXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgaGFzQXNzZXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGhhc0Fzc2V0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNBc3NldChhOiBBZGRyZXNzKTogdm9pZApoYXNBc3NldDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NgoJLy8gYXNzZXJ0KGEuaXNPcHRlZEluVG9Bc3NldChBc3NldElELmZyb21VaW50NjQoMTIzKSkpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJaW50YyAyIC8vIDEyMwoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBhc3NldEJhbGFuY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXNzZXRCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRCYWxhbmNlIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFzc2V0QmFsYW5jZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXNzZXRCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEJhbGFuY2UoYTogQWRkcmVzcyk6IHZvaWQKYXNzZXRCYWxhbmNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEuYXNzZXRCYWxhbmNlKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2V0RnJvemVuKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJvemVuOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYXNzZXRGcm96ZW4gbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkCgljYWxsc3ViIGFzc2V0RnJvemVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldEZyb3plbihhOiBBZGRyZXNzKTogdm9pZAphc3NldEZyb3plbjoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MTQKCS8vIGFzc2VydChhLmFzc2V0RnJvemVuKEFzc2V0SUQuZnJvbVVpbnQ2NCgxMjMpKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglpbnRjIDIgLy8gMTIzCglhc3NldF9ob2xkaW5nX2dldCBBc3NldEZyb3plbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gaGFzQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9oYXNCYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgaGFzQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBoYXNCYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBoYXNCYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmhhc0JhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoYS5pc0luTGVkZ2VyKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9iYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBiYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBiYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCmJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoYS5iYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gbWluQmFsYW5jZShhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9taW5CYWxhbmNlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbWluQmFsYW5jZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBtaW5CYWxhbmNlKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBtaW5CYWxhbmNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtaW5CYWxhbmNlKGE6IEFkZHJlc3MpOiB2b2lkCm1pbkJhbGFuY2U6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoYS5taW5CYWxhbmNlKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gYXV0aEFkZHIoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfYXV0aEFkZHI6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBhdXRoQWRkciBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBhdXRoQWRkcihhZGRyZXNzKXZvaWQKCWNhbGxzdWIgYXV0aEFkZHIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGF1dGhBZGRyKGE6IEFkZHJlc3MpOiB2b2lkCmF1dGhBZGRyOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozMAoJLy8gbG9nKGEuYXV0aEFkZHIpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RBdXRoQWRkcgoJcG9wCglsb2cKCXJldHN1YgoKLy8gdG90YWxOdW1VaW50KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsTnVtVWludDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsTnVtVWludCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bVVpbnQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsTnVtVWludAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxOdW1VaW50KGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtVWludDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6MzQKCS8vIGFzc2VydChhLnRvdGFsTnVtVWludCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsTnVtVWludAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxOdW1CeXRlU2xpY2UoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2U6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbE51bUJ5dGVTbGljZSBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbE51bUJ5dGVTbGljZShhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxOdW1CeXRlU2xpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsTnVtQnl0ZVNsaWNlKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsTnVtQnl0ZVNsaWNlOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czozOAoJLy8gYXNzZXJ0KGEudG90YWxOdW1CeXRlU2xpY2UpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbE51bUJ5dGVTbGljZQoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsRXh0cmFBcHBQYWdlczoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsRXh0cmFBcHBQYWdlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEV4dHJhQXBwUGFnZXMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsRXh0cmFBcHBQYWdlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxFeHRyYUFwcFBhZ2VzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsRXh0cmFBcHBQYWdlczoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NDIKCS8vIGFzc2VydChhLnRvdGFsRXh0cmFBcHBQYWdlcykKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsRXh0cmFBcHBQYWdlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNDcmVhdGVkCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc0NyZWF0ZWQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoYS50b3RhbEFwcHNDcmVhdGVkKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBcHBzT3B0ZWRJbihhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEFwcHNPcHRlZEluOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxBcHBzT3B0ZWRJbiBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFwcHNPcHRlZEluKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEFwcHNPcHRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEFwcHNPcHRlZEluKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXBwc09wdGVkSW46Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoYS50b3RhbEFwcHNPcHRlZEluKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxBcHBzT3B0ZWRJbgoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHRvdGFsQXNzZXRzQ3JlYXRlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIHRvdGFsQXNzZXRzQ3JlYXRlZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdG90YWxBc3NldHNDcmVhdGVkKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzQ3JlYXRlZDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9hY2NvdW50LmFsZ28udHM6NTQKCS8vIGFzc2VydChhLnRvdGFsQXNzZXRzQ3JlYXRlZCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdFRvdGFsQXNzZXRzQ3JlYXRlZAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxBc3NldHMoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdG90YWxBc3NldHM6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciB0b3RhbEFzc2V0cyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdG90YWxBc3NldHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRvdGFsQXNzZXRzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQXNzZXRzOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2FjY291bnQuYWxnby50czo1OAoJLy8gYXNzZXJ0KGEudG90YWxBc3NldHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RUb3RhbEFzc2V0cwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoYS50b3RhbEJveGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gdG90YWxCb3hCeXRlcyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV90b3RhbEJveEJ5dGVzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgdG90YWxCb3hCeXRlcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiB0b3RhbEJveEJ5dGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0b3RhbEJveEJ5dGVzKGE6IEFkZHJlc3MpOiB2b2lkCnRvdGFsQm94Qnl0ZXM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYWNjb3VudC5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoYS50b3RhbEJveEJ5dGVzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0VG90YWxCb3hCeXRlcwoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhhYTM4YWU5MSAvLyBtZXRob2QgImhhc0Fzc2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY0Y2IwNjYxIC8vIG1ldGhvZCAiYXNzZXRCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDY4ZDE4ZGRiIC8vIG1ldGhvZCAiYXNzZXRGcm96ZW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MmFiZjFlZGUgLy8gbWV0aG9kICJoYXNCYWxhbmNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDg5OWU0NzlkIC8vIG1ldGhvZCAiYmFsYW5jZShhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHgyNThhMGZjYSAvLyBtZXRob2QgIm1pbkJhbGFuY2UoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmVjYzIxODMgLy8gbWV0aG9kICJhdXRoQWRkcihhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYjgxZTEwOSAvLyBtZXRob2QgInRvdGFsTnVtVWludChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg0NGQyMTVlMSAvLyBtZXRob2QgInRvdGFsTnVtQnl0ZVNsaWNlKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDRiM2JmZWYzIC8vIG1ldGhvZCAidG90YWxFeHRyYUFwcFBhZ2VzKGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDA5MWFkMmFhIC8vIG1ldGhvZCAidG90YWxBcHBzQ3JlYXRlZChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhiOWJmM2Y5NSAvLyBtZXRob2QgInRvdGFsQXBwc09wdGVkSW4oYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4NGY4ZDJkMmMgLy8gbWV0aG9kICJ0b3RhbEFzc2V0c0NyZWF0ZWQoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4MTNkNGEzN2QgLy8gbWV0aG9kICJ0b3RhbEFzc2V0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhmYzg3MjNkYSAvLyBtZXRob2QgInRvdGFsQm94ZXMoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YzRjYzVlOTUgLy8gbWV0aG9kICJ0b3RhbEJveEJ5dGVzKGFkZHJlc3Mpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfaGFzQXNzZXQgKmFiaV9yb3V0ZV9hc3NldEJhbGFuY2UgKmFiaV9yb3V0ZV9hc3NldEZyb3plbiAqYWJpX3JvdXRlX2hhc0JhbGFuY2UgKmFiaV9yb3V0ZV9iYWxhbmNlICphYmlfcm91dGVfbWluQmFsYW5jZSAqYWJpX3JvdXRlX2F1dGhBZGRyICphYmlfcm91dGVfdG90YWxOdW1VaW50ICphYmlfcm91dGVfdG90YWxOdW1CeXRlU2xpY2UgKmFiaV9yb3V0ZV90b3RhbEV4dHJhQXBwUGFnZXMgKmFiaV9yb3V0ZV90b3RhbEFwcHNDcmVhdGVkICphYmlfcm91dGVfdG90YWxBcHBzT3B0ZWRJbiAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzQ3JlYXRlZCAqYWJpX3JvdXRlX3RvdGFsQXNzZXRzICphYmlfcm91dGVfdG90YWxCb3hlcyAqYWJpX3JvdXRlX3RvdGFsQm94Qnl0ZXMKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/B.approval.teal b/tests/contracts/artifacts/B.approval.teal index 1024cdd8c..ea9cc47ac 100644 --- a/tests/contracts/artifacts/B.approval.teal +++ b/tests/contracts/artifacts/B.approval.teal @@ -2,7 +2,7 @@ intcblock 1 1337 bytecblock 0x61 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/B.arc32.json b/tests/contracts/artifacts/B.arc32.json index 01a3a004a..10802e439 100644 --- a/tests/contracts/artifacts/B.arc32.json +++ b/tests/contracts/artifacts/B.arc32.json @@ -53,7 +53,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2FjOTBiMDggLy8gbWV0aG9kICJiKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2FjOTBiMDggLy8gbWV0aG9kICJiKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/B.arc56_draft.json b/tests/contracts/artifacts/B.arc56_draft.json index 65dab2b5d..93122ce9a 100644 --- a/tests/contracts/artifacts/B.arc56_draft.json +++ b/tests/contracts/artifacts/B.arc56_draft.json @@ -473,7 +473,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2FjOTBiMDggLy8gbWV0aG9kICJiKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MWU3YWFkMWMgLy8gbWV0aG9kICJhKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2FjOTBiMDggLy8gbWV0aG9kICJiKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/B2.approval.teal b/tests/contracts/artifacts/B2.approval.teal index 3b39813a3..1694f3f9a 100644 --- a/tests/contracts/artifacts/B2.approval.teal +++ b/tests/contracts/artifacts/B2.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/B2.arc32.json b/tests/contracts/artifacts/B2.arc32.json index ddc53531b..f35f3dd1e 100644 --- a/tests/contracts/artifacts/B2.arc32.json +++ b/tests/contracts/artifacts/B2.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/B2.arc56_draft.json b/tests/contracts/artifacts/B2.arc56_draft.json index 182200f3c..8f6e91da1 100644 --- a/tests/contracts/artifacts/B2.arc56_draft.json +++ b/tests/contracts/artifacts/B2.arc56_draft.json @@ -418,7 +418,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJcHVzaGJ5dGVzIDB4NjEgLy8gImEiCglwdXNoaW50IDEzMzcKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9hICphYmlfcm91dGVfYjIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/BasicLsig.lsig.teal b/tests/contracts/artifacts/BasicLsig.lsig.teal index d27453180..65f4a3637 100644 --- a/tests/contracts/artifacts/BasicLsig.lsig.teal +++ b/tests/contracts/artifacts/BasicLsig.lsig.teal @@ -2,7 +2,7 @@ //#pragma mode logicsig intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // The address of this logic signature is XBBFEDSZ6KEUC76ZFV5LUYHAYYRKAXRJ7FYUSBWIBTNA4HUYLMHGKGYXPU diff --git a/tests/contracts/artifacts/BinaryTest.approval.teal b/tests/contracts/artifacts/BinaryTest.approval.teal index 6512e22b3..f589ac8fa 100644 --- a/tests/contracts/artifacts/BinaryTest.approval.teal +++ b/tests/contracts/artifacts/BinaryTest.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/BinaryTest.arc32.json b/tests/contracts/artifacts/BinaryTest.arc32.json index dee6a1213..822f3dd2c 100644 --- a/tests/contracts/artifacts/BinaryTest.arc32.json +++ b/tests/contracts/artifacts/BinaryTest.arc32.json @@ -74,7 +74,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2FuZDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBhbmQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYW5kOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjYKCS8vIGFzc2VydChhICYmIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgb3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEgfHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfHwKCipza2lwX29yMDoKCWFzc2VydAoJcmV0c3ViCgovLyBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9lcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKZXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTQKCS8vIGFzc2VydChhID09PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9ub3RFcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbm90RXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG5vdEVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub3RFcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKbm90RXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTgKCS8vIGFzc2VydChhICE9PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJIT0KCWFzc2VydAoJcmV0c3ViCgovLyBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0QW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdEFuZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0QW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRBbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjIKCS8vIGFzc2VydChhICYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRPcjoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0T3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdE9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXRPcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYml0T3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjYKCS8vIGFzc2VydChhIHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0WG9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdFhvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0WG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRYb3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzAKCS8vIGFzc2VydChhIF4gYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCWFzc2VydAoJcmV0c3ViCgovLyBjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY29tYm86CgkvLyBjOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY29tYm8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbWJvKGE6IHVpbnQ2NCwgYjogdWludDY0LCBjOiB1aW50NjQpOiB2b2lkCmNvbWJvOgoJcHJvdG8gMyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYSB8fCAoYiAmJiBjKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTMgLy8gYzogdWludDY0CgkmJgoKKnNraXBfYW5kMToKCXx8Cgoqc2tpcF9vcjE6Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ZmQxM2ExMyAvLyBtZXRob2QgImFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3MDBhYTg4NyAvLyBtZXRob2QgIm9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDcyM2M4N2VmIC8vIG1ldGhvZCAiZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTdmZmI5ZDMgLy8gbWV0aG9kICJub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg5Mjg1MTg4ZSAvLyBtZXRob2QgImJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1OTJkYzczZiAvLyBtZXRob2QgImJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDZkNDY1MDRhIC8vIG1ldGhvZCAiYml0WG9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc0ZGM1MTUwIC8vIG1ldGhvZCAiY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5kICphYmlfcm91dGVfb3IgKmFiaV9yb3V0ZV9lcXVhbCAqYWJpX3JvdXRlX25vdEVxdWFsICphYmlfcm91dGVfYml0QW5kICphYmlfcm91dGVfYml0T3IgKmFiaV9yb3V0ZV9iaXRYb3IgKmFiaV9yb3V0ZV9jb21ibwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2FuZDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBhbmQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYW5kOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjYKCS8vIGFzc2VydChhICYmIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgb3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEgfHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfHwKCipza2lwX29yMDoKCWFzc2VydAoJcmV0c3ViCgovLyBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9lcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKZXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTQKCS8vIGFzc2VydChhID09PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9ub3RFcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbm90RXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG5vdEVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub3RFcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKbm90RXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTgKCS8vIGFzc2VydChhICE9PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJIT0KCWFzc2VydAoJcmV0c3ViCgovLyBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0QW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdEFuZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0QW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRBbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjIKCS8vIGFzc2VydChhICYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRPcjoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0T3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdE9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXRPcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYml0T3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjYKCS8vIGFzc2VydChhIHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0WG9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdFhvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0WG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRYb3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzAKCS8vIGFzc2VydChhIF4gYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCWFzc2VydAoJcmV0c3ViCgovLyBjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY29tYm86CgkvLyBjOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY29tYm8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbWJvKGE6IHVpbnQ2NCwgYjogdWludDY0LCBjOiB1aW50NjQpOiB2b2lkCmNvbWJvOgoJcHJvdG8gMyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYSB8fCAoYiAmJiBjKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTMgLy8gYzogdWludDY0CgkmJgoKKnNraXBfYW5kMToKCXx8Cgoqc2tpcF9vcjE6Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ZmQxM2ExMyAvLyBtZXRob2QgImFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3MDBhYTg4NyAvLyBtZXRob2QgIm9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDcyM2M4N2VmIC8vIG1ldGhvZCAiZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTdmZmI5ZDMgLy8gbWV0aG9kICJub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg5Mjg1MTg4ZSAvLyBtZXRob2QgImJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1OTJkYzczZiAvLyBtZXRob2QgImJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDZkNDY1MDRhIC8vIG1ldGhvZCAiYml0WG9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc0ZGM1MTUwIC8vIG1ldGhvZCAiY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5kICphYmlfcm91dGVfb3IgKmFiaV9yb3V0ZV9lcXVhbCAqYWJpX3JvdXRlX25vdEVxdWFsICphYmlfcm91dGVfYml0QW5kICphYmlfcm91dGVfYml0T3IgKmFiaV9yb3V0ZV9iaXRYb3IgKmFiaV9yb3V0ZV9jb21ibwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/BinaryTest.arc56_draft.json b/tests/contracts/artifacts/BinaryTest.arc56_draft.json index 9c744f037..b8f3b5297 100644 --- a/tests/contracts/artifacts/BinaryTest.arc56_draft.json +++ b/tests/contracts/artifacts/BinaryTest.arc56_draft.json @@ -1433,7 +1433,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2FuZDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBhbmQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYW5kOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjYKCS8vIGFzc2VydChhICYmIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgb3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEgfHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfHwKCipza2lwX29yMDoKCWFzc2VydAoJcmV0c3ViCgovLyBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9lcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKZXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTQKCS8vIGFzc2VydChhID09PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9ub3RFcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbm90RXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG5vdEVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub3RFcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKbm90RXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTgKCS8vIGFzc2VydChhICE9PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJIT0KCWFzc2VydAoJcmV0c3ViCgovLyBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0QW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdEFuZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0QW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRBbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjIKCS8vIGFzc2VydChhICYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRPcjoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0T3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdE9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXRPcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYml0T3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjYKCS8vIGFzc2VydChhIHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0WG9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdFhvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0WG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRYb3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzAKCS8vIGFzc2VydChhIF4gYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCWFzc2VydAoJcmV0c3ViCgovLyBjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY29tYm86CgkvLyBjOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY29tYm8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbWJvKGE6IHVpbnQ2NCwgYjogdWludDY0LCBjOiB1aW50NjQpOiB2b2lkCmNvbWJvOgoJcHJvdG8gMyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYSB8fCAoYiAmJiBjKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTMgLy8gYzogdWludDY0CgkmJgoKKnNraXBfYW5kMToKCXx8Cgoqc2tpcF9vcjE6Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ZmQxM2ExMyAvLyBtZXRob2QgImFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3MDBhYTg4NyAvLyBtZXRob2QgIm9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDcyM2M4N2VmIC8vIG1ldGhvZCAiZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTdmZmI5ZDMgLy8gbWV0aG9kICJub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg5Mjg1MTg4ZSAvLyBtZXRob2QgImJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1OTJkYzczZiAvLyBtZXRob2QgImJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDZkNDY1MDRhIC8vIG1ldGhvZCAiYml0WG9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc0ZGM1MTUwIC8vIG1ldGhvZCAiY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5kICphYmlfcm91dGVfb3IgKmFiaV9yb3V0ZV9lcXVhbCAqYWJpX3JvdXRlX25vdEVxdWFsICphYmlfcm91dGVfYml0QW5kICphYmlfcm91dGVfYml0T3IgKmFiaV9yb3V0ZV9iaXRYb3IgKmFiaV9yb3V0ZV9jb21ibwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX2FuZDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYW5kKHVpbnQ2NCx1aW50NjQpdm9pZAoJY2FsbHN1YiBhbmQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYW5kOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjYKCS8vIGFzc2VydChhICYmIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYmCgoqc2tpcF9hbmQwOgoJYXNzZXJ0CglyZXRzdWIKCi8vIG9yKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBvcih1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgb3IKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApvcjoKCXByb3RvIDIgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9iaW5hcnkuYWxnby50czoxMAoJLy8gYXNzZXJ0KGEgfHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJfHwKCipza2lwX29yMDoKCWFzc2VydAoJcmV0c3ViCgovLyBlcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9lcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKZXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTQKCS8vIGFzc2VydChhID09PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9ub3RFcXVhbDoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgbm90RXF1YWwodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG5vdEVxdWFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBub3RFcXVhbChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKbm90RXF1YWw6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MTgKCS8vIGFzc2VydChhICE9PSBiKQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJIT0KCWFzc2VydAoJcmV0c3ViCgovLyBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0QW5kOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRBbmQodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdEFuZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0QW5kKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRBbmQ6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjIKCS8vIGFzc2VydChhICYgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRPcih1aW50NjQsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9iaXRPcjoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0T3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdE9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXRPcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHZvaWQKYml0T3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MjYKCS8vIGFzc2VydChhIHwgYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfYml0WG9yOgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXRYb3IodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIGJpdFhvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0WG9yKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdm9pZApiaXRYb3I6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvYmluYXJ5LmFsZ28udHM6MzAKCS8vIGFzc2VydChhIF4gYikKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCWFzc2VydAoJcmV0c3ViCgovLyBjb21ibyh1aW50NjQsdWludDY0LHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfY29tYm86CgkvLyBjOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWJ0b2kKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNvbWJvKHVpbnQ2NCx1aW50NjQsdWludDY0KXZvaWQKCWNhbGxzdWIgY29tYm8KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbWJvKGE6IHVpbnQ2NCwgYjogdWludDY0LCBjOiB1aW50NjQpOiB2b2lkCmNvbWJvOgoJcHJvdG8gMyAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2JpbmFyeS5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoYSB8fCAoYiAmJiBjKSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWR1cAoJYm56ICpza2lwX29yMQoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTMgLy8gYzogdWludDY0CgkmJgoKKnNraXBfYW5kMToKCXx8Cgoqc2tpcF9vcjE6Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg2ZmQxM2ExMyAvLyBtZXRob2QgImFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg3MDBhYTg4NyAvLyBtZXRob2QgIm9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDcyM2M4N2VmIC8vIG1ldGhvZCAiZXF1YWwodWludDY0LHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTdmZmI5ZDMgLy8gbWV0aG9kICJub3RFcXVhbCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg5Mjg1MTg4ZSAvLyBtZXRob2QgImJpdEFuZCh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1OTJkYzczZiAvLyBtZXRob2QgImJpdE9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDZkNDY1MDRhIC8vIG1ldGhvZCAiYml0WG9yKHVpbnQ2NCx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweDc0ZGM1MTUwIC8vIG1ldGhvZCAiY29tYm8odWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYW5kICphYmlfcm91dGVfb3IgKmFiaV9yb3V0ZV9lcXVhbCAqYWJpX3JvdXRlX25vdEVxdWFsICphYmlfcm91dGVfYml0QW5kICphYmlfcm91dGVfYml0T3IgKmFiaV9yb3V0ZV9iaXRYb3IgKmFiaV9yb3V0ZV9jb21ibwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/BytecblockTest.approval.teal b/tests/contracts/artifacts/BytecblockTest.approval.teal index 7e31d68bf..931ff81f6 100644 --- a/tests/contracts/artifacts/BytecblockTest.approval.teal +++ b/tests/contracts/artifacts/BytecblockTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 6 bytecblock 0x6279746556616c7565 0x0a8101 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/BytecblockTest.arc32.json b/tests/contracts/artifacts/BytecblockTest.arc32.json index fb3778330..dfc7dccb4 100644 --- a/tests/contracts/artifacts/BytecblockTest.arc32.json +++ b/tests/contracts/artifacts/BytecblockTest.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKYnl0ZWNibG9jayAweDYyNzk3NDY1NTY2MTZjNzU2NSAweDBhODEwMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmcKKmFiaV9yb3V0ZV9sYXJnZUJ5dGVjYmxvY2s6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZUJ5dGVjYmxvY2soKXN0cmluZwoJY2FsbHN1YiBsYXJnZUJ5dGVjYmxvY2sKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKCk6IHN0cmluZwpsYXJnZUJ5dGVjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyIC8vICIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMyAvLyAiMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQgLy8gIjQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1IC8vICI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNiAvLyAiNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzcgLy8gIjciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjgyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4IC8vICI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOSAvLyAiOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzAgLy8gIjEwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzMSAvLyAiMTEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyIC8vICIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzMgLy8gIjEzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNCAvLyAiMTQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1IC8vICIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzYgLy8gIjE2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNyAvLyAiMTciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjkyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4IC8vICIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzkgLy8gIjE5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMCAvLyAiMjAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxIC8vICIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzIgLy8gIjIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMyAvLyAiMjMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0IC8vICIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzUgLy8gIjI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzNiAvLyAiMjYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzAxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM3IC8vICIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzggLy8gIjI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzOSAvLyAiMjkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMwIC8vICIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzMxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzEgLy8gIjMxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzMiAvLyAiMzIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMzIC8vICIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzQgLy8gIjM0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzNSAvLyAiMzUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM2IC8vICIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzcgLy8gIjM3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxMgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzOCAvLyAiMzgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM5IC8vICIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzAgLy8gIjQwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxNQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzMSAvLyAiNDEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDMyIC8vICI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzMgLy8gIjQzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxOAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNCAvLyAiNDQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM1IC8vICI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzYgLy8gIjQ2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyMQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNyAvLyAiNDciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzIyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM4IC8vICI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzkgLy8gIjQ5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMCAvLyAiNTAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTMxIC8vICI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzUyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzIgLy8gIjUyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMyAvLyAiNTMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM0IC8vICI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzUgLy8gIjU1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzNiAvLyAiNTYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzMxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM3IC8vICI1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzggLy8gIjU4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzOSAvLyAiNTkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMwIC8vICI2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzYxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzEgLy8gIjYxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzMiAvLyAiNjIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMzIC8vICI2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzQgLy8gIjY0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzNSAvLyAiNjUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM2IC8vICI2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzcgLy8gIjY3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzOCAvLyAiNjgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM5IC8vICI2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzAgLy8gIjcwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczMSAvLyAiNzEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzMyIC8vICI3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzczJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzMgLy8gIjczIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNCAvLyAiNzQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM1IC8vICI3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzYgLy8gIjc2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNyAvLyAiNzciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzUyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM4IC8vICI3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzkgLy8gIjc5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMCAvLyAiODAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODMxIC8vICI4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzgyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzIgLy8gIjgyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMyAvLyAiODMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM0IC8vICI4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzUgLy8gIjg1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzNiAvLyAiODYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzYxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM3IC8vICI4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzggLy8gIjg4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzOSAvLyAiODkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMwIC8vICI5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzkxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzEgLy8gIjkxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2NgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzMiAvLyAiOTIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMzIC8vICI5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzQgLy8gIjk0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2OQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzNSAvLyAiOTUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzcwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM2IC8vICI5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzcgLy8gIjk3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzOCAvLyAiOTgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzczCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM5IC8vICI5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzAgLy8gIjEwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzEgLy8gIjEwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzIgLy8gIjEwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzMgLy8gIjEwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzQgLy8gIjEwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzUgLy8gIjEwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzYgLy8gIjEwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzcgLy8gIjEwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzggLy8gIjEwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzkgLy8gIjEwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzAgLy8gIjExMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzEgLy8gIjExMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzIgLy8gIjExMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzMgLy8gIjExMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzQgLy8gIjExNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzUgLy8gIjExNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzYgLy8gIjExNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzcgLy8gIjExNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzggLy8gIjExOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzkgLy8gIjExOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzAgLy8gIjEyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzEgLy8gIjEyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzIgLy8gIjEyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzMgLy8gIjEyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzQgLy8gIjEyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzUgLy8gIjEyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzYgLy8gIjEyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzcgLy8gIjEyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzggLy8gIjEyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzkgLy8gIjEyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzAgLy8gIjEzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzEgLy8gIjEzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzIgLy8gIjEzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzMgLy8gIjEzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzQgLy8gIjEzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzUgLy8gIjEzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzYgLy8gIjEzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzcgLy8gIjEzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzggLy8gIjEzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzkgLy8gIjEzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzAgLy8gIjE0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzEgLy8gIjE0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzIgLy8gIjE0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzMgLy8gIjE0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzQgLy8gIjE0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzUgLy8gIjE0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzYgLy8gIjE0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzcgLy8gIjE0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzggLy8gIjE0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzkgLy8gIjE0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzAgLy8gIjE1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzEgLy8gIjE1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzIgLy8gIjE1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzMgLy8gIjE1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzQgLy8gIjE1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzUgLy8gIjE1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzYgLy8gIjE1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzcgLy8gIjE1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzggLy8gIjE1OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzkgLy8gIjE1OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzAgLy8gIjE2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzEgLy8gIjE2MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzIgLy8gIjE2MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzMgLy8gIjE2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzQgLy8gIjE2NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzUgLy8gIjE2NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzYgLy8gIjE2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzcgLy8gIjE2NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzggLy8gIjE2OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzkgLy8gIjE2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzAgLy8gIjE3MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzEgLy8gIjE3MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzIgLy8gIjE3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzMgLy8gIjE3MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzQgLy8gIjE3NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzUgLy8gIjE3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzYgLy8gIjE3NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzcgLy8gIjE3NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzggLy8gIjE3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzkgLy8gIjE3OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzAgLy8gIjE4MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzEgLy8gIjE4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzIgLy8gIjE4MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzMgLy8gIjE4MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzQgLy8gIjE4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzUgLy8gIjE4NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzYgLy8gIjE4NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzcgLy8gIjE4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzggLy8gIjE4OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzkgLy8gIjE4OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzAgLy8gIjE5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzEgLy8gIjE5MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzIgLy8gIjE5MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzMgLy8gIjE5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzQgLy8gIjE5NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzUgLy8gIjE5NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzYgLy8gIjE5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzcgLy8gIjE5NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzggLy8gIjE5OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzkgLy8gIjE5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzAgLy8gIjIwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzEgLy8gIjIwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzIgLy8gIjIwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzMgLy8gIjIwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzQgLy8gIjIwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzUgLy8gIjIwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzYgLy8gIjIwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzcgLy8gIjIwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzggLy8gIjIwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzkgLy8gIjIwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzAgLy8gIjIxMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzEgLy8gIjIxMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzIgLy8gIjIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzMgLy8gIjIxMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzQgLy8gIjIxNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzUgLy8gIjIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzYgLy8gIjIxNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzcgLy8gIjIxNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzggLy8gIjIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzkgLy8gIjIxOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzAgLy8gIjIyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzEgLy8gIjIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzIgLy8gIjIyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzMgLy8gIjIyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzQgLy8gIjIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzUgLy8gIjIyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzYgLy8gIjIyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzcgLy8gIjIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzggLy8gIjIyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzkgLy8gIjIyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzAgLy8gIjIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzEgLy8gIjIzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzIgLy8gIjIzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzMgLy8gIjIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzQgLy8gIjIzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzUgLy8gIjIzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzYgLy8gIjIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzcgLy8gIjIzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzggLy8gIjIzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzkgLy8gIjIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzAgLy8gIjI0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzEgLy8gIjI0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzIgLy8gIjI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzMgLy8gIjI0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzQgLy8gIjI0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzUgLy8gIjI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzYgLy8gIjI0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzcgLy8gIjI0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzggLy8gIjI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzkgLy8gIjI0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzAgLy8gIjI1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzEgLy8gIjI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzIgLy8gIjI1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzMgLy8gIjI1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzQgLy8gIjI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzUgLy8gIjI1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzYgLy8gIjI1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0KCS8vICAgICAgICdUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4NTQ2ODY5NzMyMDY5NzMyMDYxMjA2NjYxNjk3MjZjNzkyMDZjNmY2ZTY3MjA2Mjc5NzQ2NTczNmM2OTYzNjUyMDc0Njg2MTc0MjA3MzY4NmY3NTZjNjQyMDYyNjUyMDcwNzU3NDIwNjk2ZTIwNzQ2ODY1MjA2MzZmNmU3MzYxNmU3NDIwNjI2YzZmNjM2YjIwNjI2NTYzNjE3NTczNjUyMDY5NzQyMDY5NzMyMDczNmYyMDZjNmY2ZTY3IC8vICJUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gYSArIGI7CglwdXNoYnl0ZXMgIjEiCglwdXNoYnl0ZXMgIjI1NyIKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGIxMzc1N2QyIC8vIG1ldGhvZCAibGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlQnl0ZWNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKYnl0ZWNibG9jayAweDYyNzk3NDY1NTY2MTZjNzU2NSAweDBhODEwMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmcKKmFiaV9yb3V0ZV9sYXJnZUJ5dGVjYmxvY2s6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZUJ5dGVjYmxvY2soKXN0cmluZwoJY2FsbHN1YiBsYXJnZUJ5dGVjYmxvY2sKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKCk6IHN0cmluZwpsYXJnZUJ5dGVjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyIC8vICIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMyAvLyAiMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQgLy8gIjQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1IC8vICI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNiAvLyAiNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzcgLy8gIjciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjgyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4IC8vICI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOSAvLyAiOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzAgLy8gIjEwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzMSAvLyAiMTEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyIC8vICIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzMgLy8gIjEzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNCAvLyAiMTQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1IC8vICIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzYgLy8gIjE2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNyAvLyAiMTciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjkyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4IC8vICIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzkgLy8gIjE5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMCAvLyAiMjAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxIC8vICIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzIgLy8gIjIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMyAvLyAiMjMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0IC8vICIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzUgLy8gIjI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzNiAvLyAiMjYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzAxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM3IC8vICIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzggLy8gIjI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzOSAvLyAiMjkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMwIC8vICIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzMxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzEgLy8gIjMxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzMiAvLyAiMzIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMzIC8vICIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzQgLy8gIjM0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzNSAvLyAiMzUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM2IC8vICIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzcgLy8gIjM3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxMgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzOCAvLyAiMzgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM5IC8vICIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzAgLy8gIjQwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxNQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzMSAvLyAiNDEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDMyIC8vICI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzMgLy8gIjQzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxOAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNCAvLyAiNDQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM1IC8vICI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzYgLy8gIjQ2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyMQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNyAvLyAiNDciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzIyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM4IC8vICI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzkgLy8gIjQ5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMCAvLyAiNTAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTMxIC8vICI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzUyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzIgLy8gIjUyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMyAvLyAiNTMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM0IC8vICI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzUgLy8gIjU1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzNiAvLyAiNTYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzMxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM3IC8vICI1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzggLy8gIjU4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzOSAvLyAiNTkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMwIC8vICI2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzYxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzEgLy8gIjYxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzMiAvLyAiNjIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMzIC8vICI2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzQgLy8gIjY0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzNSAvLyAiNjUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM2IC8vICI2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzcgLy8gIjY3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzOCAvLyAiNjgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM5IC8vICI2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzAgLy8gIjcwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczMSAvLyAiNzEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzMyIC8vICI3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzczJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzMgLy8gIjczIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNCAvLyAiNzQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM1IC8vICI3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzYgLy8gIjc2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNyAvLyAiNzciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzUyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM4IC8vICI3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzkgLy8gIjc5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMCAvLyAiODAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODMxIC8vICI4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzgyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzIgLy8gIjgyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMyAvLyAiODMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM0IC8vICI4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzUgLy8gIjg1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzNiAvLyAiODYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzYxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM3IC8vICI4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzggLy8gIjg4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzOSAvLyAiODkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMwIC8vICI5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzkxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzEgLy8gIjkxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2NgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzMiAvLyAiOTIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMzIC8vICI5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzQgLy8gIjk0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2OQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzNSAvLyAiOTUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzcwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM2IC8vICI5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzcgLy8gIjk3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzOCAvLyAiOTgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzczCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM5IC8vICI5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzAgLy8gIjEwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzEgLy8gIjEwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzIgLy8gIjEwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzMgLy8gIjEwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzQgLy8gIjEwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzUgLy8gIjEwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzYgLy8gIjEwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzcgLy8gIjEwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzggLy8gIjEwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzkgLy8gIjEwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzAgLy8gIjExMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzEgLy8gIjExMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzIgLy8gIjExMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzMgLy8gIjExMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzQgLy8gIjExNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzUgLy8gIjExNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzYgLy8gIjExNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzcgLy8gIjExNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzggLy8gIjExOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzkgLy8gIjExOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzAgLy8gIjEyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzEgLy8gIjEyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzIgLy8gIjEyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzMgLy8gIjEyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzQgLy8gIjEyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzUgLy8gIjEyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzYgLy8gIjEyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzcgLy8gIjEyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzggLy8gIjEyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzkgLy8gIjEyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzAgLy8gIjEzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzEgLy8gIjEzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzIgLy8gIjEzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzMgLy8gIjEzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzQgLy8gIjEzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzUgLy8gIjEzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzYgLy8gIjEzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzcgLy8gIjEzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzggLy8gIjEzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzkgLy8gIjEzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzAgLy8gIjE0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzEgLy8gIjE0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzIgLy8gIjE0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzMgLy8gIjE0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzQgLy8gIjE0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzUgLy8gIjE0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzYgLy8gIjE0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzcgLy8gIjE0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzggLy8gIjE0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzkgLy8gIjE0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzAgLy8gIjE1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzEgLy8gIjE1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzIgLy8gIjE1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzMgLy8gIjE1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzQgLy8gIjE1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzUgLy8gIjE1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzYgLy8gIjE1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzcgLy8gIjE1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzggLy8gIjE1OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzkgLy8gIjE1OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzAgLy8gIjE2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzEgLy8gIjE2MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzIgLy8gIjE2MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzMgLy8gIjE2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzQgLy8gIjE2NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzUgLy8gIjE2NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzYgLy8gIjE2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzcgLy8gIjE2NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzggLy8gIjE2OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzkgLy8gIjE2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzAgLy8gIjE3MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzEgLy8gIjE3MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzIgLy8gIjE3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzMgLy8gIjE3MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzQgLy8gIjE3NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzUgLy8gIjE3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzYgLy8gIjE3NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzcgLy8gIjE3NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzggLy8gIjE3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzkgLy8gIjE3OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzAgLy8gIjE4MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzEgLy8gIjE4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzIgLy8gIjE4MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzMgLy8gIjE4MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzQgLy8gIjE4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzUgLy8gIjE4NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzYgLy8gIjE4NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzcgLy8gIjE4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzggLy8gIjE4OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzkgLy8gIjE4OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzAgLy8gIjE5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzEgLy8gIjE5MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzIgLy8gIjE5MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzMgLy8gIjE5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzQgLy8gIjE5NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzUgLy8gIjE5NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzYgLy8gIjE5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzcgLy8gIjE5NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzggLy8gIjE5OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzkgLy8gIjE5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzAgLy8gIjIwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzEgLy8gIjIwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzIgLy8gIjIwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzMgLy8gIjIwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzQgLy8gIjIwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzUgLy8gIjIwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzYgLy8gIjIwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzcgLy8gIjIwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzggLy8gIjIwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzkgLy8gIjIwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzAgLy8gIjIxMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzEgLy8gIjIxMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzIgLy8gIjIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzMgLy8gIjIxMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzQgLy8gIjIxNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzUgLy8gIjIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzYgLy8gIjIxNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzcgLy8gIjIxNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzggLy8gIjIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzkgLy8gIjIxOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzAgLy8gIjIyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzEgLy8gIjIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzIgLy8gIjIyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzMgLy8gIjIyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzQgLy8gIjIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzUgLy8gIjIyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzYgLy8gIjIyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzcgLy8gIjIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzggLy8gIjIyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzkgLy8gIjIyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzAgLy8gIjIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzEgLy8gIjIzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzIgLy8gIjIzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzMgLy8gIjIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzQgLy8gIjIzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzUgLy8gIjIzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzYgLy8gIjIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzcgLy8gIjIzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzggLy8gIjIzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzkgLy8gIjIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzAgLy8gIjI0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzEgLy8gIjI0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzIgLy8gIjI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzMgLy8gIjI0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzQgLy8gIjI0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzUgLy8gIjI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzYgLy8gIjI0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzcgLy8gIjI0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzggLy8gIjI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzkgLy8gIjI0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzAgLy8gIjI1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzEgLy8gIjI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzIgLy8gIjI1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzMgLy8gIjI1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzQgLy8gIjI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzUgLy8gIjI1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzYgLy8gIjI1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0KCS8vICAgICAgICdUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4NTQ2ODY5NzMyMDY5NzMyMDYxMjA2NjYxNjk3MjZjNzkyMDZjNmY2ZTY3MjA2Mjc5NzQ2NTczNmM2OTYzNjUyMDc0Njg2MTc0MjA3MzY4NmY3NTZjNjQyMDYyNjUyMDcwNzU3NDIwNjk2ZTIwNzQ2ODY1MjA2MzZmNmU3MzYxNmU3NDIwNjI2YzZmNjM2YjIwNjI2NTYzNjE3NTczNjUyMDY5NzQyMDY5NzMyMDczNmYyMDZjNmY2ZTY3IC8vICJUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gYSArIGI7CglwdXNoYnl0ZXMgIjEiCglwdXNoYnl0ZXMgIjI1NyIKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGIxMzc1N2QyIC8vIG1ldGhvZCAibGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlQnl0ZWNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/BytecblockTest.arc56_draft.json b/tests/contracts/artifacts/BytecblockTest.arc56_draft.json index 557bb30b5..8fb154d92 100644 --- a/tests/contracts/artifacts/BytecblockTest.arc56_draft.json +++ b/tests/contracts/artifacts/BytecblockTest.arc56_draft.json @@ -6904,7 +6904,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKYnl0ZWNibG9jayAweDYyNzk3NDY1NTY2MTZjNzU2NSAweDBhODEwMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmcKKmFiaV9yb3V0ZV9sYXJnZUJ5dGVjYmxvY2s6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZUJ5dGVjYmxvY2soKXN0cmluZwoJY2FsbHN1YiBsYXJnZUJ5dGVjYmxvY2sKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKCk6IHN0cmluZwpsYXJnZUJ5dGVjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyIC8vICIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMyAvLyAiMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQgLy8gIjQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1IC8vICI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNiAvLyAiNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzcgLy8gIjciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjgyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4IC8vICI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOSAvLyAiOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzAgLy8gIjEwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzMSAvLyAiMTEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyIC8vICIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzMgLy8gIjEzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNCAvLyAiMTQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1IC8vICIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzYgLy8gIjE2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNyAvLyAiMTciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjkyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4IC8vICIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzkgLy8gIjE5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMCAvLyAiMjAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxIC8vICIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzIgLy8gIjIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMyAvLyAiMjMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0IC8vICIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzUgLy8gIjI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzNiAvLyAiMjYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzAxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM3IC8vICIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzggLy8gIjI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzOSAvLyAiMjkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMwIC8vICIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzMxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzEgLy8gIjMxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzMiAvLyAiMzIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMzIC8vICIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzQgLy8gIjM0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzNSAvLyAiMzUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM2IC8vICIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzcgLy8gIjM3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxMgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzOCAvLyAiMzgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM5IC8vICIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzAgLy8gIjQwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxNQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzMSAvLyAiNDEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDMyIC8vICI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzMgLy8gIjQzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxOAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNCAvLyAiNDQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM1IC8vICI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzYgLy8gIjQ2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyMQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNyAvLyAiNDciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzIyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM4IC8vICI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzkgLy8gIjQ5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMCAvLyAiNTAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTMxIC8vICI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzUyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzIgLy8gIjUyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMyAvLyAiNTMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM0IC8vICI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzUgLy8gIjU1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzNiAvLyAiNTYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzMxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM3IC8vICI1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzggLy8gIjU4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzOSAvLyAiNTkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMwIC8vICI2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzYxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzEgLy8gIjYxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzMiAvLyAiNjIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMzIC8vICI2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzQgLy8gIjY0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzNSAvLyAiNjUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM2IC8vICI2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzcgLy8gIjY3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzOCAvLyAiNjgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM5IC8vICI2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzAgLy8gIjcwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczMSAvLyAiNzEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzMyIC8vICI3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzczJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzMgLy8gIjczIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNCAvLyAiNzQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM1IC8vICI3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzYgLy8gIjc2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNyAvLyAiNzciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzUyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM4IC8vICI3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzkgLy8gIjc5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMCAvLyAiODAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODMxIC8vICI4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzgyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzIgLy8gIjgyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMyAvLyAiODMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM0IC8vICI4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzUgLy8gIjg1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzNiAvLyAiODYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzYxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM3IC8vICI4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzggLy8gIjg4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzOSAvLyAiODkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMwIC8vICI5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzkxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzEgLy8gIjkxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2NgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzMiAvLyAiOTIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMzIC8vICI5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzQgLy8gIjk0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2OQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzNSAvLyAiOTUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzcwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM2IC8vICI5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzcgLy8gIjk3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzOCAvLyAiOTgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzczCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM5IC8vICI5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzAgLy8gIjEwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzEgLy8gIjEwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzIgLy8gIjEwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzMgLy8gIjEwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzQgLy8gIjEwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzUgLy8gIjEwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzYgLy8gIjEwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzcgLy8gIjEwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzggLy8gIjEwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzkgLy8gIjEwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzAgLy8gIjExMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzEgLy8gIjExMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzIgLy8gIjExMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzMgLy8gIjExMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzQgLy8gIjExNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzUgLy8gIjExNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzYgLy8gIjExNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzcgLy8gIjExNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzggLy8gIjExOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzkgLy8gIjExOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzAgLy8gIjEyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzEgLy8gIjEyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzIgLy8gIjEyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzMgLy8gIjEyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzQgLy8gIjEyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzUgLy8gIjEyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzYgLy8gIjEyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzcgLy8gIjEyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzggLy8gIjEyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzkgLy8gIjEyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzAgLy8gIjEzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzEgLy8gIjEzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzIgLy8gIjEzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzMgLy8gIjEzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzQgLy8gIjEzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzUgLy8gIjEzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzYgLy8gIjEzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzcgLy8gIjEzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzggLy8gIjEzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzkgLy8gIjEzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzAgLy8gIjE0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzEgLy8gIjE0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzIgLy8gIjE0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzMgLy8gIjE0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzQgLy8gIjE0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzUgLy8gIjE0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzYgLy8gIjE0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzcgLy8gIjE0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzggLy8gIjE0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzkgLy8gIjE0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzAgLy8gIjE1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzEgLy8gIjE1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzIgLy8gIjE1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzMgLy8gIjE1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzQgLy8gIjE1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzUgLy8gIjE1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzYgLy8gIjE1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzcgLy8gIjE1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzggLy8gIjE1OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzkgLy8gIjE1OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzAgLy8gIjE2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzEgLy8gIjE2MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzIgLy8gIjE2MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzMgLy8gIjE2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzQgLy8gIjE2NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzUgLy8gIjE2NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzYgLy8gIjE2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzcgLy8gIjE2NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzggLy8gIjE2OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzkgLy8gIjE2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzAgLy8gIjE3MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzEgLy8gIjE3MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzIgLy8gIjE3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzMgLy8gIjE3MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzQgLy8gIjE3NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzUgLy8gIjE3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzYgLy8gIjE3NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzcgLy8gIjE3NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzggLy8gIjE3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzkgLy8gIjE3OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzAgLy8gIjE4MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzEgLy8gIjE4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzIgLy8gIjE4MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzMgLy8gIjE4MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzQgLy8gIjE4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzUgLy8gIjE4NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzYgLy8gIjE4NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzcgLy8gIjE4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzggLy8gIjE4OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzkgLy8gIjE4OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzAgLy8gIjE5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzEgLy8gIjE5MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzIgLy8gIjE5MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzMgLy8gIjE5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzQgLy8gIjE5NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzUgLy8gIjE5NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzYgLy8gIjE5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzcgLy8gIjE5NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzggLy8gIjE5OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzkgLy8gIjE5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzAgLy8gIjIwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzEgLy8gIjIwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzIgLy8gIjIwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzMgLy8gIjIwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzQgLy8gIjIwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzUgLy8gIjIwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzYgLy8gIjIwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzcgLy8gIjIwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzggLy8gIjIwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzkgLy8gIjIwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzAgLy8gIjIxMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzEgLy8gIjIxMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzIgLy8gIjIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzMgLy8gIjIxMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzQgLy8gIjIxNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzUgLy8gIjIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzYgLy8gIjIxNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzcgLy8gIjIxNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzggLy8gIjIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzkgLy8gIjIxOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzAgLy8gIjIyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzEgLy8gIjIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzIgLy8gIjIyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzMgLy8gIjIyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzQgLy8gIjIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzUgLy8gIjIyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzYgLy8gIjIyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzcgLy8gIjIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzggLy8gIjIyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzkgLy8gIjIyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzAgLy8gIjIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzEgLy8gIjIzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzIgLy8gIjIzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzMgLy8gIjIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzQgLy8gIjIzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzUgLy8gIjIzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzYgLy8gIjIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzcgLy8gIjIzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzggLy8gIjIzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzkgLy8gIjIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzAgLy8gIjI0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzEgLy8gIjI0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzIgLy8gIjI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzMgLy8gIjI0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzQgLy8gIjI0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzUgLy8gIjI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzYgLy8gIjI0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzcgLy8gIjI0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzggLy8gIjI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzkgLy8gIjI0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzAgLy8gIjI1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzEgLy8gIjI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzIgLy8gIjI1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzMgLy8gIjI1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzQgLy8gIjI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzUgLy8gIjI1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzYgLy8gIjI1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0KCS8vICAgICAgICdUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4NTQ2ODY5NzMyMDY5NzMyMDYxMjA2NjYxNjk3MjZjNzkyMDZjNmY2ZTY3MjA2Mjc5NzQ2NTczNmM2OTYzNjUyMDc0Njg2MTc0MjA3MzY4NmY3NTZjNjQyMDYyNjUyMDcwNzU3NDIwNjk2ZTIwNzQ2ODY1MjA2MzZmNmU3MzYxNmU3NDIwNjI2YzZmNjM2YjIwNjI2NTYzNjE3NTczNjUyMDY5NzQyMDY5NzMyMDczNmYyMDZjNmY2ZTY3IC8vICJUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gYSArIGI7CglwdXNoYnl0ZXMgIjEiCglwdXNoYnl0ZXMgIjI1NyIKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGIxMzc1N2QyIC8vIG1ldGhvZCAibGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlQnl0ZWNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKYnl0ZWNibG9jayAweDYyNzk3NDY1NTY2MTZjNzU2NSAweDBhODEwMQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAxIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmcKKmFiaV9yb3V0ZV9sYXJnZUJ5dGVjYmxvY2s6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBsYXJnZUJ5dGVjYmxvY2soKXN0cmluZwoJY2FsbHN1YiBsYXJnZUJ5dGVjYmxvY2sKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbGFyZ2VCeXRlY2Jsb2NrKCk6IHN0cmluZwpsYXJnZUJ5dGVjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoaW50IDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglwdXNoaW50IDUgLy8gRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyIC8vICIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMyAvLyAiMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQgLy8gIjQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjc5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1IC8vICI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNiAvLyAiNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzcgLy8gIjciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjgyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4IC8vICI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOSAvLyAiOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzAgLy8gIjEwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzMSAvLyAiMTEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyIC8vICIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzMgLy8gIjEzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNCAvLyAiMTQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjg5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1IC8vICIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzYgLy8gIjE2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMTcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzEzNyAvLyAiMTciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MjkyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4IC8vICIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMxMzkgLy8gIjE5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMCAvLyAiMjAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxIC8vICIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzIgLy8gIjIyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzMyAvLyAiMjMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6Mjk4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0IC8vICIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzUgLy8gIjI1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzNiAvLyAiMjYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzAxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICcyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM3IC8vICIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMyMzggLy8gIjI4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMjknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzIzOSAvLyAiMjkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMwIC8vICIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzMxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzEgLy8gIjMxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzMiAvLyAiMzIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzA3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzMzIC8vICIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzQgLy8gIjM0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzNSAvLyAiMzUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM2IC8vICIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzM3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDMzMzcgLy8gIjM3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxMgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnMzgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzMzOCAvLyAiMzgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzEzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICczOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMzM5IC8vICIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzAgLy8gIjQwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxNQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzMSAvLyAiNDEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDMyIC8vICI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQzJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzMgLy8gIjQzIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxOAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNCAvLyAiNDQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzE5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM1IC8vICI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzYgLy8gIjQ2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyMQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNDcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzQzNyAvLyAiNDciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzIyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNDM4IC8vICI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzQ5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM0MzkgLy8gIjQ5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMCAvLyAiNTAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTMxIC8vICI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzUyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzIgLy8gIjUyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyNwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzMyAvLyAiNTMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzI4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM0IC8vICI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzUgLy8gIjU1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzNiAvLyAiNTYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzMxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNTM3IC8vICI1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzU4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM1MzggLy8gIjU4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzMwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNTknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzUzOSAvLyAiNTkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMwIC8vICI2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzYxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzEgLy8gIjYxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzNgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzMiAvLyAiNjIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzM3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjMzIC8vICI2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozMzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzQgLy8gIjY0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzOQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzNSAvLyAiNjUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM2IC8vICI2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzY3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM2MzcgLy8gIjY3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNjgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzYzOCAvLyAiNjgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQzCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNjM5IC8vICI2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzcwJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzAgLy8gIjcwIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0NQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzEnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczMSAvLyAiNzEiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ2CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzMyIC8vICI3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzczJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzMgLy8gIjczIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0OAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzQnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNCAvLyAiNzQiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzQ5CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM1IC8vICI3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc2JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzYgLy8gIjc2IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1MQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnNzcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzczNyAvLyAiNzciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzUyCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzNzM4IC8vICI3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzc5JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM3MzkgLy8gIjc5IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODAnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMCAvLyAiODAiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU1CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODMxIC8vICI4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzgyJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzIgLy8gIjgyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1NwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODMnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzMyAvLyAiODMiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzU4CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM0IC8vICI4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg1JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzUgLy8gIjg1IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MAoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODYnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzNiAvLyAiODYiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzYxCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzODM3IC8vICI4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzg4JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM4MzggLy8gIjg4IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2MwoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnODknCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzgzOSAvLyAiODkiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY0CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMwIC8vICI5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzkxJwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzEgLy8gIjkxIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2NgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTInCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzMiAvLyAiOTIiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzY3CgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTMzIC8vICI5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk0JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzQgLy8gIjk0IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2OQoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTUnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzNSAvLyAiOTUiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzcwCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM2IC8vICI5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzk3JwoJYnl0ZWMgMCAvLyAgImJ5dGVWYWx1ZSIKCXB1c2hieXRlcyAweDM5MzcgLy8gIjk3IgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3MgoJLy8gdGhpcy5ieXRlVmFsdWUudmFsdWUgPSAnOTgnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4MzkzOCAvLyAiOTgiCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MzczCgkvLyB0aGlzLmJ5dGVWYWx1ZS52YWx1ZSA9ICc5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzOTM5IC8vICI5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzAgLy8gIjEwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzEgLy8gIjEwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzIgLy8gIjEwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzMgLy8gIjEwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzQgLy8gIjEwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozNzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzUgLy8gIjEwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzYgLy8gIjEwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzcgLy8gIjEwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzggLy8gIjEwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMwMzkgLy8gIjEwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzAgLy8gIjExMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzEgLy8gIjExMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzIgLy8gIjExMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzMgLy8gIjExMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzQgLy8gIjExNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzUgLy8gIjExNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzYgLy8gIjExNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzcgLy8gIjExNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzggLy8gIjExOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzExOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMxMzkgLy8gIjExOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzAgLy8gIjEyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzEgLy8gIjEyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzIgLy8gIjEyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzMgLy8gIjEyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzQgLy8gIjEyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czozOTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzUgLy8gIjEyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzYgLy8gIjEyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzcgLy8gIjEyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzggLy8gIjEyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMyMzkgLy8gIjEyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzAgLy8gIjEzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzEgLy8gIjEzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzIgLy8gIjEzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzMgLy8gIjEzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzQgLy8gIjEzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzUgLy8gIjEzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzYgLy8gIjEzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzcgLy8gIjEzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzggLy8gIjEzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzEzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTMzMzkgLy8gIjEzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzAgLy8gIjE0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzEgLy8gIjE0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzIgLy8gIjE0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzMgLy8gIjE0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzQgLy8gIjE0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzUgLy8gIjE0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzYgLy8gIjE0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzcgLy8gIjE0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzggLy8gIjE0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM0MzkgLy8gIjE0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzAgLy8gIjE1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzEgLy8gIjE1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzIgLy8gIjE1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzMgLy8gIjE1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzQgLy8gIjE1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzUgLy8gIjE1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzYgLy8gIjE1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzcgLy8gIjE1NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzggLy8gIjE1OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE1OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM1MzkgLy8gIjE1OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzAgLy8gIjE2MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzEgLy8gIjE2MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzIgLy8gIjE2MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzMgLy8gIjE2MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzQgLy8gIjE2NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0MzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzUgLy8gIjE2NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzYgLy8gIjE2NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzcgLy8gIjE2NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzggLy8gIjE2OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE2OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM2MzkgLy8gIjE2OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzAgLy8gIjE3MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzEgLy8gIjE3MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzIgLy8gIjE3MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzMgLy8gIjE3MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzQgLy8gIjE3NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzUgLy8gIjE3NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzYgLy8gIjE3NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzcgLy8gIjE3NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzggLy8gIjE3OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE3OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM3MzkgLy8gIjE3OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzAgLy8gIjE4MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzEgLy8gIjE4MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzIgLy8gIjE4MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzMgLy8gIjE4MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzQgLy8gIjE4NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzUgLy8gIjE4NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzYgLy8gIjE4NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzcgLy8gIjE4NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzggLy8gIjE4OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE4OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM4MzkgLy8gIjE4OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzAgLy8gIjE5MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzEgLy8gIjE5MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzIgLy8gIjE5MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzMgLy8gIjE5MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzQgLy8gIjE5NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzUgLy8gIjE5NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzYgLy8gIjE5NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzcgLy8gIjE5NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzggLy8gIjE5OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzE5OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMTM5MzkgLy8gIjE5OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzAgLy8gIjIwMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzEgLy8gIjIwMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzIgLy8gIjIwMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzMgLy8gIjIwMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzQgLy8gIjIwNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0NzkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzUgLy8gIjIwNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzYgLy8gIjIwNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzcgLy8gIjIwNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzggLy8gIjIwOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIwOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMwMzkgLy8gIjIwOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzAgLy8gIjIxMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzEgLy8gIjIxMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzIgLy8gIjIxMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzMgLy8gIjIxMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzQgLy8gIjIxNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0ODkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzUgLy8gIjIxNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzYgLy8gIjIxNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzcgLy8gIjIxNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzggLy8gIjIxOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIxOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMxMzkgLy8gIjIxOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzAgLy8gIjIyMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzEgLy8gIjIyMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzIgLy8gIjIyMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzMgLy8gIjIyMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzQgLy8gIjIyNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo0OTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzUgLy8gIjIyNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzYgLy8gIjIyNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzcgLy8gIjIyNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzggLy8gIjIyOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIyOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMyMzkgLy8gIjIyOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzAgLy8gIjIzMCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzEgLy8gIjIzMSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzIgLy8gIjIzMiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzMycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzMgLy8gIjIzMyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzQgLy8gIjIzNCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MDkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzUgLy8gIjIzNSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzYgLy8gIjIzNiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzNycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzcgLy8gIjIzNyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzggLy8gIjIzOCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzIzOScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjMzMzkgLy8gIjIzOSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzAgLy8gIjI0MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzEgLy8gIjI0MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzIgLy8gIjI0MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzMgLy8gIjI0MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzQgLy8gIjI0NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MTkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzUgLy8gIjI0NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzYgLy8gIjI0NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjEKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0NycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzcgLy8gIjI0NyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzggLy8gIjI0OCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjMKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI0OScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM0MzkgLy8gIjI0OSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjQKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzAgLy8gIjI1MCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjUKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzEgLy8gIjI1MSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjYKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzIgLy8gIjI1MiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjcKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1MycKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzMgLy8gIjI1MyIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjgKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NCcKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzQgLy8gIjI1NCIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MjkKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NScKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzUgLy8gIjI1NSIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzAKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0gJzI1NicKCWJ5dGVjIDAgLy8gICJieXRlVmFsdWUiCglwdXNoYnl0ZXMgMHgzMjM1MzYgLy8gIjI1NiIKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czo1MzIKCS8vIHRoaXMuYnl0ZVZhbHVlLnZhbHVlID0KCS8vICAgICAgICdUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmcnCglieXRlYyAwIC8vICAiYnl0ZVZhbHVlIgoJcHVzaGJ5dGVzIDB4NTQ2ODY5NzMyMDY5NzMyMDYxMjA2NjYxNjk3MjZjNzkyMDZjNmY2ZTY3MjA2Mjc5NzQ2NTczNmM2OTYzNjUyMDc0Njg2MTc0MjA3MzY4NmY3NTZjNjQyMDYyNjUyMDcwNzU3NDIwNjk2ZTIwNzQ2ODY1MjA2MzZmNmU3MzYxNmU3NDIwNjI2YzZmNjM2YjIwNjI2NTYzNjE3NTczNjUyMDY5NzQyMDY5NzMyMDczNmYyMDZjNmY2ZTY3IC8vICJUaGlzIGlzIGEgZmFpcmx5IGxvbmcgYnl0ZXNsaWNlIHRoYXQgc2hvdWxkIGJlIHB1dCBpbiB0aGUgY29uc2FudCBibG9jayBiZWNhdXNlIGl0IGlzIHNvIGxvbmciCglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gYSArIGI7CglwdXNoYnl0ZXMgIjEiCglwdXNoYnl0ZXMgIjI1NyIKCWNvbmNhdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGIxMzc1N2QyIC8vIG1ldGhvZCAibGFyZ2VCeXRlY2Jsb2NrKClzdHJpbmciCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2xhcmdlQnl0ZWNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/C.approval.teal b/tests/contracts/artifacts/C.approval.teal index 1faefb78a..516c788c4 100644 --- a/tests/contracts/artifacts/C.approval.teal +++ b/tests/contracts/artifacts/C.approval.teal @@ -2,7 +2,7 @@ intcblock 1 1337 42 bytecblock 0x61 0x62 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/C.arc32.json b/tests/contracts/artifacts/C.arc32.json index bd26fe000..99a4676d4 100644 --- a/tests/contracts/artifacts/C.arc32.json +++ b/tests/contracts/artifacts/C.arc32.json @@ -58,7 +58,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiKCl2b2lkCiphYmlfcm91dGVfYjoKCS8vIGV4ZWN1dGUgYigpdm9pZAoJY2FsbHN1YiBiCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHZvaWQKYjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gNDIKCWJ5dGVjIDEgLy8gICJiIgoJaW50YyAyIC8vIDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg4YzY5NjZmMCAvLyBtZXRob2QgImMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiKCl2b2lkCiphYmlfcm91dGVfYjoKCS8vIGV4ZWN1dGUgYigpdm9pZAoJY2FsbHN1YiBiCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHZvaWQKYjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gNDIKCWJ5dGVjIDEgLy8gICJiIgoJaW50YyAyIC8vIDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg4YzY5NjZmMCAvLyBtZXRob2QgImMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/C.arc56_draft.json b/tests/contracts/artifacts/C.arc56_draft.json index cb59d90a0..1380885a0 100644 --- a/tests/contracts/artifacts/C.arc56_draft.json +++ b/tests/contracts/artifacts/C.arc56_draft.json @@ -609,7 +609,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiKCl2b2lkCiphYmlfcm91dGVfYjoKCS8vIGV4ZWN1dGUgYigpdm9pZAoJY2FsbHN1YiBiCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHZvaWQKYjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gNDIKCWJ5dGVjIDEgLy8gICJiIgoJaW50YyAyIC8vIDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg4YzY5NjZmMCAvLyBtZXRob2QgImMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcgNDIKYnl0ZWNibG9jayAweDYxIDB4NjIKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBhKCl2b2lkCiphYmlfcm91dGVfYToKCS8vIGV4ZWN1dGUgYSgpdm9pZAoJY2FsbHN1YiBhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhKCk6IHZvaWQKYToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjE2CgkvLyB0aGlzLmFLZXkudmFsdWUgPSAxMzM3CglieXRlYyAwIC8vICAiYSIKCWludGMgMSAvLyAxMzM3CglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBiKCl2b2lkCiphYmlfcm91dGVfYjoKCS8vIGV4ZWN1dGUgYigpdm9pZAoJY2FsbHN1YiBiCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHZvaWQKYjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjI0CgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNQoJLy8gdGhpcy5iS2V5LnZhbHVlID0gNDIKCWJ5dGVjIDEgLy8gICJiIgoJaW50YyAyIC8vIDQyCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBjKCl2b2lkCiphYmlfcm91dGVfYzoKCS8vIGV4ZWN1dGUgYygpdm9pZAoJY2FsbHN1YiBjCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjKCk6IHZvaWQKYzoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMxCgkvLyBhc3NlcnQodGhpcy5iS2V5LnZhbHVlID09PSA0MikKCWJ5dGVjIDEgLy8gICJiIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMiAvLyA0MgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjMyCgkvLyBhc3NlcnQodGhpcy5hS2V5LnZhbHVlID09PSAxMzM3KQoJYnl0ZWMgMCAvLyAgImEiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDEzMzcKCT09Cglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg4YzY5NjZmMCAvLyBtZXRob2QgImMoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ContractWithCustomStruct.approval.teal b/tests/contracts/artifacts/ContractWithCustomStruct.approval.teal index b448607ad..c483bfa0c 100644 --- a/tests/contracts/artifacts/ContractWithCustomStruct.approval.teal +++ b/tests/contracts/artifacts/ContractWithCustomStruct.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ContractWithCustomStruct.arc32.json b/tests/contracts/artifacts/ContractWithCustomStruct.arc32.json index b9f66a9d2..a7e0b2695 100644 --- a/tests/contracts/artifacts/ContractWithCustomStruct.arc32.json +++ b/tests/contracts/artifacts/ContractWithCustomStruct.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCiphYmlfcm91dGVfY3VzdG9tU3RydWN0TWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVN0cnVjdE1ldGhvZCBtdXN0IGJlIGEgKHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCgljYWxsc3ViIGN1c3RvbVN0cnVjdE1ldGhvZAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVN0cnVjdE1ldGhvZChpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdCk6IEFub3RoZXJDdXN0b21TdHJ1Y3QKY3VzdG9tU3RydWN0TWV0aG9kOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MjEKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhkMjI3MzlhIC8vIG1ldGhvZCAiY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCiphYmlfcm91dGVfY3VzdG9tU3RydWN0TWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVN0cnVjdE1ldGhvZCBtdXN0IGJlIGEgKHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCgljYWxsc3ViIGN1c3RvbVN0cnVjdE1ldGhvZAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVN0cnVjdE1ldGhvZChpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdCk6IEFub3RoZXJDdXN0b21TdHJ1Y3QKY3VzdG9tU3RydWN0TWV0aG9kOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MjEKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhkMjI3MzlhIC8vIG1ldGhvZCAiY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ContractWithCustomStruct.arc56_draft.json b/tests/contracts/artifacts/ContractWithCustomStruct.arc56_draft.json index c11ef9131..af4fba5d5 100644 --- a/tests/contracts/artifacts/ContractWithCustomStruct.arc56_draft.json +++ b/tests/contracts/artifacts/ContractWithCustomStruct.arc56_draft.json @@ -398,7 +398,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCiphYmlfcm91dGVfY3VzdG9tU3RydWN0TWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVN0cnVjdE1ldGhvZCBtdXN0IGJlIGEgKHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCgljYWxsc3ViIGN1c3RvbVN0cnVjdE1ldGhvZAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVN0cnVjdE1ldGhvZChpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdCk6IEFub3RoZXJDdXN0b21TdHJ1Y3QKY3VzdG9tU3RydWN0TWV0aG9kOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MjEKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhkMjI3MzlhIC8vIG1ldGhvZCAiY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCiphYmlfcm91dGVfY3VzdG9tU3RydWN0TWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGlucHV0OiAodWludDY0KQoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgOAoJPT0KCgkvLyBhcmd1bWVudCAwIChpbnB1dCkgZm9yIGN1c3RvbVN0cnVjdE1ldGhvZCBtdXN0IGJlIGEgKHVpbnQ2NCkKCWFzc2VydAoKCS8vIGV4ZWN1dGUgY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpCgljYWxsc3ViIGN1c3RvbVN0cnVjdE1ldGhvZAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGN1c3RvbVN0cnVjdE1ldGhvZChpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdCk6IEFub3RoZXJDdXN0b21TdHJ1Y3QKY3VzdG9tU3RydWN0TWV0aG9kOgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MjEKCS8vIHJldHVybiBpbnB1dDsKCWZyYW1lX2RpZyAtMSAvLyBpbnB1dDogQW5vdGhlckN1c3RvbVN0cnVjdAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhkMjI3MzlhIC8vIG1ldGhvZCAiY3VzdG9tU3RydWN0TWV0aG9kKCh1aW50NjQpKSh1aW50NjQpIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jdXN0b21TdHJ1Y3RNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal b/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal index 4db7c1790..6ce554c1f 100644 --- a/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal +++ b/tests/contracts/artifacts/ContractWithLsigProgram.approval.teal @@ -1,6 +1,6 @@ #pragma version 10 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json b/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json index 16e09fb68..10038021d 100644 --- a/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json +++ b/tests/contracts/artifacts/ContractWithLsigProgram.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozMgoJLy8gbG9nKEJhc2ljTHNpZy5wcm9ncmFtKCkpCglwdXNoYnl0ZXMgMHgwYTIwMDEwMTQyMDAwMDg4MDAwMjIyNDM4YTAwMDAyMjQ0ODkKCWxvZwoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozMgoJLy8gbG9nKEJhc2ljTHNpZy5wcm9ncmFtKCkpCglwdXNoYnl0ZXMgMHgwYTIwMDEwMTQyMDAwMDg4MDAwMjIyNDM4YTAwMDAyMjQ0ODkKCWxvZwoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json b/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json index 6de348b45..8f05663ce 100644 --- a/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json +++ b/tests/contracts/artifacts/ContractWithLsigProgram.arc56_draft.json @@ -263,7 +263,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozMgoJLy8gbG9nKEJhc2ljTHNpZy5wcm9ncmFtKCkpCglwdXNoYnl0ZXMgMHgwYTIwMDEwMTQyMDAwMDg4MDAwMjIyNDM4YTAwMDAyMjQ0ODkKCWxvZwoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozMgoJLy8gbG9nKEJhc2ljTHNpZy5wcm9ncmFtKCkpCglwdXNoYnl0ZXMgMHgwYTIwMDEwMTQyMDAwMDg4MDAwMjIyNDM4YTAwMDAyMjQ0ODkKCWxvZwoJcmV0c3ViCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal b/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal index 24a54261d..43f741470 100644 --- a/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal +++ b/tests/contracts/artifacts/ContratWithLsigAddress.approval.teal @@ -1,6 +1,6 @@ #pragma version 10 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json b/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json index ad95b87f3..a41fe0c0b 100644 --- a/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json +++ b/tests/contracts/artifacts/ContratWithLsigAddress.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozOQoJLy8gbG9nKEJhc2ljTHNpZy5hZGRyZXNzKCkpCglwdXNoYnl0ZXMgMHhiODQyNTIwZTU5ZjI4OTQxN2ZkOTJkN2FiYTYwZTBjNjIyYTA1ZTI5Zjk3MTQ5MDZjODBjZGEwZTFlOTg1YjBlIC8vIGFkZHIgIlhCQkZFRFNaNktFVUM3NlpGVjVMVVlIQVlZUktBWFJKN0ZZVVNCV0lCVE5BNEhVWUxNSEdLR1lYUFUiCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozOQoJLy8gbG9nKEJhc2ljTHNpZy5hZGRyZXNzKCkpCglwdXNoYnl0ZXMgMHhiODQyNTIwZTU5ZjI4OTQxN2ZkOTJkN2FiYTYwZTBjNjIyYTA1ZTI5Zjk3MTQ5MDZjODBjZGEwZTFlOTg1YjBlIC8vIGFkZHIgIlhCQkZFRFNaNktFVUM3NlpGVjVMVVlIQVlZUktBWFJKN0ZZVVNCV0lCVE5BNEhVWUxNSEdLR1lYUFUiCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json b/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json index 15edda8d3..6e840f389 100644 --- a/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json +++ b/tests/contracts/artifacts/ContratWithLsigAddress.arc56_draft.json @@ -277,7 +277,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozOQoJLy8gbG9nKEJhc2ljTHNpZy5hZGRyZXNzKCkpCglwdXNoYnl0ZXMgMHhiODQyNTIwZTU5ZjI4OTQxN2ZkOTJkN2FiYTYwZTBjNjIyYTA1ZTI5Zjk3MTQ5MDZjODBjZGEwZTFlOTg1YjBlIC8vIGFkZHIgIlhCQkZFRFNaNktFVUM3NlpGVjVMVVlIQVlZUktBWFJKN0ZZVVNCV0lCVE5BNEhVWUxNSEdLR1lYUFUiCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgY3JlYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgY3JlYXRlQXBwbGljYXRpb24KCXB1c2hpbnQgMQoJcmV0dXJuCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpOiB2b2lkCmNyZWF0ZUFwcGxpY2F0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xzaWcuYWxnby50czozOQoJLy8gbG9nKEJhc2ljTHNpZy5hZGRyZXNzKCkpCglwdXNoYnl0ZXMgMHhiODQyNTIwZTU5ZjI4OTQxN2ZkOTJkN2FiYTYwZTBjNjIyYTA1ZTI5Zjk3MTQ5MDZjODBjZGEwZTFlOTg1YjBlIC8vIGFkZHIgIlhCQkZFRFNaNktFVUM3NlpGVjVMVVlIQVlZUktBWFJKN0ZZVVNCV0lCVE5BNEhVWUxNSEdLR1lYUFUiCglsb2cKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/D.approval.teal b/tests/contracts/artifacts/D.approval.teal index 8dae448d1..d085f8c34 100644 --- a/tests/contracts/artifacts/D.approval.teal +++ b/tests/contracts/artifacts/D.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/D.arc32.json b/tests/contracts/artifacts/D.arc32.json index 4db2a96e9..43e0ca4ed 100644 --- a/tests/contracts/artifacts/D.arc32.json +++ b/tests/contracts/artifacts/D.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCXB1c2hieXRlcyAweDY0IC8vICJkIgoJcHVzaGludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyOWVmZDBmNiAvLyBtZXRob2QgImQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCXB1c2hieXRlcyAweDY0IC8vICJkIgoJcHVzaGludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyOWVmZDBmNiAvLyBtZXRob2QgImQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/D.arc56_draft.json b/tests/contracts/artifacts/D.arc56_draft.json index 5b3b30c12..86c99e22d 100644 --- a/tests/contracts/artifacts/D.arc56_draft.json +++ b/tests/contracts/artifacts/D.arc56_draft.json @@ -334,7 +334,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCXB1c2hieXRlcyAweDY0IC8vICJkIgoJcHVzaGludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyOWVmZDBmNiAvLyBtZXRob2QgImQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZCgpdm9pZAoqYWJpX3JvdXRlX2Q6CgkvLyBleGVjdXRlIGQoKXZvaWQKCWNhbGxzdWIgZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZCgpOiB2b2lkCmQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo0MAoJLy8gdGhpcy5kS2V5LnZhbHVlID0gNDIKCXB1c2hieXRlcyAweDY0IC8vICJkIgoJcHVzaGludCA0MgoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyOWVmZDBmNiAvLyBtZXRob2QgImQoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/DummyContract.approval.teal b/tests/contracts/artifacts/DummyContract.approval.teal index 1befc96c8..6c8ea1a08 100644 --- a/tests/contracts/artifacts/DummyContract.approval.teal +++ b/tests/contracts/artifacts/DummyContract.approval.teal @@ -1,6 +1,6 @@ #pragma version 10 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/DummyContract.arc32.json b/tests/contracts/artifacts/DummyContract.arc32.json index 0f893d863..5cab8ba23 100644 --- a/tests/contracts/artifacts/DummyContract.arc32.json +++ b/tests/contracts/artifacts/DummyContract.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/DummyContract.arc56_draft.json b/tests/contracts/artifacts/DummyContract.arc56_draft.json index c2d477e98..15ffda8ab 100644 --- a/tests/contracts/artifacts/DummyContract.arc56_draft.json +++ b/tests/contracts/artifacts/DummyContract.arc56_draft.json @@ -205,7 +205,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/E.approval.teal b/tests/contracts/artifacts/E.approval.teal index 8e55fa39e..2ae4054da 100644 --- a/tests/contracts/artifacts/E.approval.teal +++ b/tests/contracts/artifacts/E.approval.teal @@ -2,7 +2,7 @@ intcblock 1 456 654 123 bytecblock 0x0000000000000000000000000000000000000000000000000000000000000141 0x65787465726e616c4b6579 0x -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/E.arc32.json b/tests/contracts/artifacts/E.arc32.json index 4c8365b9f..df09c1bb5 100644 --- a/tests/contracts/artifacts/E.arc32.json +++ b/tests/contracts/artifacts/E.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDQ1NiA2NTQgMTIzCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGV4dGVybmFsTWV0aG9kKCl1aW50OAoqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CgljYWxsc3ViIGV4dGVybmFsTWV0aG9kCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGV4dGVybmFsTWV0aG9kIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4dGVybmFsTWV0aG9kKCk6IEN1c3RvbVR5cGUKZXh0ZXJuYWxNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMQoJLy8gdGhpcy5leHRlcm5hbEtleS52YWx1ZSA9IDxDdXN0b21UeXBlPjEyMwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJcHVzaGJ5dGVzIDB4N2IKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTIKCS8vIHJldHVybiB0aGlzLmV4dGVybmFsS2V5LnZhbHVlOwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCXJldHN1YgoKLy8gZSgpdm9pZAoqYWJpX3JvdXRlX2U6CgkvLyBleGVjdXRlIGUoKXZvaWQKCWNhbGxzdWIgZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZSgpOiB2b2lkCmU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTMKCS8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlID0gPEV4dGVybmFsQ3VzdG9tVHlwZT4xMjMKCWludGMgMyAvLyAxMjMKCWZyYW1lX2J1cnkgMCAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU0CgkvLyBhc3NlcnQodGhpcy5leHRlcm5hbEtleS52YWx1ZSA9PT0gdmFsKQoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCWludGMgMyAvLyAgdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NQoJLy8geCA9IDx1aW50MjU2PjMyMQoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMSAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTYKCS8vIHkgPSA8Q3VzdG9tVHlwZT4zMjEKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxCglmcmFtZV9idXJ5IDIgLy8geTogdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoeCA9PT0geSkKCWJ5dGVjIDAgLy8gIHg6IHVpbnQyNTYKCWJ5dGVjIDAgLy8gIHk6IHVpbnQyNTYKCWI9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjAKCS8vIGFzc2VydChNWV9DT05TVCA9PT0gNDU2KQoJaW50YyAxIC8vIDQ1NgoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjEKCS8vIGFzc2VydChFWFRFUk5BTF9DT05TVCA9PT0gNjU0KQoJaW50YyAyIC8vIDY1NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTdiZWE0YmIgLy8gbWV0aG9kICJleHRlcm5hbE1ldGhvZCgpdWludDgiCglwdXNoYnl0ZXMgMHgyNzc2MzBmYyAvLyBtZXRob2QgImUoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kICphYmlfcm91dGVfZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDQ1NiA2NTQgMTIzCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGV4dGVybmFsTWV0aG9kKCl1aW50OAoqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CgljYWxsc3ViIGV4dGVybmFsTWV0aG9kCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGV4dGVybmFsTWV0aG9kIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4dGVybmFsTWV0aG9kKCk6IEN1c3RvbVR5cGUKZXh0ZXJuYWxNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMQoJLy8gdGhpcy5leHRlcm5hbEtleS52YWx1ZSA9IDxDdXN0b21UeXBlPjEyMwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJcHVzaGJ5dGVzIDB4N2IKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTIKCS8vIHJldHVybiB0aGlzLmV4dGVybmFsS2V5LnZhbHVlOwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCXJldHN1YgoKLy8gZSgpdm9pZAoqYWJpX3JvdXRlX2U6CgkvLyBleGVjdXRlIGUoKXZvaWQKCWNhbGxzdWIgZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZSgpOiB2b2lkCmU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTMKCS8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlID0gPEV4dGVybmFsQ3VzdG9tVHlwZT4xMjMKCWludGMgMyAvLyAxMjMKCWZyYW1lX2J1cnkgMCAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU0CgkvLyBhc3NlcnQodGhpcy5leHRlcm5hbEtleS52YWx1ZSA9PT0gdmFsKQoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCWludGMgMyAvLyAgdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NQoJLy8geCA9IDx1aW50MjU2PjMyMQoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMSAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTYKCS8vIHkgPSA8Q3VzdG9tVHlwZT4zMjEKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxCglmcmFtZV9idXJ5IDIgLy8geTogdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoeCA9PT0geSkKCWJ5dGVjIDAgLy8gIHg6IHVpbnQyNTYKCWJ5dGVjIDAgLy8gIHk6IHVpbnQyNTYKCWI9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjAKCS8vIGFzc2VydChNWV9DT05TVCA9PT0gNDU2KQoJaW50YyAxIC8vIDQ1NgoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjEKCS8vIGFzc2VydChFWFRFUk5BTF9DT05TVCA9PT0gNjU0KQoJaW50YyAyIC8vIDY1NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTdiZWE0YmIgLy8gbWV0aG9kICJleHRlcm5hbE1ldGhvZCgpdWludDgiCglwdXNoYnl0ZXMgMHgyNzc2MzBmYyAvLyBtZXRob2QgImUoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kICphYmlfcm91dGVfZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/E.arc56_draft.json b/tests/contracts/artifacts/E.arc56_draft.json index 58820da69..7349292c2 100644 --- a/tests/contracts/artifacts/E.arc56_draft.json +++ b/tests/contracts/artifacts/E.arc56_draft.json @@ -744,7 +744,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDQ1NiA2NTQgMTIzCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGV4dGVybmFsTWV0aG9kKCl1aW50OAoqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CgljYWxsc3ViIGV4dGVybmFsTWV0aG9kCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGV4dGVybmFsTWV0aG9kIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4dGVybmFsTWV0aG9kKCk6IEN1c3RvbVR5cGUKZXh0ZXJuYWxNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMQoJLy8gdGhpcy5leHRlcm5hbEtleS52YWx1ZSA9IDxDdXN0b21UeXBlPjEyMwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJcHVzaGJ5dGVzIDB4N2IKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTIKCS8vIHJldHVybiB0aGlzLmV4dGVybmFsS2V5LnZhbHVlOwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCXJldHN1YgoKLy8gZSgpdm9pZAoqYWJpX3JvdXRlX2U6CgkvLyBleGVjdXRlIGUoKXZvaWQKCWNhbGxzdWIgZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZSgpOiB2b2lkCmU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTMKCS8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlID0gPEV4dGVybmFsQ3VzdG9tVHlwZT4xMjMKCWludGMgMyAvLyAxMjMKCWZyYW1lX2J1cnkgMCAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU0CgkvLyBhc3NlcnQodGhpcy5leHRlcm5hbEtleS52YWx1ZSA9PT0gdmFsKQoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCWludGMgMyAvLyAgdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NQoJLy8geCA9IDx1aW50MjU2PjMyMQoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMSAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTYKCS8vIHkgPSA8Q3VzdG9tVHlwZT4zMjEKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxCglmcmFtZV9idXJ5IDIgLy8geTogdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoeCA9PT0geSkKCWJ5dGVjIDAgLy8gIHg6IHVpbnQyNTYKCWJ5dGVjIDAgLy8gIHk6IHVpbnQyNTYKCWI9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjAKCS8vIGFzc2VydChNWV9DT05TVCA9PT0gNDU2KQoJaW50YyAxIC8vIDQ1NgoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjEKCS8vIGFzc2VydChFWFRFUk5BTF9DT05TVCA9PT0gNjU0KQoJaW50YyAyIC8vIDY1NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTdiZWE0YmIgLy8gbWV0aG9kICJleHRlcm5hbE1ldGhvZCgpdWludDgiCglwdXNoYnl0ZXMgMHgyNzc2MzBmYyAvLyBtZXRob2QgImUoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kICphYmlfcm91dGVfZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDQ1NiA2NTQgMTIzCmJ5dGVjYmxvY2sgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxIDB4NjU3ODc0NjU3MjZlNjE2YzRiNjU3OSAweAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGV4dGVybmFsTWV0aG9kKCl1aW50OAoqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglwdXNoYnl0ZXMgMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CgljYWxsc3ViIGV4dGVybmFsTWV0aG9kCglpdG9iCglkdXAKCWJpdGxlbgoJcHVzaGludCA4Cgk8PQoKCS8vIGV4dGVybmFsTWV0aG9kIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDggYml0cwoJYXNzZXJ0CglleHRyYWN0IDcgMQoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4dGVybmFsTWV0aG9kKCk6IEN1c3RvbVR5cGUKZXh0ZXJuYWxNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMQoJLy8gdGhpcy5leHRlcm5hbEtleS52YWx1ZSA9IDxDdXN0b21UeXBlPjEyMwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJcHVzaGJ5dGVzIDB4N2IKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLWV4dGVybmFsLmFsZ28udHM6MTIKCS8vIHJldHVybiB0aGlzLmV4dGVybmFsS2V5LnZhbHVlOwoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCXJldHN1YgoKLy8gZSgpdm9pZAoqYWJpX3JvdXRlX2U6CgkvLyBleGVjdXRlIGUoKXZvaWQKCWNhbGxzdWIgZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZSgpOiB2b2lkCmU6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMiAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTMKCS8vIHZhbDogRXh0ZXJuYWxDdXN0b21UeXBlID0gPEV4dGVybmFsQ3VzdG9tVHlwZT4xMjMKCWludGMgMyAvLyAxMjMKCWZyYW1lX2J1cnkgMCAvLyB2YWw6IEV4dGVybmFsQ3VzdG9tVHlwZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU0CgkvLyBhc3NlcnQodGhpcy5leHRlcm5hbEtleS52YWx1ZSA9PT0gdmFsKQoJYnl0ZWMgMSAvLyAgImV4dGVybmFsS2V5IgoJYXBwX2dsb2JhbF9nZXQKCWJ0b2kKCWludGMgMyAvLyAgdmFsOiBFeHRlcm5hbEN1c3RvbVR5cGUKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo1NQoJLy8geCA9IDx1aW50MjU2PjMyMQoJYnl0ZWMgMCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNDEKCWZyYW1lX2J1cnkgMSAvLyB4OiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NTYKCS8vIHkgPSA8Q3VzdG9tVHlwZT4zMjEKCWJ5dGVjIDAgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQxCglmcmFtZV9idXJ5IDIgLy8geTogdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoeCA9PT0geSkKCWJ5dGVjIDAgLy8gIHg6IHVpbnQyNTYKCWJ5dGVjIDAgLy8gIHk6IHVpbnQyNTYKCWI9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjAKCS8vIGFzc2VydChNWV9DT05TVCA9PT0gNDU2KQoJaW50YyAxIC8vIDQ1NgoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NjEKCS8vIGFzc2VydChFWFRFUk5BTF9DT05TVCA9PT0gNjU0KQoJaW50YyAyIC8vIDY1NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4MTdiZWE0YmIgLy8gbWV0aG9kICJleHRlcm5hbE1ldGhvZCgpdWludDgiCglwdXNoYnl0ZXMgMHgyNzc2MzBmYyAvLyBtZXRob2QgImUoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2V4dGVybmFsTWV0aG9kICphYmlfcm91dGVfZQoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ExternalContract.approval.teal b/tests/contracts/artifacts/ExternalContract.approval.teal index 010801037..bad0e8ea0 100644 --- a/tests/contracts/artifacts/ExternalContract.approval.teal +++ b/tests/contracts/artifacts/ExternalContract.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x65787465726e616c4b6579 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ExternalContract.arc32.json b/tests/contracts/artifacts/ExternalContract.arc32.json index 8b7e29ef0..81e2f6307 100644 --- a/tests/contracts/artifacts/ExternalContract.arc32.json +++ b/tests/contracts/artifacts/ExternalContract.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CiphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDgKCTw9CgoJLy8gZXh0ZXJuYWxNZXRob2QgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXh0ZXJuYWxNZXRob2QoKTogQ3VzdG9tVHlwZQpleHRlcm5hbE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS1leHRlcm5hbC5hbGdvLnRzOjExCgkvLyB0aGlzLmV4dGVybmFsS2V5LnZhbHVlID0gPEN1c3RvbVR5cGU+MTIzCglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglwdXNoYnl0ZXMgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3YmVhNGJiIC8vIG1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CiphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDgKCTw9CgoJLy8gZXh0ZXJuYWxNZXRob2QgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXh0ZXJuYWxNZXRob2QoKTogQ3VzdG9tVHlwZQpleHRlcm5hbE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS1leHRlcm5hbC5hbGdvLnRzOjExCgkvLyB0aGlzLmV4dGVybmFsS2V5LnZhbHVlID0gPEN1c3RvbVR5cGU+MTIzCglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglwdXNoYnl0ZXMgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3YmVhNGJiIC8vIG1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ExternalContract.arc56_draft.json b/tests/contracts/artifacts/ExternalContract.arc56_draft.json index 58bdff1d6..2670935c3 100644 --- a/tests/contracts/artifacts/ExternalContract.arc56_draft.json +++ b/tests/contracts/artifacts/ExternalContract.arc56_draft.json @@ -453,7 +453,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CiphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDgKCTw9CgoJLy8gZXh0ZXJuYWxNZXRob2QgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXh0ZXJuYWxNZXRob2QoKTogQ3VzdG9tVHlwZQpleHRlcm5hbE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS1leHRlcm5hbC5hbGdvLnRzOjExCgkvLyB0aGlzLmV4dGVybmFsS2V5LnZhbHVlID0gPEN1c3RvbVR5cGU+MTIzCglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglwdXNoYnl0ZXMgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3YmVhNGJiIC8vIG1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg2NTc4NzQ2NTcyNmU2MTZjNGI2NTc5CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gZXh0ZXJuYWxNZXRob2QoKXVpbnQ4CiphYmlfcm91dGVfZXh0ZXJuYWxNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBleHRlcm5hbE1ldGhvZCgpdWludDgKCWNhbGxzdWIgZXh0ZXJuYWxNZXRob2QKCWl0b2IKCWR1cAoJYml0bGVuCglwdXNoaW50IDgKCTw9CgoJLy8gZXh0ZXJuYWxNZXRob2QgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXh0ZXJuYWxNZXRob2QoKTogQ3VzdG9tVHlwZQpleHRlcm5hbE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS1leHRlcm5hbC5hbGdvLnRzOjExCgkvLyB0aGlzLmV4dGVybmFsS2V5LnZhbHVlID0gPEN1c3RvbVR5cGU+MTIzCglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglwdXNoYnl0ZXMgMHg3YgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UtZXh0ZXJuYWwuYWxnby50czoxMgoJLy8gcmV0dXJuIHRoaXMuZXh0ZXJuYWxLZXkudmFsdWU7CglieXRlYyAwIC8vICAiZXh0ZXJuYWxLZXkiCglhcHBfZ2xvYmFsX2dldAoJYnRvaQoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDE3YmVhNGJiIC8vIG1ldGhvZCAiZXh0ZXJuYWxNZXRob2QoKXVpbnQ4IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9leHRlcm5hbE1ldGhvZAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/F.approval.teal b/tests/contracts/artifacts/F.approval.teal index 26b25465c..4bbbd91f3 100644 --- a/tests/contracts/artifacts/F.approval.teal +++ b/tests/contracts/artifacts/F.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/F.arc32.json b/tests/contracts/artifacts/F.arc32.json index 1c301ba0d..37576a51e 100644 --- a/tests/contracts/artifacts/F.arc32.json +++ b/tests/contracts/artifacts/F.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVibGljTWV0aG9kKClzdHJpbmcKKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJcHVzaGJ5dGVzIDB4NzA3NTYyNmM2OTYzIC8vICJwdWJsaWMiCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QoKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3MQoJLy8gcmV0dXJuICdwcml2YXRlJzsKCXB1c2hieXRlcyAweDcwNzI2OTc2NjE3NDY1IC8vICJwcml2YXRlIgoJcmV0c3ViCgovLyBwcm90ZWN0ZWRNZXRob2QoKTogc3RyaW5nCnByb3RlY3RlZE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjc1CgkvLyByZXR1cm4gJ3Byb3RlY3RlZCc7CglwdXNoYnl0ZXMgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMDQxOGM1NCAvLyBtZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVibGljTWV0aG9kKClzdHJpbmcKKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJcHVzaGJ5dGVzIDB4NzA3NTYyNmM2OTYzIC8vICJwdWJsaWMiCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QoKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3MQoJLy8gcmV0dXJuICdwcml2YXRlJzsKCXB1c2hieXRlcyAweDcwNzI2OTc2NjE3NDY1IC8vICJwcml2YXRlIgoJcmV0c3ViCgovLyBwcm90ZWN0ZWRNZXRob2QoKTogc3RyaW5nCnByb3RlY3RlZE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjc1CgkvLyByZXR1cm4gJ3Byb3RlY3RlZCc7CglwdXNoYnl0ZXMgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMDQxOGM1NCAvLyBtZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/F.arc56_draft.json b/tests/contracts/artifacts/F.arc56_draft.json index 77c2f5ac0..492f1c514 100644 --- a/tests/contracts/artifacts/F.arc56_draft.json +++ b/tests/contracts/artifacts/F.arc56_draft.json @@ -452,7 +452,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVibGljTWV0aG9kKClzdHJpbmcKKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJcHVzaGJ5dGVzIDB4NzA3NTYyNmM2OTYzIC8vICJwdWJsaWMiCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QoKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3MQoJLy8gcmV0dXJuICdwcml2YXRlJzsKCXB1c2hieXRlcyAweDcwNzI2OTc2NjE3NDY1IC8vICJwcml2YXRlIgoJcmV0c3ViCgovLyBwcm90ZWN0ZWRNZXRob2QoKTogc3RyaW5nCnByb3RlY3RlZE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjc1CgkvLyByZXR1cm4gJ3Byb3RlY3RlZCc7CglwdXNoYnl0ZXMgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMDQxOGM1NCAvLyBtZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHVibGljTWV0aG9kKClzdHJpbmcKKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBwdWJsaWNNZXRob2QoKXN0cmluZwoJY2FsbHN1YiBwdWJsaWNNZXRob2QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHVibGljTWV0aG9kKCk6IHN0cmluZwpwdWJsaWNNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo2NwoJLy8gcmV0dXJuICdwdWJsaWMnOwoJcHVzaGJ5dGVzIDB4NzA3NTYyNmM2OTYzIC8vICJwdWJsaWMiCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QoKTogc3RyaW5nCnByaXZhdGVNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3MQoJLy8gcmV0dXJuICdwcml2YXRlJzsKCXB1c2hieXRlcyAweDcwNzI2OTc2NjE3NDY1IC8vICJwcml2YXRlIgoJcmV0c3ViCgovLyBwcm90ZWN0ZWRNZXRob2QoKTogc3RyaW5nCnByb3RlY3RlZE1ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjc1CgkvLyByZXR1cm4gJ3Byb3RlY3RlZCc7CglwdXNoYnl0ZXMgMHg3MDcyNmY3NDY1NjM3NDY1NjQgLy8gInByb3RlY3RlZCIKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMDQxOGM1NCAvLyBtZXRob2QgInB1YmxpY01ldGhvZCgpc3RyaW5nIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wdWJsaWNNZXRob2QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/FunctionsTest.approval.teal b/tests/contracts/artifacts/FunctionsTest.approval.teal index 67d216fbd..4c6285a75 100644 --- a/tests/contracts/artifacts/FunctionsTest.approval.teal +++ b/tests/contracts/artifacts/FunctionsTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x151f7c75 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/FunctionsTest.arc32.json b/tests/contracts/artifacts/FunctionsTest.arc32.json index b400ddd85..58fa750f5 100644 --- a/tests/contracts/artifacts/FunctionsTest.arc32.json +++ b/tests/contracts/artifacts/FunctionsTest.arc32.json @@ -49,7 +49,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbE5vbkNsYXNzRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsTm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxMgoJLy8gcmV0dXJuIG5vbkNsYXNzRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIG5vbkNsYXNzRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsRXh0ZXJuYWxGdW5jdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxFeHRlcm5hbEZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjE2CgkvLyByZXR1cm4gZXh0ZXJuYWxGdW5jdGlvbihhLCBiKTsKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWNhbGxzdWIgZXh0ZXJuYWxGdW5jdGlvbgoJcmV0c3ViCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxQYWNrYWdlRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxQYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MjAKCS8vIHJldHVybiBwYWNrYWdlRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIHBhY2thZ2VGdW5jdGlvbgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhmZDIzYjQ4IC8vIG1ldGhvZCAiY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmNWRiM2I0MSAvLyBtZXRob2QgImNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGI3ODkxOTYgLy8gbWV0aG9kICJjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYWxsTm9uQ2xhc3NGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxFeHRlcm5hbEZ1bmN0aW9uICphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKLy8gcGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBhY2thZ2VGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIG5vZGVfbW9kdWxlcy90ZWFsc2NyaXB0X3Rlc3RfcGFja2FnZS9pbmRleC50czo0CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGV4dGVybmFsRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKZXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMtZXh0ZXJuYWwuYWxnby50czoyCgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIG5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKbm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czo3CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbE5vbkNsYXNzRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsTm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxMgoJLy8gcmV0dXJuIG5vbkNsYXNzRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIG5vbkNsYXNzRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsRXh0ZXJuYWxGdW5jdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxFeHRlcm5hbEZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjE2CgkvLyByZXR1cm4gZXh0ZXJuYWxGdW5jdGlvbihhLCBiKTsKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWNhbGxzdWIgZXh0ZXJuYWxGdW5jdGlvbgoJcmV0c3ViCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxQYWNrYWdlRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxQYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MjAKCS8vIHJldHVybiBwYWNrYWdlRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIHBhY2thZ2VGdW5jdGlvbgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhmZDIzYjQ4IC8vIG1ldGhvZCAiY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmNWRiM2I0MSAvLyBtZXRob2QgImNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGI3ODkxOTYgLy8gbWV0aG9kICJjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYWxsTm9uQ2xhc3NGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxFeHRlcm5hbEZ1bmN0aW9uICphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKLy8gcGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBhY2thZ2VGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIG5vZGVfbW9kdWxlcy90ZWFsc2NyaXB0X3Rlc3RfcGFja2FnZS9pbmRleC50czo0CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGV4dGVybmFsRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKZXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMtZXh0ZXJuYWwuYWxnby50czoyCgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIG5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKbm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czo3CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/FunctionsTest.arc56_draft.json b/tests/contracts/artifacts/FunctionsTest.arc56_draft.json index cf951a790..30ac7c81e 100644 --- a/tests/contracts/artifacts/FunctionsTest.arc56_draft.json +++ b/tests/contracts/artifacts/FunctionsTest.arc56_draft.json @@ -848,7 +848,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbE5vbkNsYXNzRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsTm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxMgoJLy8gcmV0dXJuIG5vbkNsYXNzRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIG5vbkNsYXNzRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsRXh0ZXJuYWxGdW5jdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxFeHRlcm5hbEZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjE2CgkvLyByZXR1cm4gZXh0ZXJuYWxGdW5jdGlvbihhLCBiKTsKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWNhbGxzdWIgZXh0ZXJuYWxGdW5jdGlvbgoJcmV0c3ViCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxQYWNrYWdlRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxQYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MjAKCS8vIHJldHVybiBwYWNrYWdlRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIHBhY2thZ2VGdW5jdGlvbgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhmZDIzYjQ4IC8vIG1ldGhvZCAiY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmNWRiM2I0MSAvLyBtZXRob2QgImNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGI3ODkxOTYgLy8gbWV0aG9kICJjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYWxsTm9uQ2xhc3NGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxFeHRlcm5hbEZ1bmN0aW9uICphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKLy8gcGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBhY2thZ2VGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIG5vZGVfbW9kdWxlcy90ZWFsc2NyaXB0X3Rlc3RfcGFja2FnZS9pbmRleC50czo0CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGV4dGVybmFsRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKZXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMtZXh0ZXJuYWwuYWxnby50czoyCgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIG5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKbm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czo3CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGNhbGxOb25DbGFzc0Z1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbE5vbkNsYXNzRnVuY3Rpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgY2FsbE5vbkNsYXNzRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsTm9uQ2xhc3NGdW5jdGlvbihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApjYWxsTm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czoxMgoJLy8gcmV0dXJuIG5vbkNsYXNzRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIG5vbkNsYXNzRnVuY3Rpb24KCXJldHN1YgoKLy8gY2FsbEV4dGVybmFsRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jYWxsRXh0ZXJuYWxGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsRXh0ZXJuYWxGdW5jdGlvbih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxsRXh0ZXJuYWxGdW5jdGlvbgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNhbGxFeHRlcm5hbEZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxFeHRlcm5hbEZ1bmN0aW9uOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2Z1bmN0aW9ucy5hbGdvLnRzOjE2CgkvLyByZXR1cm4gZXh0ZXJuYWxGdW5jdGlvbihhLCBiKTsKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWNhbGxzdWIgZXh0ZXJuYWxGdW5jdGlvbgoJcmV0c3ViCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGNhbGxQYWNrYWdlRnVuY3Rpb24KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmNhbGxQYWNrYWdlRnVuY3Rpb246Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZnVuY3Rpb25zLmFsZ28udHM6MjAKCS8vIHJldHVybiBwYWNrYWdlRnVuY3Rpb24oYSwgYik7CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CgljYWxsc3ViIHBhY2thZ2VGdW5jdGlvbgoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDhmZDIzYjQ4IC8vIG1ldGhvZCAiY2FsbE5vbkNsYXNzRnVuY3Rpb24odWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmNWRiM2I0MSAvLyBtZXRob2QgImNhbGxFeHRlcm5hbEZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGI3ODkxOTYgLy8gbWV0aG9kICJjYWxsUGFja2FnZUZ1bmN0aW9uKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jYWxsTm9uQ2xhc3NGdW5jdGlvbiAqYWJpX3JvdXRlX2NhbGxFeHRlcm5hbEZ1bmN0aW9uICphYmlfcm91dGVfY2FsbFBhY2thZ2VGdW5jdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycgoKLy8gcGFja2FnZUZ1bmN0aW9uKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBhY2thZ2VGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIG5vZGVfbW9kdWxlcy90ZWFsc2NyaXB0X3Rlc3RfcGFja2FnZS9pbmRleC50czo0CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGV4dGVybmFsRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKZXh0ZXJuYWxGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMtZXh0ZXJuYWwuYWxnby50czoyCgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIG5vbkNsYXNzRnVuY3Rpb24oYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKbm9uQ2xhc3NGdW5jdGlvbjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9mdW5jdGlvbnMuYWxnby50czo3CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/G.approval.teal b/tests/contracts/artifacts/G.approval.teal index 2a09b776e..720e52952 100644 --- a/tests/contracts/artifacts/G.approval.teal +++ b/tests/contracts/artifacts/G.approval.teal @@ -2,7 +2,7 @@ intcblock 1 bytecblock 0x70726f746563746564 0x7075626c6963 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/G.arc32.json b/tests/contracts/artifacts/G.arc32.json index 927e1de60..30b4dff09 100644 --- a/tests/contracts/artifacts/G.arc32.json +++ b/tests/contracts/artifacts/G.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg3MDcyNmY3NDY1NjM3NDY1NjQgMHg3MDc1NjI2YzY5NjMKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHB1YmxpY01ldGhvZCgpc3RyaW5nCgljYWxsc3ViIHB1YmxpY01ldGhvZAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwdWJsaWNNZXRob2QoKTogc3RyaW5nCnB1YmxpY01ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjY3CgkvLyByZXR1cm4gJ3B1YmxpYyc7CglieXRlYyAxIC8vICAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglwdXNoYnl0ZXMgMHg3MDcyNjk3NjYxNzQ2NSAvLyAicHJpdmF0ZSIKCXJldHN1YgoKLy8gcHJvdGVjdGVkTWV0aG9kKCk6IHN0cmluZwpwcm90ZWN0ZWRNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3NQoJLy8gcmV0dXJuICdwcm90ZWN0ZWQnOwoJYnl0ZWMgMCAvLyAgInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGVjIDAgLy8gICJwcm90ZWN0ZWQiCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODIKCS8vIGFzc2VydCh0aGlzLnB1YmxpY01ldGhvZCgpID09PSAncHVibGljJykKCWNhbGxzdWIgcHVibGljTWV0aG9kCglieXRlYyAxIC8vICAicHVibGljIgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwNDE4YzU0IC8vIG1ldGhvZCAicHVibGljTWV0aG9kKClzdHJpbmciCglwdXNoYnl0ZXMgMHhmMmI2NWYyNyAvLyBtZXRob2QgImcoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3B1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2cKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg3MDcyNmY3NDY1NjM3NDY1NjQgMHg3MDc1NjI2YzY5NjMKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHB1YmxpY01ldGhvZCgpc3RyaW5nCgljYWxsc3ViIHB1YmxpY01ldGhvZAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwdWJsaWNNZXRob2QoKTogc3RyaW5nCnB1YmxpY01ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjY3CgkvLyByZXR1cm4gJ3B1YmxpYyc7CglieXRlYyAxIC8vICAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglwdXNoYnl0ZXMgMHg3MDcyNjk3NjYxNzQ2NSAvLyAicHJpdmF0ZSIKCXJldHN1YgoKLy8gcHJvdGVjdGVkTWV0aG9kKCk6IHN0cmluZwpwcm90ZWN0ZWRNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3NQoJLy8gcmV0dXJuICdwcm90ZWN0ZWQnOwoJYnl0ZWMgMCAvLyAgInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGVjIDAgLy8gICJwcm90ZWN0ZWQiCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODIKCS8vIGFzc2VydCh0aGlzLnB1YmxpY01ldGhvZCgpID09PSAncHVibGljJykKCWNhbGxzdWIgcHVibGljTWV0aG9kCglieXRlYyAxIC8vICAicHVibGljIgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwNDE4YzU0IC8vIG1ldGhvZCAicHVibGljTWV0aG9kKClzdHJpbmciCglwdXNoYnl0ZXMgMHhmMmI2NWYyNyAvLyBtZXRob2QgImcoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3B1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2cKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/G.arc56_draft.json b/tests/contracts/artifacts/G.arc56_draft.json index 07cb7bb10..67866c7f0 100644 --- a/tests/contracts/artifacts/G.arc56_draft.json +++ b/tests/contracts/artifacts/G.arc56_draft.json @@ -586,7 +586,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg3MDcyNmY3NDY1NjM3NDY1NjQgMHg3MDc1NjI2YzY5NjMKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHB1YmxpY01ldGhvZCgpc3RyaW5nCgljYWxsc3ViIHB1YmxpY01ldGhvZAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwdWJsaWNNZXRob2QoKTogc3RyaW5nCnB1YmxpY01ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjY3CgkvLyByZXR1cm4gJ3B1YmxpYyc7CglieXRlYyAxIC8vICAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglwdXNoYnl0ZXMgMHg3MDcyNjk3NjYxNzQ2NSAvLyAicHJpdmF0ZSIKCXJldHN1YgoKLy8gcHJvdGVjdGVkTWV0aG9kKCk6IHN0cmluZwpwcm90ZWN0ZWRNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3NQoJLy8gcmV0dXJuICdwcm90ZWN0ZWQnOwoJYnl0ZWMgMCAvLyAgInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGVjIDAgLy8gICJwcm90ZWN0ZWQiCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODIKCS8vIGFzc2VydCh0aGlzLnB1YmxpY01ldGhvZCgpID09PSAncHVibGljJykKCWNhbGxzdWIgcHVibGljTWV0aG9kCglieXRlYyAxIC8vICAicHVibGljIgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwNDE4YzU0IC8vIG1ldGhvZCAicHVibGljTWV0aG9kKClzdHJpbmciCglwdXNoYnl0ZXMgMHhmMmI2NWYyNyAvLyBtZXRob2QgImcoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3B1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2cKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCmJ5dGVjYmxvY2sgMHg3MDcyNmY3NDY1NjM3NDY1NjQgMHg3MDc1NjI2YzY5NjMKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBwdWJsaWNNZXRob2QoKXN0cmluZwoqYWJpX3JvdXRlX3B1YmxpY01ldGhvZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHB1YmxpY01ldGhvZCgpc3RyaW5nCgljYWxsc3ViIHB1YmxpY01ldGhvZAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBwdWJsaWNNZXRob2QoKTogc3RyaW5nCnB1YmxpY01ldGhvZDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pbmhlcml0YW5jZS5hbGdvLnRzOjY3CgkvLyByZXR1cm4gJ3B1YmxpYyc7CglieXRlYyAxIC8vICAicHVibGljIgoJcmV0c3ViCgovLyBwcml2YXRlTWV0aG9kKCk6IHN0cmluZwpwcml2YXRlTWV0aG9kOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6NzEKCS8vIHJldHVybiAncHJpdmF0ZSc7CglwdXNoYnl0ZXMgMHg3MDcyNjk3NjYxNzQ2NSAvLyAicHJpdmF0ZSIKCXJldHN1YgoKLy8gcHJvdGVjdGVkTWV0aG9kKCk6IHN0cmluZwpwcm90ZWN0ZWRNZXRob2Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo3NQoJLy8gcmV0dXJuICdwcm90ZWN0ZWQnOwoJYnl0ZWMgMCAvLyAgInByb3RlY3RlZCIKCXJldHN1YgoKLy8gZygpdm9pZAoqYWJpX3JvdXRlX2c6CgkvLyBleGVjdXRlIGcoKXZvaWQKCWNhbGxzdWIgZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZygpOiB2b2lkCmc6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo4MQoJLy8gYXNzZXJ0KHRoaXMucHJvdGVjdGVkTWV0aG9kKCkgPT09ICdwcm90ZWN0ZWQnKQoJY2FsbHN1YiBwcm90ZWN0ZWRNZXRob2QKCWJ5dGVjIDAgLy8gICJwcm90ZWN0ZWQiCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODIKCS8vIGFzc2VydCh0aGlzLnB1YmxpY01ldGhvZCgpID09PSAncHVibGljJykKCWNhbGxzdWIgcHVibGljTWV0aG9kCglieXRlYyAxIC8vICAicHVibGljIgoJPT0KCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGUwNDE4YzU0IC8vIG1ldGhvZCAicHVibGljTWV0aG9kKClzdHJpbmciCglwdXNoYnl0ZXMgMHhmMmI2NWYyNyAvLyBtZXRob2QgImcoKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3B1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2cKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/GeneralTest.approval.teal b/tests/contracts/artifacts/GeneralTest.approval.teal index 48d3d11b1..0f2639344 100644 --- a/tests/contracts/artifacts/GeneralTest.approval.teal +++ b/tests/contracts/artifacts/GeneralTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 6 2 5 123 1337 4 3 32 10 100_000 1338 bytecblock 0x 0x0a8101 0x151f7c75 0x0000000000000000000000000000000000000000000000000000000000000000 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0x666f6f 0x000000000000000100000000000000020000000000000003 0x73746f726167654172726179 0x000000000000000000 0x0000000000000001 0x706167654f6e65 0x7061676554776f 0x674b6579 0x2c636eeb 0x626172 0x627965 0x0000 0x30 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // !!!! WARNING: This contract is *NOT* ARC4 compliant. It may contain ABI methods, but it also allows app calls where the first argument does NOT match an ABI selector diff --git a/tests/contracts/artifacts/GeneralTest.arc32.json b/tests/contracts/artifacts/GeneralTest.arc32.json index c8c503437..b5c089bf6 100644 --- a/tests/contracts/artifacts/GeneralTest.arc32.json +++ b/tests/contracts/artifacts/GeneralTest.arc32.json @@ -413,7 +413,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAyIDUgMTIzIDEzMzcgNCAzIDMyIDEwIDEwMF8wMDAgMTMzOApieXRlY2Jsb2NrIDB4IDB4MGE4MTAxIDB4MTUxZjdjNzUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg2NjZmNmYgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgMHgwMDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAxIDB4NzA2MTY3NjU0ZjZlNjUgMHg3MDYxNjc2NTU0Nzc2ZiAweDY3NGI2NTc5IDB4MmM2MzZlZWIgMHg2MjYxNzIgMHg2Mjc5NjUgMHgwMDAwIDB4MzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHR4blR5cGVFbnVtKCl2b2lkCiphYmlfcm91dGVfdHhuVHlwZUVudW06CgkvLyBleGVjdXRlIHR4blR5cGVFbnVtKCl2b2lkCgljYWxsc3ViIHR4blR5cGVFbnVtCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0eG5UeXBlRW51bSgpOiB2b2lkCnR4blR5cGVFbnVtOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo2OQoJLy8gYXNzZXJ0KHRoaXMudHhuR3JvdXBbMF0udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwpCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NzMKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludGMgMCAvLyAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjc3CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoc29tZVBheSkgZm9yIHZlcmlmeVR4bkZyb21BcmcgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21BcmcKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkZyb21Bcmcoc29tZVBheTogUGF5VHhuKTogdm9pZAp2ZXJpZnlUeG5Gcm9tQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4MQoJLy8gdmVyaWZ5VHhuKHNvbWVQYXksIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMTAwXzAwMCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgMTEgLy8gMTAwXzAwMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiMTAwXzAwMCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKTogdm9pZAp2ZXJpZnlUeG5Gcm9tVHhuR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjg1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG5Hcm91cFswXSwgeyBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb246CgkvLyBleGVjdXRlIHZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Db25kaXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkNvbmRpdGlvbigpOiB2b2lkCnZlcmlmeVR4bkNvbmRpdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6ODkKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogeyBncmVhdGVyVGhhbjogMSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJdHhuIEFwcGxpY2F0aW9uSUQKCWludGMgMCAvLyAxCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuSW5jbHVkZWRJbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bkluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbdGhpcy50eG4uc2VuZGVyXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Ilt0aGlzLnR4bi5zZW5kZXJdIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCk6IHZvaWQKdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwNwoJLy8gdGhpcy5wZW5kaW5nR3JvdXAuYWRkUGF5bWVudCh7IGFtb3VudDogMCwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGlzRmlyc3RUeG46IHRydWUgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA4CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgbm90ZTogJ2ZvbycgfSkKCWl0eG5fbmV4dAoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gYW1vdW50OiAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIG5vdGU6ICdmb28nCglieXRlYyA1IC8vICAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDkKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE2CgkvLyBhbW91bnQ6IDEwMF8wMDAKCWludGMgMTEgLy8gMTAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExNgoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDBlOGNiOWY2IC8vIG1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50YyA2IC8vIDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTIwCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDZjNmY3YTA4IC8vIG1ldGhvZCAiZm9vKHBheSxhcHBsKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgYW1vdW50OiAxMDBfMDAwLCByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyIH0sCgkvLyAgICAgICAgIHsKCS8vICAgICAgICAgICBuYW1lOiAnYmFyJywKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDEzMzcpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsxXSwKCS8vICAgICAgICAgfSwKCS8vICAgICAgIF0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc2hpZnQoKXZvaWQKKmFiaV9yb3V0ZV9zaGlmdDoKCS8vIGV4ZWN1dGUgc2hpZnQoKXZvaWQKCWNhbGxzdWIgc2hpZnQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNoaWZ0KCk6IHZvaWQKc2hpZnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNwoJLy8gYXNzZXJ0KDEgPDwgMiA9PT0gNCkKCWludGMgMCAvLyAxCglpbnRjIDMgLy8gMgoJc2hsCglpbnRjIDcgLy8gNAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBhc3NlcnQoNCA+PiAxID09PSAyKQoJaW50YyA3IC8vIDQKCWludGMgMCAvLyAxCglzaHIKCWludGMgMyAvLyAyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21CeXRlcygpdm9pZAoqYWJpX3JvdXRlX2Zyb21CeXRlczoKCS8vIGV4ZWN1dGUgZnJvbUJ5dGVzKCl2b2lkCgljYWxsc3ViIGZyb21CeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnJvbUJ5dGVzKCk6IHZvaWQKZnJvbUJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMzIKCS8vIGFzc2VydChBZGRyZXNzLmZyb21CeXRlcygnYWJjJykubWluQmFsYW5jZSkKCXB1c2hieXRlcyAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnRjIDUgLy8gMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM3CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludGMgNSAvLyAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MgoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZWMgMTYgLy8gMHgwMDAwCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MwoJLy8geTogYnl0ZXMgPSBiemVybyhuKQoJaW50YyAwIC8vIDEKCWJ6ZXJvCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0NAoJLy8gejogW3VpbnQ2NCwgdWludDw4Pl0gPSBiemVybzxbdWludDY0LCB1aW50PDg+XT4oKQoJYnl0ZWMgOCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAyIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNDUKCS8vIGFzc2VydChsZW4oeCArIHkgKyB6KSA9PT0gMTIpCglieXRlYyAxNiAvLyAgeDogYnl0ZXMKCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVzCgljb25jYXQKCWJ5dGVjIDggLy8gIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJcHVzaGludCAxMgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBldmVudHMoKXZvaWQKKmFiaV9yb3V0ZV9ldmVudHM6CgkvLyBleGVjdXRlIGV2ZW50cygpdm9pZAoJY2FsbHN1YiBldmVudHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV2ZW50cygpOiB2b2lkCmV2ZW50czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTYwCgkvLyB0aGlzLm15RXZlbnQubG9nKHsgYXBwOiB0aGlzLmFwcCwgbnVtOiAxIH0pCglwdXNoYnl0ZXMgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxldE9wdGltaXphdGlvbihhOiB1aW50NjRbXSk6IHVpbnQ2NFtdCmxldE9wdGltaXphdGlvbjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY0CgkvLyBhc3NlcnQoYVswXSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAtMSAvLyBiOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJcmV0c3ViCgovLyBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNDb250cmFjdFByb3BlcnRpZXM6CgkvLyBleGVjdXRlIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoJY2FsbHN1YiBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpOiB2b2lkCnN0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTcyCgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IER1bW15Q29udHJhY3QuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBsb2NhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTczCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDEgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzQKCS8vIGFwcHJvdmFsUHJvZ3JhbTogRHVtbXlDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMDAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bUJ5dGVTbGljZQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgTG9jYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NwoJLy8gbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50CglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBMb2NhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OQoJLy8gZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG51bWJlclRvU3RyaW5nKCl2b2lkCiphYmlfcm91dGVfbnVtYmVyVG9TdHJpbmc6CgkvLyBleGVjdXRlIG51bWJlclRvU3RyaW5nKCl2b2lkCgljYWxsc3ViIG51bWJlclRvU3RyaW5nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBudW1iZXJUb1N0cmluZygpOiB2b2lkCm51bWJlclRvU3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODYKCS8vIGFzc2VydChuLnRvU3RyaW5nKCkgPT09IHMpCglpbnRjIDAgLy8gMQoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzICIxIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBtZXRob2RPblBhcmVucygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZE9uUGFyZW5zOgoJLy8gZXhlY3V0ZSBtZXRob2RPblBhcmVucygpdm9pZAoJY2FsbHN1YiBtZXRob2RPblBhcmVucwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kT25QYXJlbnMoKTogdm9pZAptZXRob2RPblBhcmVuczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkwCgkvLyBhc3NlcnQoKDEgKyAyKS50b1N0cmluZygpID09PSAnMycpCglpbnRjIDggLy8gMwoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCXB1c2hieXRlcyAiYWJjZGVmIgoJc3Vic3RyaW5nIDEgMwoJcHVzaGJ5dGVzIDB4NjI2MyAvLyAiYmMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGlkUHJvcGVydHkoKXZvaWQKKmFiaV9yb3V0ZV9pZFByb3BlcnR5OgoJLy8gZXhlY3V0ZSBpZFByb3BlcnR5KCl2b2lkCgljYWxsc3ViIGlkUHJvcGVydHkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlkUHJvcGVydHkoKTogdm9pZAppZFByb3BlcnR5OgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwMAoJLy8gYXNzZXJ0KEFwcElELmZyb21VaW50NjQoYXBwLmlkKSA9PT0gYXBwKQoJaW50YyAxIC8vICBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDIKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDMKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50YyAxIC8vICBhc2E6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfc2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIHNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIHNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzY3JhdGNoU2xvdCgpOiB2b2lkCnNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDgKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzcpCglsb2FkIDAKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGVjZHNhKCl2b2lkCiphYmlfcm91dGVfZWNkc2E6CgkvLyBleGVjdXRlIGVjZHNhKCl2b2lkCgljYWxsc3ViIGVjZHNhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlY2RzYSgpOiB2b2lkCmVjZHNhOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjEyCgkvLyBlY2RzYVZlcmlmeSgnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMikKCWJ5dGVjIDMgLy8gICIiCglkdXBuIDQKCWVjZHNhX3ZlcmlmeSBTZWNwMjU2azEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxMwoJLy8gZCA9IGVjZHNhUGtEZWNvbXByZXNzKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczwzMz4pCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLy8gIiIKCWVjZHNhX3BrX2RlY29tcHJlc3MgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDAgLy8gZCB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTQKCS8vIGxvZyhkLnkpCglmcmFtZV9kaWcgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE1CgkvLyBsb2coZC54KQoJZnJhbWVfZGlnIDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNwoJLy8gciA9IGVjZHNhUGtSZWNvdmVyKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczMyLCAxLCAnJyBhcyBieXRlczMyLCAnJyBhcyBieXRlczMyKQoJYnl0ZWMgMyAvLyAgIiIKCWludGMgMCAvLyAxCglieXRlYyAzIC8vICAiIgoJZHVwCgllY2RzYV9wa19yZWNvdmVyIFNlY3AyNTZrMQoJZnJhbWVfYnVyeSAyIC8vIHIgeSBjb21wb25lbnQ6IGJ5dGVbXQoJZnJhbWVfYnVyeSAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE4CgkvLyBsb2coci55KQoJZnJhbWVfZGlnIDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxOQoJLy8gbG9nKHIueCkKCWZyYW1lX2RpZyAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIHZlcmlmeVR4blR5cGVzKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuVHlwZXM6CgkvLyBleGVjdXRlIHZlcmlmeVR4blR5cGVzKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4blR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5UeXBlcygpOiB2b2lkCnZlcmlmeVR4blR5cGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMjMKCS8vIHZlcmlmeVBheVR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHBheQoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJwYXkifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJaW50YyAxIC8vIDAKCWd0eG5zIEFtb3VudAoJaW50YyAxIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyNwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiB7CgkvLyAgICAgICAgIDA6ICdmb28nLAoJLy8gICAgICAgICAxOiB7CgkvLyAgICAgICAgICAgaW5jbHVkZWRJbjogWydiYXInLCAnYmF6J10sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbAoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDIgLy8gIGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludGMgMSAvLyAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludGMgMSAvLyAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNSAvLyAgImZvbyIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MiLCJpbmRleCI6IjAiLCJleHBlY3RlZCI6Iidmb28nIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhcHBsaWNhdGlvbkFyZ3MgMQoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uQXJncyAxCglieXRlYyAxNCAvLyAgImJhciIKCT09CglpbnRjIDEgLy8gMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCXB1c2hieXRlcyAweDYyNjE3YSAvLyAiYmF6IgoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InRoaXMudHhuR3JvdXBbMF0ifSwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MgMSIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IlsnYmFyJywgJ2JheiddIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjM3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBheGZlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDcgLy8gIGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnRjIDEgLy8gMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQxCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDggLy8gIGFjZmcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYWNmZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgY29uZmlnQXNzZXQKCWludGMgMSAvLyAwCglndHhucyBDb25maWdBc3NldAoJaW50YyAxIC8vIDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJjb25maWdBc3NldCIsImV4cGVjdGVkIjoiQXNzZXRJRC5mcm9tVWludDY0KDApIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ1CgkvLyB2ZXJpZnlLZXlSZWdUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgdm90ZUZpcnN0OiAxMzM3LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkga2V5cmVnCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAga2V5cmVnCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImtleXJlZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgdm90ZUZpcnN0CglpbnRjIDEgLy8gMAoJZ3R4bnMgVm90ZUZpcnN0CglpbnRjIDYgLy8gMTMzNwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InZvdGVGaXJzdCIsImV4cGVjdGVkIjoiMTMzNyJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3RyaW5nUGx1c0VxdWFscygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1BsdXNFcXVhbHM6CgkvLyBleGVjdXRlIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKCWNhbGxzdWIgc3RyaW5nUGx1c0VxdWFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUGx1c0VxdWFscygpOiB2b2lkCnN0cmluZ1BsdXNFcXVhbHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjUxCgkvLyBzID0gJ2ZvbycKCWJ5dGVjIDUgLy8gICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTIKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZWMgMTQgLy8gICJiYXIiCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1MwoJLy8gYXNzZXJ0KHMgPT09ICdmb29iYXInKQoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglwdXNoYnl0ZXMgMHg2NjZmNmY2MjYxNzIgLy8gImZvb2JhciIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KKmFiaV9yb3V0ZV9pbXBvcnRlZFByb2dyYW06CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KCWNhbGxzdWIgaW1wb3J0ZWRQcm9ncmFtCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGltcG9ydGVkUHJvZ3JhbSgpOiBieXRlcwppbXBvcnRlZFByb2dyYW06Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIElmVGVzdC5hcHByb3ZhbFByb2dyYW0oKTsKCXB1c2hieXRlcyAweDBhMjAwNDAxMDAwMjIwMjYwOTA0MTUxZjdjNzUwMjY5NjYwNDY1NmM3MzY1MDM2NTZlNjQwMzY2NmY2ZjAwMDk2NTZjNzM2NTIwNjk2NjIwMzEwOTY1NmM3MzY1MjA2OTY2MjAzMjA3NjU2YzczNjUyMDY5NjYzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDMyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwMjI5ODkyYjg5MjgzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDEwMThiZmY0MTAwMDUyOTg5NDIwMDAyMmE4OTg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNTI5ODk0MjAwMDg4YmZlNDEwMDAzMjcwODg5MmI4OTI4MzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDIwMThiZmY0MTAwMDUyOTg5NDIwMDBkOGJmZTQxMDAwNjI3MDg4OTQyMDAwMjJhODk4OTI4MzYxYTAzNDkxNTIyMTI0NDIzNTMzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMzAxOGJmZjQxMDAwNTI5ODk0MjAwMTM4YmZlNDEwMDA2MjcwNjg5NDIwMDA4OGJmZDQxMDAwMzI3MDc4OTJiODkyODM2MWEwMzQ5MTUyMjEyNDQyMzUzMzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDMwMThiZmY0MTAwMDUyOTg5NDIwMDE4OGJmZTQxMDAwNjI3MDY4OTQyMDAwZDhiZmQ0MTAwMDYyNzA3ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMGM0OTE1MTY1NzA2MDI0YzUwNTBiMDIyNDM4YTAyMDE4YmZmNDEwMDE2OGJmZTQxMDAwYzgwMDk2ZTY1NzM3NDY1NjQyMDY5NjY4OTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwNTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMDUxNjUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNDIyNDIwMDBiOGJmZTQxMDAwNDI0NDIwMDAyODEwMzg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwMjIyODkyNDg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwNDIyNDIwMDAxMjQ4OTM2MWEwMTQ5MTUyNDEyNDQxNzg4MDAwMjIyNDM4YTAxMDA4YmZmMjcwNWE5NDEwMDAzMjcwNGIwODkzNjFhMDI0OTE1MjQxMjQ0MTczNjFhMDE0OTE1MjQxMjQ0MTc4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmUwZTQxMDAwMzI3MDRiMDg5MzYxYTAyNDkxNTI1MTI0NDM2MWEwMTQ5MTUyNTEyNDQ4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmVhNjQxMDAwMzI3MDRiMDg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAxOThiZmU0MTAwMGQ4MDA3NjEyMDYxNmU2NDIwNjI4OTQyMDAwNDgwMDE2MTg5NDIwMDE2OGJmZTQxMDAwNzgwMDE2Mjg5NDIwMDBhODAwNzZlNjU2OTc0Njg2NTcyODk4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDQzNmVjMWMyODAwNDFjN2EwZDVlODAwNDVlMGZiNmNmODAwNDVlMWM2YzUwODAwNDU4ZDBiYTkyODAwNDVkMmY0ZjAyODAwNDg0NTcyOWQ5ODAwNDhmZTc2Y2E4ODAwNDFhM2M3ODc4ODAwNDc0YmNjODY4ODAwNDQyMTJmOTA1ODAwNDk1ZGRhZWJmODAwNDMxNDdiODY2ODAwNDQyODk3ZjYxODAwNDUzNGJlMmI3MzYxYTAwOGUwZmZjNjBmYzg2ZmNiMGZjZWJmZDJhZmQ3YWZkY2VmZTEzZmUzZGZlNzJmZTkwZmViMGZlY2RmZWYzZmYxNzAwCglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjEKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglwdXNoYnl0ZXMgMHg2ODY1NmM2YzZmIC8vICJoZWxsbyIKCWNhbGxzdWIgcHJpdmF0ZU1ldGhvZAoJbG9nCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QobXNnOiBzdHJpbmcpOiBzdHJpbmcKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyByZXR1cm4gbXNnOwoJZnJhbWVfZGlnIC0xIC8vIG1zZzogc3RyaW5nCglyZXRzdWIKCi8vIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9pbnRlcmFsUHVibGljTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGludGVyYWxQdWJsaWNNZXRob2QoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKaW50ZXJhbFB1YmxpY01ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY5CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCS8vIGV4ZWN1dGUgY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY2FsbEludGVybmFsUHVibGljTWV0aG9kKCk6IHZvaWQKY2FsbEludGVybmFsUHVibGljTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzMKCS8vIGFzc2VydCh0aGlzLmludGVyYWxQdWJsaWNNZXRob2QoMSwgMikgPT09IDMpCglpbnRjIDMgLy8gMgoJaW50YyAwIC8vIDEKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaW50YyA4IC8vIDMKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwTG9hZFNjcmF0Y2goKXZvaWQKKmFiaV9yb3V0ZV9hcHBMb2FkU2NyYXRjaDoKCS8vIGV4ZWN1dGUgYXBwTG9hZFNjcmF0Y2goKXZvaWQKCWNhbGxzdWIgYXBwTG9hZFNjcmF0Y2gKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFwcExvYWRTY3JhdGNoKCk6IHZvaWQKYXBwTG9hZFNjcmF0Y2g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3NwoJLy8gbG9nKHRoaXMudHhuR3JvdXBbMV0ubG9hZFNjcmF0Y2goMikgYXMgYnl0ZXMpCglnbG9hZCAxIDIKCWxvZwoJcmV0c3ViCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CiphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CgljYWxsc3ViIHVpbnROV2l0aFVuZGVyc2NvcmUKCWR1cAoJYml0bGVuCglwdXNoaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCXB1c2hieXRlcyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDkgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCk6IHVpbnQyNTYKdWludE5XaXRoVW5kZXJzY29yZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjgxCgkvLyByZXR1cm4gPHVpbnQyNTY+MTIzXzQ1NjsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWUyNDAKCXJldHN1YgoKLy8gb3BVcCgpdm9pZAoqYWJpX3JvdXRlX29wVXA6CgkvLyBleGVjdXRlIG9wVXAoKXZvaWQKCWNhbGxzdWIgb3BVcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3BVcCgpOiB2b2lkCm9wVXA6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg1CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGZvciAobGV0IGkgPSAxOyBpIDwgNzU7IGkgKz0gMSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gaSA8IDc1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXB1c2hpbnQgNzUKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gYXNzZXJ0KGkpCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWFzc2VydAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CglyZXRzdWIKCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmcKKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCgljYWxsc3ViIHJldHVyblZhbHVlT25Bc3NpZ25tZW50CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KCk6IHN0cmluZwpyZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTIKCS8vIG1lc3NhZ2UgPSAnaGknCglwdXNoYnl0ZXMgMHg2ODY5IC8vICJoaSIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5hcHAuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTUKCS8vIG1lc3NhZ2UgPSAnaW4gYmxvY2snCglwdXNoYnl0ZXMgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTgKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGVjIDE1IC8vICAiYnllIgoJZHVwCglmcmFtZV9idXJ5IDAgLy8gbWVzc2FnZTogYnl0ZVtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwNAoJLy8gcmV0dXJuIChhWzBdID0gNCk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglpbnRjIDEgLy8gMAoJaW50YyA3IC8vIDQKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKTogdWludDY0CnJldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA4CgkvLyB0aGlzLmdLZXkudmFsdWUgPSAxCglieXRlYyAxMiAvLyAgImdLZXkiCglpbnRjIDAgLy8gMQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMxMAoJLy8gcmV0dXJuICh0aGlzLmdLZXkudmFsdWUgPSAyKTsKCWJ5dGVjIDEyIC8vICAiZ0tleSIKCWludGMgMyAvLyAyCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglhcHBfZ2xvYmFsX3B1dAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJcmV0c3ViCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCk6IHVpbnQ2NApyZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIGEgPSAxCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE2CgkvLyByZXR1cm4gKGEgKz0gMik7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWludGMgMyAvLyAyCgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMgoJLy8gcmV0dXJuIChhWzBdICs9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50YyAxIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgMCA4CglidG9pCglpbnRjIDcgLy8gNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjYKCS8vIHRoaXMuc3RvcmFnZUFycmF5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyA3IC8vICAic3RvcmFnZUFycmF5IgoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyOAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDAKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAwIDgKCWJ0b2kKCWludGMgNyAvLyA0CgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJYnl0ZWMgNyAvLyAgInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzIKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJcHVzaGJ5dGVzICJmb28iCglieXRlYyA1IC8vICAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzMzCgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnRjIDUgLy8gMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50YyA1IC8vIDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50YyAxIC8vIDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludGMgMSAvLyAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50YyAxIC8vIDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnRjIDEgLy8gMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDYKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUxCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTIKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1NgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZWMgMyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgl2cmZfdmVyaWZ5IFZyZkFsZ29yYW5kCglmcmFtZV9idXJ5IDAgLy8gciB2ZXJpZmllZDogYm9vbAoJZnJhbWVfYnVyeSAxIC8vIHIgb3V0cHV0OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MQoJLy8gYXNzZXJ0KCFyLnZlcmlmaWVkKQoJZnJhbWVfZGlnIDAgLy8gciB2ZXJpZmllZDogYm9vbAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjIKCS8vIGxvZyhyLm91dHB1dCkKCWZyYW1lX2RpZyAxIC8vIHIgb3V0cHV0OiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBlY01hdGgoKXZvaWQKKmFiaV9yb3V0ZV9lY01hdGg6CgkvLyBleGVjdXRlIGVjTWF0aCgpdm9pZAoJY2FsbHN1YiBlY01hdGgKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGVjTWF0aCgpOiB2b2lkCmVjTWF0aDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjYKCS8vIGVjU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjcKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfcGFpcmluZ19jaGVjayBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjgKCS8vIHNjYWxhcnM6IGJ5dGVzMzJbXSA9IFtiemVybygzMiksIGJ6ZXJvKDMyKV0KCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIHNjYWxhcnM6IGJ5dGVzMzJbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzY5CgkvLyBlY011bHRpU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsIHNjYWxhcnMpCglieXRlYyAwIC8vICAiIgoJYnl0ZWMgNCAvLyAgc2NhbGFyczogYnl0ZXMzMltdCgllY19tdWx0aV9zY2FsYXJfbXVsIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MAoJLy8gZWNTdWJncm91cENoZWNrKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfc3ViZ3JvdXBfY2hlY2sgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcxCgkvLyBlY01hcFRvKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MgoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlYyAwIC8vICAiIgoJZHVwCgllY19hZGQgQk4yNTRnMQoJcmV0c3ViCgovLyBnaXR4bigpdm9pZAoqYWJpX3JvdXRlX2dpdHhuOgoJLy8gZXhlY3V0ZSBnaXR4bigpdm9pZAoJY2FsbHN1YiBnaXR4bgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2l0eG4oKTogdm9pZApnaXR4bjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyh0aGlzLmxhc3RJbm5lckdyb3VwWzBdLnNlbmRlcikKCWdpdHhuIDAgU2VuZGVyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3OAoJLy8gYW5vdGhlclR4biA9IHRoaXMubGFzdElubmVyR3JvdXBbMV0KCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gYW5vdGhlclR4bjogZ2l0eG4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4MAoJLy8gbG9nKGFub3RoZXJUeG4uc2VuZGVyKQoJZ2l0eG4gMSBTZW5kZXIKCWxvZwoJcmV0c3ViCgovLyBnZXRTZXRCeXRlcygpdm9pZAoqYWJpX3JvdXRlX2dldFNldEJ5dGVzOgoJLy8gZXhlY3V0ZSBnZXRTZXRCeXRlcygpdm9pZAoJY2FsbHN1YiBnZXRTZXRCeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2V0U2V0Qnl0ZXMoKTogdm9pZApnZXRTZXRCeXRlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg0CgkvLyBsb2coc2V0Yml0KCdmb28nLCAwLCB0cnVlKSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODUKCS8vIGdldGJpdCgnZm9vJywgMCkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODYKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlYyA1IC8vICAiZm9vIgoJaW50YyAxIC8vIDAKCWdldGJ5dGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NwoJLy8gc2V0Ynl0ZSgnZm9vJywgMCwgMSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJ5dGUKCXJldHN1YgoKLy8gZ2V0U2V0VWludDY0KCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0VWludDY0OgoJLy8gZXhlY3V0ZSBnZXRTZXRVaW50NjQoKXZvaWQKCWNhbGxzdWIgZ2V0U2V0VWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRTZXRVaW50NjQoKTogdm9pZApnZXRTZXRVaW50NjQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5MQoJLy8gYXNzZXJ0KHNldGJpdCgxMjMsIDAsIHRydWUpKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkyCgkvLyBnZXRiaXQoMTIzLCAwKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBibG9ja09wKCl2b2lkCiphYmlfcm91dGVfYmxvY2tPcDoKCS8vIGV4ZWN1dGUgYmxvY2tPcCgpdm9pZAoJY2FsbHN1YiBibG9ja09wCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBibG9ja09wKCk6IHZvaWQKYmxvY2tPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk2CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5zZWVkKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrU2VlZAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOTcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnRpbWVzdGFtcCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1RpbWVzdGFtcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGI2NCgpdm9pZAoqYWJpX3JvdXRlX2I2NDoKCS8vIGV4ZWN1dGUgYjY0KCl2b2lkCgljYWxsc3ViIGI2NAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYjY0KCk6IHZvaWQKYjY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDEKCS8vIGxvZyhiYXNlNjREZWNvZGUoJ1N0ZEVuY29kaW5nJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA1CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlYyAwIC8vICAiIgoJZHVwCglqc29uX3JlZiBKU09OT2JqZWN0Cglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQwNgoJLy8gbG9nKGpzb25SZWYoJ0pTT05TdHJpbmcnLCAnJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJanNvbl9yZWYgSlNPTlN0cmluZwoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDcKCS8vIGFzc2VydChqc29uUmVmKCdKU09OVWludDY0JywgJycsICcnKSkKCWJ5dGVjIDAgLy8gICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDExCgkvLyBiaXRsZW4oMTIzKQoJaW50YyA1IC8vIDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTIKCS8vIGJpdGxlbignZm9vJykKCWJ5dGVjIDUgLy8gICJmb28iCgliaXRsZW4KCXJldHN1YgoKLy8gY29tcHV0ZWRDb25zdCgpdm9pZAoqYWJpX3JvdXRlX2NvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIGNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgY29tcHV0ZWRDb25zdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29tcHV0ZWRDb25zdCgpOiB2b2lkCmNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KENPTVBVVEVEX0NPTlNUKQoJcHVzaGludCAyNDYKCWFzc2VydAoJcmV0c3ViCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aUNvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIG11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBtdWx0aUNvbXB1dGVkQ29uc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQ29tcHV0ZWRDb25zdCgpOiB2b2lkCm11bHRpQ29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDIwCgkvLyBhc3NlcnQoTVVUTElfQ09NUFVURURfQ09OU1QpCglwdXNoaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNAoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludGMgMCAvLyAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNQoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50YyAzIC8vIDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDI2CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnRjIDggLy8gMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MjcKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50YyA3IC8vIDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMSAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbXBhcmlzb25PcigpOiBib29sZWFuCmNvbXBhcmlzb25PcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyID09PSBnbG9iYWxzLnplcm9BZGRyZXNzIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzczsKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJfHwKCipza2lwX29yMDoKCXJldHN1YgoKLy8gdHhuQXJnc01ldGhvZChwYXkpdm9pZAoqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2Q6CgkvLyBfcGF5MTogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzOQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglpdHhuX25leHQKCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTMgLy8gIG1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA5IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDQKCS8vIGFzc2VydChsZW4oeCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ4CgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDUyCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50YyAwIC8vIDEKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1MwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnRjIDAgLy8gMQoJbG9hZHMKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTgKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludGMgMCAvLyAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTkKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludGMgMTIgLy8gMTMzOAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9pbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYzCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID0gMTMzNwoJaW50YyAzIC8vIDIKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NAoJLy8gdGhpcy5keW5hbWljU2NyYXRjaCgyKS52YWx1ZSArPSAxCglpbnRjIDMgLy8gMgoJbG9hZHMKCWludGMgMCAvLyAxCgkrCglpbnRjIDMgLy8gMgoJc3dhcAoJc3RvcmVzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NjUKCS8vIGFzc2VydCh0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID09PSAxMzM4KQoJaW50YyAzIC8vIDIKCWxvYWRzCglpbnRjIDEyIC8vIDEzMzgKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUFkZHJlc3MoKXZvaWQKKmFiaV9yb3V0ZV9mcm9tQWRkcmVzczoKCS8vIGV4ZWN1dGUgZnJvbUFkZHJlc3MoKXZvaWQKCWNhbGxzdWIgZnJvbUFkZHJlc3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZyb21BZGRyZXNzKCk6IHZvaWQKZnJvbUFkZHJlc3M6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBhID0gQWRkcmVzcy5mcm9tQWRkcmVzcygnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVk1SEZLUScpCglieXRlYyAzIC8vICBhZGRyICJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRIgoJZnJhbWVfYnVyeSAwIC8vIGE6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3MAoJLy8gYXNzZXJ0KGEgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMCAvLyBhOiBhZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Vhcmx5UmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGVhcmx5UmV0dXJuKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZWFybHlSZXR1cm4KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlYXJseVJldHVybihhOiB1aW50NjQpOiB1aW50NjQKZWFybHlSZXR1cm46Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NAoJLy8gYSA9PT0gMQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzUKCS8vIHJldHVybiAyOwoJaW50YyAzIC8vIDIKCWIgKmVhcmx5UmV0dXJuKnJldHVybgoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NwoJLy8gYiA9IGEgKyAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDc4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAwIC8vIGI6IHVpbnQ2NAoKKmVhcmx5UmV0dXJuKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhc3NldE1ldGhvZEFyZ3MoKXZvaWQKKmFiaV9yb3V0ZV9hc3NldE1ldGhvZEFyZ3M6CgkvLyBleGVjdXRlIGFzc2V0TWV0aG9kQXJncygpdm9pZAoJY2FsbHN1YiBhc3NldE1ldGhvZEFyZ3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFzc2V0TWV0aG9kQXJncygpOiB2b2lkCmFzc2V0TWV0aG9kQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDgyCgkvLyBzZW5kTWV0aG9kQ2FsbDxbQXNzZXRSZWZlcmVuY2VdLCB2b2lkPih7CgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtBc3NldElELmZyb21VaW50NjQoMSldLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGExNTMxNmRlIC8vIG1ldGhvZCAiZm9vKGFzc2V0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg0CgkvLyBtZXRob2RBcmdzOiBbQXNzZXRJRC5mcm9tVWludDY0KDEpXQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aXBsZVByb2dyYW1QYWdlczoKCS8vIGV4ZWN1dGUgbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKCWNhbGxzdWIgbXVsdGlwbGVQcm9ncmFtUGFnZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpcGxlUHJvZ3JhbVBhZ2VzKCk6IHZvaWQKbXVsdGlwbGVQcm9ncmFtUGFnZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ5MwoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk0CgkvLyBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGVjIDEwIC8vICAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMSAvLyAgInBhZ2VUd28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VUd28udmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXQoJYnl0ZWMgMTAgLy8gICJwYWdlT25lIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlT25lLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoJYnl0ZWMgMTEgLy8gICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXJ0Q29tbWVudCgpdm9pZAoqYWJpX3JvdXRlX2Fzc2VydENvbW1lbnQ6CgkvLyBleGVjdXRlIGFzc2VydENvbW1lbnQoKXZvaWQKCWNhbGxzdWIgYXNzZXJ0Q29tbWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXJ0Q29tbWVudCgpOiB2b2lkCmFzc2VydENvbW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUwMAoJLy8gYXNzZXJ0KGZhbHNlLCAndGhpcyBpcyBmYWxzZScpCglpbnRjIDEgLy8gMAoKCS8vIHRoaXMgaXMgZmFsc2UKCWFzc2VydAoJcmV0c3ViCgovLyB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlOgoJLy8gZXhlY3V0ZSB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yTWVzc2FnZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKTogdm9pZAp0aHJvd0Vycm9yTWVzc2FnZToKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yTGl0ZXJhbFR5cGU6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yTGl0ZXJhbFR5cGUodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG9yTGl0ZXJhbFR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yTGl0ZXJhbFR5cGUoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yTGl0ZXJhbFR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDgKCS8vIGZvbyA9IGEgJiYgYiA9PT0gMSA/IDIgOiAwCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqdGVybmFyeTBfZmFsc2UKCWludGMgMyAvLyAyCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludGMgMSAvLyAwCgoqdGVybmFyeTBfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIGZvbzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydChmb28pCglmcmFtZV9kaWcgMCAvLyBmb286IHVpbnQ2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTEKCS8vIGJhciA9IGEgJiYgYiA9PT0gMCA/ICcyJyA6ICcwJwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnRjIDEgLy8gMAoJPT0KCSYmCgoqc2tpcF9hbmQxOgoJYnogKnRlcm5hcnkxX2ZhbHNlCglwdXNoYnl0ZXMgMHgzMiAvLyAiMiIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJYnl0ZWMgMTcgLy8gICIwIgoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMSAvLyBiYXI6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTEyCgkvLyBsb2coYmFyKQoJZnJhbWVfZGlnIDEgLy8gYmFyOiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBub25BYmkoKTogdm9pZApub25BYmk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE3CgkvLyBhc3NlcnQodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgpCgl0eG4gTnVtQXBwQXJncwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxOQoJLy8gaSA8IHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyEubGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4biBOdW1BcHBBcmdzCgk8CglieiAqZm9yXzFfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MjAKCS8vIGxvZyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cgl0eG5hcyBBcHBsaWNhdGlvbkFyZ3MKCWxvZwoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CglyZXRzdWIKCi8vIG11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbDoKCS8vIGV4ZWN1dGUgbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCgljYWxsc3ViIG11bHRpbGluZUZ1bmN0aW9uQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCk6IHZvaWQKbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTI1CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNgoJLy8gYWRkciA9IEFkZHJlc3MuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyOAoJLy8gYXBwLmxvY2FsU3RhdGUoCgkvLyAgICAgICBhZGRyLAoJLy8gICAgICAgJ2tleScKCS8vICAgICApCglmcmFtZV9kaWcgMSAvLyBhZGRyOiBhZGRyZXNzCglpbnRjIDEgLy8gIGFwcDogdWludDY0CglwdXNoYnl0ZXMgMHg2YjY1NzkgLy8gImtleSIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogYXBwLmxvY2FsU3RhdGUoIGFkZHIsICdrZXknICkKCWFzc2VydAoJcmV0c3ViCgovLyBhKCl1aW50NjQKKmFiaV9yb3V0ZV9hOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGEoKXVpbnQ2NAoJY2FsbHN1YiBhCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB1aW50NjQKYToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gMzsKCWludGMgOCAvLyAzCglyZXRzdWIKCi8vIGIoKXVpbnQ2NAoqYWJpX3JvdXRlX2I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYigpdWludDY0CgljYWxsc3ViIGIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHVpbnQ2NApiOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzkKCS8vIHJldHVybiA1OwoJaW50YyA0IC8vIDUKCXJldHN1YgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3VudXNlZE1ldGhvZFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgdW51c2VkTWV0aG9kVmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1bnVzZWRNZXRob2RWYWx1ZSgpOiB1aW50NjQKdW51c2VkTWV0aG9kVmFsdWU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0MwoJLy8gdGhpcy5hKCkKCWNhbGxzdWIgYQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDQKCS8vIHJldHVybiB0aGlzLmIoKTsKCWNhbGxzdWIgYgoJcmV0c3ViCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoqYWJpX3JvdXRlX3JlYXNzaWduZWROb25GaXJzdFZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoJY2FsbHN1YiByZWFzc2lnbmVkTm9uRmlyc3RWYXIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKTogdWludDY0CnJlYXNzaWduZWROb25GaXJzdFZhcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NQoJLy8gYSA9IDEgYXMgdWludDY0CglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU2CgkvLyBiID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTcKCS8vIGEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU4CgkvLyBiID0gMgoJaW50YyAzIC8vIDIKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NjEKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDEgLy8gYjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBmdkx2KCl2b2lkCiphYmlfcm91dGVfZnZMdjoKCS8vIGV4ZWN1dGUgZnZMdigpdm9pZAoJY2FsbHN1YiBmdkx2CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmdkx2KCk6IHZvaWQKZnZMdjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTY1CgkvLyBhc3NlcnQodGhpcy50eG4uZmlyc3RWYWxpZCkKCXR4biBGaXJzdFZhbGlkCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU2NgoJLy8gYXNzZXJ0KHRoaXMudHhuLmxhc3RWYWxpZCkKCXR4biBMYXN0VmFsaWQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDYyNDI2NGEzIC8vIG1ldGhvZCAidHhuVHlwZUVudW0oKXZvaWQiCglwdXNoYnl0ZXMgMHhiMjA1ZWRjOSAvLyBtZXRob2QgInR4bkdyb3VwTGVuZ3RoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZlOTdkNWIgLy8gbWV0aG9kICJhc3NlcnRzKGJvb2wsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ2ZmE3YzggLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4MGVhNjQ0ZmIgLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQiCglwdXNoYnl0ZXMgMHhlYzBkOTA5NCAvLyBtZXRob2QgInZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweDY4ODQ4ZDk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDE4YmQyM2RjIC8vIG1ldGhvZCAidmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDgwNmJmYjkzIC8vIG1ldGhvZCAic3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2JlNWY4MmUgLy8gbWV0aG9kICJtZXRob2RXaXRoVHhuQXJncygpdm9pZCIKCXB1c2hieXRlcyAweDEyOTVkNjgzIC8vIG1ldGhvZCAic2hpZnQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiM2I4YzQ3MiAvLyBtZXRob2QgImZyb21CeXRlcygpdm9pZCIKCXB1c2hieXRlcyAweDUzZTBiNmYwIC8vIG1ldGhvZCAiZnJvbVVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDRiM2ViODc3IC8vIG1ldGhvZCAiYnplcm9GdW5jdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweGRhYzJlN2E1IC8vIG1ldGhvZCAiZXZlbnRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTNkYjY3MDQgLy8gbWV0aG9kICJsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10iCglwdXNoYnl0ZXMgMHhhZTIxYzE3MiAvLyBtZXRob2QgInN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZCIKCXB1c2hieXRlcyAweGRhYjRkMWM0IC8vIG1ldGhvZCAibnVtYmVyVG9TdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhhN2I0YWU5YSAvLyBtZXRob2QgIm1ldGhvZE9uUGFyZW5zKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NmQ0NDg1YmEgLy8gbWV0aG9kICJzdHJpbmdTdWJzdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhlZjYyNjJlOSAvLyBtZXRob2QgImlkUHJvcGVydHkoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZDJiNjY4YiAvLyBtZXRob2QgInNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZjMTU0ZmMgLy8gbWV0aG9kICJlY2RzYSgpdm9pZCIKCXB1c2hieXRlcyAweGE5NzY0MTk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuVHlwZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHg5ZGJiYzQyYyAvLyBtZXRob2QgInN0cmluZ1BsdXNFcXVhbHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YzBkZGVjMSAvLyBtZXRob2QgImltcG9ydGVkUHJvZ3JhbSgpYnl0ZVtdIgoJcHVzaGJ5dGVzIDB4MzBlY2ZiNDEgLy8gbWV0aG9kICJjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpdm9pZCIKCXB1c2hieXRlcyAweDE0YTQ5OTE5IC8vIG1ldGhvZCAiaW50ZXJhbFB1YmxpY01ldGhvZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3MWMxNzlhIC8vIG1ldGhvZCAiY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OTg0ODEwOTMgLy8gbWV0aG9kICJhcHBMb2FkU2NyYXRjaCgpdm9pZCIKCXB1c2hieXRlcyAweGY1NzJkMWMxIC8vIG1ldGhvZCAidWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NiIKCXB1c2hieXRlcyAweDg1NGRlZGUwIC8vIG1ldGhvZCAib3BVcCgpdm9pZCIKCXB1c2hieXRlcyAweDY4MTU5OWZhIC8vIG1ldGhvZCAicmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZyIKCXB1c2hieXRlcyAweDVlMTQ3N2U4IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTA3YjNiZTkgLy8gbWV0aG9kICJyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDE2ZTQ2NjU3IC8vIG1ldGhvZCAicmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDJjODM2ZjQ2IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50KCl1aW50NjQiCglwdXNoYnl0ZXMgMHhhOTNjNTZmOSAvLyBtZXRob2QgInJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZjkzNjk1MmQgLy8gbWV0aG9kICJjb25zdHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg4OGYzOWM5OSAvLyBtZXRob2QgImFzc2VydFdpdGhNZXNzYWdlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTg3OTRjZjQgLy8gbWV0aG9kICJvcGNvZGVBbGlhc2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzUwNDRhZDggLy8gbWV0aG9kICJ2cmZWZXJpZnlPcCgpdm9pZCIKCXB1c2hieXRlcyAweDdkMjc5ZThlIC8vIG1ldGhvZCAiZWNNYXRoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2RmYTE4YzggLy8gbWV0aG9kICJnaXR4bigpdm9pZCIKCXB1c2hieXRlcyAweDc4Y2E1YzRlIC8vIG1ldGhvZCAiZ2V0U2V0Qnl0ZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHgwZTY3ZTk1NyAvLyBtZXRob2QgImdldFNldFVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDNiNDQ2ZWVmIC8vIG1ldGhvZCAiYmxvY2tPcCgpdm9pZCIKCXB1c2hieXRlcyAweGFlODJlODc1IC8vIG1ldGhvZCAiYjY0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDY5YWY1MzAgLy8gbWV0aG9kICJqc29uKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQ1MmYzM2QgLy8gbWV0aG9kICJiaXRsZW5PcCgpdm9pZCIKCXB1c2hieXRlcyAweDJjMGNkMjAxIC8vIG1ldGhvZCAiY29tcHV0ZWRDb25zdCgpdm9pZCIKCXB1c2hieXRlcyAweDcwZTBhZmU1IC8vIG1ldGhvZCAibXVsdGlDb21wdXRlZENvbnN0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzBhMmZlZjQgLy8gbWV0aG9kICJyZWFkU2NoZW1hKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjM5NzFkY2EgLy8gbWV0aG9kICJjb21wYXJpc29uT3IoKWJvb2wiCglieXRlYyAxMyAvLyAgbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4OWU0MGQzNGIgLy8gbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCXB1c2hieXRlcyAweDkxY2YyYjU4IC8vIG1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJcHVzaGJ5dGVzIDB4YjFjOGI0NWMgLy8gbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OWMwZTFiZGIgLy8gbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgwYTMxOTUwNCAvLyBtZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODRiMjYwZmEgLy8gbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YTkwODg1NiAvLyBtZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGRlYjMyZDMgLy8gbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NjdkZTE1NmYgLy8gbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCglwdXNoYnl0ZXMgMHgxZTQyODQxMiAvLyBtZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjc4ZmQ4YjggLy8gbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmZjMzYyMDggLy8gbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCXB1c2hieXRlcyAweDA0ZWVkZjc5IC8vIG1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgzNWQ1ZmJjNyAvLyBtZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCXB1c2hieXRlcyAweGY5NTIyZTJmIC8vIG1ldGhvZCAiYSgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGM5Mzc5ZTYgLy8gbWV0aG9kICJiKCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmOWExMzU1MiAvLyBtZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5NGYyMDQ5YSAvLyBtZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTYyNjQyMTUgLy8gbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJcHVzaGJ5dGVzIDB4MzAzMTMyMzMzNDM1MzYzNzM4MzkgLy8gIjAxMjM0NTY3ODkiCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJZXh0cmFjdDMKCXJldHN1YgoJCgoqaXRvYToKCXByb3RvIDEgMQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDAKCT09CglieiAqaXRvYV9pZl9lbmQKCWJ5dGVjIDE3IC8vIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMAoJLwoJaW50YyAxIC8vIDAKCT4KCWJ6ICppdG9hX3Rlcm5hcnlfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMTAgLy8gMTAKCS8KCWNhbGxzdWIgKml0b2EKCWIgKml0b2FfdGVybmFyeV9lbmQKCippdG9hX3Rlcm5hcnlfZmFsc2U6CglieXRlYyAwIC8vICAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDEwIC8vIDEwCgklCgljYWxsc3ViICppbnRUb0FzY2lpCgljb25jYXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAyIDUgMTIzIDEzMzcgNCAzIDMyIDEwIDEwMF8wMDAgMTMzOApieXRlY2Jsb2NrIDB4IDB4MGE4MTAxIDB4MTUxZjdjNzUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg2NjZmNmYgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgMHgwMDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAxIDB4NzA2MTY3NjU0ZjZlNjUgMHg3MDYxNjc2NTU0Nzc2ZiAweDY3NGI2NTc5IDB4MmM2MzZlZWIgMHg2MjYxNzIgMHg2Mjc5NjUgMHgwMDAwIDB4MzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHR4blR5cGVFbnVtKCl2b2lkCiphYmlfcm91dGVfdHhuVHlwZUVudW06CgkvLyBleGVjdXRlIHR4blR5cGVFbnVtKCl2b2lkCgljYWxsc3ViIHR4blR5cGVFbnVtCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0eG5UeXBlRW51bSgpOiB2b2lkCnR4blR5cGVFbnVtOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo2OQoJLy8gYXNzZXJ0KHRoaXMudHhuR3JvdXBbMF0udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwpCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NzMKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludGMgMCAvLyAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjc3CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoc29tZVBheSkgZm9yIHZlcmlmeVR4bkZyb21BcmcgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21BcmcKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkZyb21Bcmcoc29tZVBheTogUGF5VHhuKTogdm9pZAp2ZXJpZnlUeG5Gcm9tQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4MQoJLy8gdmVyaWZ5VHhuKHNvbWVQYXksIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMTAwXzAwMCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgMTEgLy8gMTAwXzAwMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiMTAwXzAwMCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKTogdm9pZAp2ZXJpZnlUeG5Gcm9tVHhuR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjg1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG5Hcm91cFswXSwgeyBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb246CgkvLyBleGVjdXRlIHZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Db25kaXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkNvbmRpdGlvbigpOiB2b2lkCnZlcmlmeVR4bkNvbmRpdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6ODkKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogeyBncmVhdGVyVGhhbjogMSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJdHhuIEFwcGxpY2F0aW9uSUQKCWludGMgMCAvLyAxCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuSW5jbHVkZWRJbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bkluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbdGhpcy50eG4uc2VuZGVyXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Ilt0aGlzLnR4bi5zZW5kZXJdIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCk6IHZvaWQKdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwNwoJLy8gdGhpcy5wZW5kaW5nR3JvdXAuYWRkUGF5bWVudCh7IGFtb3VudDogMCwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGlzRmlyc3RUeG46IHRydWUgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA4CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgbm90ZTogJ2ZvbycgfSkKCWl0eG5fbmV4dAoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gYW1vdW50OiAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIG5vdGU6ICdmb28nCglieXRlYyA1IC8vICAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDkKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE2CgkvLyBhbW91bnQ6IDEwMF8wMDAKCWludGMgMTEgLy8gMTAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExNgoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDBlOGNiOWY2IC8vIG1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50YyA2IC8vIDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTIwCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDZjNmY3YTA4IC8vIG1ldGhvZCAiZm9vKHBheSxhcHBsKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgYW1vdW50OiAxMDBfMDAwLCByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyIH0sCgkvLyAgICAgICAgIHsKCS8vICAgICAgICAgICBuYW1lOiAnYmFyJywKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDEzMzcpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsxXSwKCS8vICAgICAgICAgfSwKCS8vICAgICAgIF0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc2hpZnQoKXZvaWQKKmFiaV9yb3V0ZV9zaGlmdDoKCS8vIGV4ZWN1dGUgc2hpZnQoKXZvaWQKCWNhbGxzdWIgc2hpZnQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNoaWZ0KCk6IHZvaWQKc2hpZnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNwoJLy8gYXNzZXJ0KDEgPDwgMiA9PT0gNCkKCWludGMgMCAvLyAxCglpbnRjIDMgLy8gMgoJc2hsCglpbnRjIDcgLy8gNAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBhc3NlcnQoNCA+PiAxID09PSAyKQoJaW50YyA3IC8vIDQKCWludGMgMCAvLyAxCglzaHIKCWludGMgMyAvLyAyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21CeXRlcygpdm9pZAoqYWJpX3JvdXRlX2Zyb21CeXRlczoKCS8vIGV4ZWN1dGUgZnJvbUJ5dGVzKCl2b2lkCgljYWxsc3ViIGZyb21CeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnJvbUJ5dGVzKCk6IHZvaWQKZnJvbUJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMzIKCS8vIGFzc2VydChBZGRyZXNzLmZyb21CeXRlcygnYWJjJykubWluQmFsYW5jZSkKCXB1c2hieXRlcyAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnRjIDUgLy8gMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM3CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludGMgNSAvLyAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MgoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZWMgMTYgLy8gMHgwMDAwCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MwoJLy8geTogYnl0ZXMgPSBiemVybyhuKQoJaW50YyAwIC8vIDEKCWJ6ZXJvCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0NAoJLy8gejogW3VpbnQ2NCwgdWludDw4Pl0gPSBiemVybzxbdWludDY0LCB1aW50PDg+XT4oKQoJYnl0ZWMgOCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAyIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNDUKCS8vIGFzc2VydChsZW4oeCArIHkgKyB6KSA9PT0gMTIpCglieXRlYyAxNiAvLyAgeDogYnl0ZXMKCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVzCgljb25jYXQKCWJ5dGVjIDggLy8gIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJcHVzaGludCAxMgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBldmVudHMoKXZvaWQKKmFiaV9yb3V0ZV9ldmVudHM6CgkvLyBleGVjdXRlIGV2ZW50cygpdm9pZAoJY2FsbHN1YiBldmVudHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV2ZW50cygpOiB2b2lkCmV2ZW50czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTYwCgkvLyB0aGlzLm15RXZlbnQubG9nKHsgYXBwOiB0aGlzLmFwcCwgbnVtOiAxIH0pCglwdXNoYnl0ZXMgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxldE9wdGltaXphdGlvbihhOiB1aW50NjRbXSk6IHVpbnQ2NFtdCmxldE9wdGltaXphdGlvbjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY0CgkvLyBhc3NlcnQoYVswXSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAtMSAvLyBiOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJcmV0c3ViCgovLyBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNDb250cmFjdFByb3BlcnRpZXM6CgkvLyBleGVjdXRlIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoJY2FsbHN1YiBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpOiB2b2lkCnN0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTcyCgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IER1bW15Q29udHJhY3QuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBsb2NhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTczCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDEgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzQKCS8vIGFwcHJvdmFsUHJvZ3JhbTogRHVtbXlDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMDAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bUJ5dGVTbGljZQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgTG9jYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NwoJLy8gbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50CglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBMb2NhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OQoJLy8gZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG51bWJlclRvU3RyaW5nKCl2b2lkCiphYmlfcm91dGVfbnVtYmVyVG9TdHJpbmc6CgkvLyBleGVjdXRlIG51bWJlclRvU3RyaW5nKCl2b2lkCgljYWxsc3ViIG51bWJlclRvU3RyaW5nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBudW1iZXJUb1N0cmluZygpOiB2b2lkCm51bWJlclRvU3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODYKCS8vIGFzc2VydChuLnRvU3RyaW5nKCkgPT09IHMpCglpbnRjIDAgLy8gMQoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzICIxIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBtZXRob2RPblBhcmVucygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZE9uUGFyZW5zOgoJLy8gZXhlY3V0ZSBtZXRob2RPblBhcmVucygpdm9pZAoJY2FsbHN1YiBtZXRob2RPblBhcmVucwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kT25QYXJlbnMoKTogdm9pZAptZXRob2RPblBhcmVuczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkwCgkvLyBhc3NlcnQoKDEgKyAyKS50b1N0cmluZygpID09PSAnMycpCglpbnRjIDggLy8gMwoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCXB1c2hieXRlcyAiYWJjZGVmIgoJc3Vic3RyaW5nIDEgMwoJcHVzaGJ5dGVzIDB4NjI2MyAvLyAiYmMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGlkUHJvcGVydHkoKXZvaWQKKmFiaV9yb3V0ZV9pZFByb3BlcnR5OgoJLy8gZXhlY3V0ZSBpZFByb3BlcnR5KCl2b2lkCgljYWxsc3ViIGlkUHJvcGVydHkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlkUHJvcGVydHkoKTogdm9pZAppZFByb3BlcnR5OgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwMAoJLy8gYXNzZXJ0KEFwcElELmZyb21VaW50NjQoYXBwLmlkKSA9PT0gYXBwKQoJaW50YyAxIC8vICBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDIKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDMKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50YyAxIC8vICBhc2E6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfc2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIHNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIHNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzY3JhdGNoU2xvdCgpOiB2b2lkCnNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDgKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzcpCglsb2FkIDAKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGVjZHNhKCl2b2lkCiphYmlfcm91dGVfZWNkc2E6CgkvLyBleGVjdXRlIGVjZHNhKCl2b2lkCgljYWxsc3ViIGVjZHNhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlY2RzYSgpOiB2b2lkCmVjZHNhOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjEyCgkvLyBlY2RzYVZlcmlmeSgnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMikKCWJ5dGVjIDMgLy8gICIiCglkdXBuIDQKCWVjZHNhX3ZlcmlmeSBTZWNwMjU2azEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxMwoJLy8gZCA9IGVjZHNhUGtEZWNvbXByZXNzKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczwzMz4pCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLy8gIiIKCWVjZHNhX3BrX2RlY29tcHJlc3MgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDAgLy8gZCB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTQKCS8vIGxvZyhkLnkpCglmcmFtZV9kaWcgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE1CgkvLyBsb2coZC54KQoJZnJhbWVfZGlnIDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNwoJLy8gciA9IGVjZHNhUGtSZWNvdmVyKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczMyLCAxLCAnJyBhcyBieXRlczMyLCAnJyBhcyBieXRlczMyKQoJYnl0ZWMgMyAvLyAgIiIKCWludGMgMCAvLyAxCglieXRlYyAzIC8vICAiIgoJZHVwCgllY2RzYV9wa19yZWNvdmVyIFNlY3AyNTZrMQoJZnJhbWVfYnVyeSAyIC8vIHIgeSBjb21wb25lbnQ6IGJ5dGVbXQoJZnJhbWVfYnVyeSAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE4CgkvLyBsb2coci55KQoJZnJhbWVfZGlnIDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxOQoJLy8gbG9nKHIueCkKCWZyYW1lX2RpZyAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIHZlcmlmeVR4blR5cGVzKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuVHlwZXM6CgkvLyBleGVjdXRlIHZlcmlmeVR4blR5cGVzKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4blR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5UeXBlcygpOiB2b2lkCnZlcmlmeVR4blR5cGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMjMKCS8vIHZlcmlmeVBheVR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHBheQoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJwYXkifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJaW50YyAxIC8vIDAKCWd0eG5zIEFtb3VudAoJaW50YyAxIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyNwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiB7CgkvLyAgICAgICAgIDA6ICdmb28nLAoJLy8gICAgICAgICAxOiB7CgkvLyAgICAgICAgICAgaW5jbHVkZWRJbjogWydiYXInLCAnYmF6J10sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbAoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDIgLy8gIGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludGMgMSAvLyAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludGMgMSAvLyAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNSAvLyAgImZvbyIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MiLCJpbmRleCI6IjAiLCJleHBlY3RlZCI6Iidmb28nIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhcHBsaWNhdGlvbkFyZ3MgMQoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uQXJncyAxCglieXRlYyAxNCAvLyAgImJhciIKCT09CglpbnRjIDEgLy8gMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCXB1c2hieXRlcyAweDYyNjE3YSAvLyAiYmF6IgoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InRoaXMudHhuR3JvdXBbMF0ifSwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MgMSIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IlsnYmFyJywgJ2JheiddIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjM3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBheGZlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDcgLy8gIGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnRjIDEgLy8gMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQxCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDggLy8gIGFjZmcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYWNmZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgY29uZmlnQXNzZXQKCWludGMgMSAvLyAwCglndHhucyBDb25maWdBc3NldAoJaW50YyAxIC8vIDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJjb25maWdBc3NldCIsImV4cGVjdGVkIjoiQXNzZXRJRC5mcm9tVWludDY0KDApIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ1CgkvLyB2ZXJpZnlLZXlSZWdUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgdm90ZUZpcnN0OiAxMzM3LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkga2V5cmVnCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAga2V5cmVnCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImtleXJlZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgdm90ZUZpcnN0CglpbnRjIDEgLy8gMAoJZ3R4bnMgVm90ZUZpcnN0CglpbnRjIDYgLy8gMTMzNwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InZvdGVGaXJzdCIsImV4cGVjdGVkIjoiMTMzNyJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3RyaW5nUGx1c0VxdWFscygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1BsdXNFcXVhbHM6CgkvLyBleGVjdXRlIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKCWNhbGxzdWIgc3RyaW5nUGx1c0VxdWFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUGx1c0VxdWFscygpOiB2b2lkCnN0cmluZ1BsdXNFcXVhbHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjUxCgkvLyBzID0gJ2ZvbycKCWJ5dGVjIDUgLy8gICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTIKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZWMgMTQgLy8gICJiYXIiCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1MwoJLy8gYXNzZXJ0KHMgPT09ICdmb29iYXInKQoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglwdXNoYnl0ZXMgMHg2NjZmNmY2MjYxNzIgLy8gImZvb2JhciIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KKmFiaV9yb3V0ZV9pbXBvcnRlZFByb2dyYW06CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KCWNhbGxzdWIgaW1wb3J0ZWRQcm9ncmFtCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGltcG9ydGVkUHJvZ3JhbSgpOiBieXRlcwppbXBvcnRlZFByb2dyYW06Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIElmVGVzdC5hcHByb3ZhbFByb2dyYW0oKTsKCXB1c2hieXRlcyAweDBhMjAwNDAxMDAwMjIwMjYwOTA0MTUxZjdjNzUwMjY5NjYwNDY1NmM3MzY1MDM2NTZlNjQwMzY2NmY2ZjAwMDk2NTZjNzM2NTIwNjk2NjIwMzEwOTY1NmM3MzY1MjA2OTY2MjAzMjA3NjU2YzczNjUyMDY5NjYzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDMyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwMjI5ODkyYjg5MjgzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDEwMThiZmY0MTAwMDUyOTg5NDIwMDAyMmE4OTg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNTI5ODk0MjAwMDg4YmZlNDEwMDAzMjcwODg5MmI4OTI4MzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDIwMThiZmY0MTAwMDUyOTg5NDIwMDBkOGJmZTQxMDAwNjI3MDg4OTQyMDAwMjJhODk4OTI4MzYxYTAzNDkxNTIyMTI0NDIzNTMzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMzAxOGJmZjQxMDAwNTI5ODk0MjAwMTM4YmZlNDEwMDA2MjcwNjg5NDIwMDA4OGJmZDQxMDAwMzI3MDc4OTJiODkyODM2MWEwMzQ5MTUyMjEyNDQyMzUzMzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDMwMThiZmY0MTAwMDUyOTg5NDIwMDE4OGJmZTQxMDAwNjI3MDY4OTQyMDAwZDhiZmQ0MTAwMDYyNzA3ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMGM0OTE1MTY1NzA2MDI0YzUwNTBiMDIyNDM4YTAyMDE4YmZmNDEwMDE2OGJmZTQxMDAwYzgwMDk2ZTY1NzM3NDY1NjQyMDY5NjY4OTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwNTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMDUxNjUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNDIyNDIwMDBiOGJmZTQxMDAwNDI0NDIwMDAyODEwMzg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwMjIyODkyNDg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwNDIyNDIwMDAxMjQ4OTM2MWEwMTQ5MTUyNDEyNDQxNzg4MDAwMjIyNDM4YTAxMDA4YmZmMjcwNWE5NDEwMDAzMjcwNGIwODkzNjFhMDI0OTE1MjQxMjQ0MTczNjFhMDE0OTE1MjQxMjQ0MTc4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmUwZTQxMDAwMzI3MDRiMDg5MzYxYTAyNDkxNTI1MTI0NDM2MWEwMTQ5MTUyNTEyNDQ4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmVhNjQxMDAwMzI3MDRiMDg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAxOThiZmU0MTAwMGQ4MDA3NjEyMDYxNmU2NDIwNjI4OTQyMDAwNDgwMDE2MTg5NDIwMDE2OGJmZTQxMDAwNzgwMDE2Mjg5NDIwMDBhODAwNzZlNjU2OTc0Njg2NTcyODk4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDQzNmVjMWMyODAwNDFjN2EwZDVlODAwNDVlMGZiNmNmODAwNDVlMWM2YzUwODAwNDU4ZDBiYTkyODAwNDVkMmY0ZjAyODAwNDg0NTcyOWQ5ODAwNDhmZTc2Y2E4ODAwNDFhM2M3ODc4ODAwNDc0YmNjODY4ODAwNDQyMTJmOTA1ODAwNDk1ZGRhZWJmODAwNDMxNDdiODY2ODAwNDQyODk3ZjYxODAwNDUzNGJlMmI3MzYxYTAwOGUwZmZjNjBmYzg2ZmNiMGZjZWJmZDJhZmQ3YWZkY2VmZTEzZmUzZGZlNzJmZTkwZmViMGZlY2RmZWYzZmYxNzAwCglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjEKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglwdXNoYnl0ZXMgMHg2ODY1NmM2YzZmIC8vICJoZWxsbyIKCWNhbGxzdWIgcHJpdmF0ZU1ldGhvZAoJbG9nCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QobXNnOiBzdHJpbmcpOiBzdHJpbmcKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyByZXR1cm4gbXNnOwoJZnJhbWVfZGlnIC0xIC8vIG1zZzogc3RyaW5nCglyZXRzdWIKCi8vIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9pbnRlcmFsUHVibGljTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGludGVyYWxQdWJsaWNNZXRob2QoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKaW50ZXJhbFB1YmxpY01ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY5CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCS8vIGV4ZWN1dGUgY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY2FsbEludGVybmFsUHVibGljTWV0aG9kKCk6IHZvaWQKY2FsbEludGVybmFsUHVibGljTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzMKCS8vIGFzc2VydCh0aGlzLmludGVyYWxQdWJsaWNNZXRob2QoMSwgMikgPT09IDMpCglpbnRjIDMgLy8gMgoJaW50YyAwIC8vIDEKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaW50YyA4IC8vIDMKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwTG9hZFNjcmF0Y2goKXZvaWQKKmFiaV9yb3V0ZV9hcHBMb2FkU2NyYXRjaDoKCS8vIGV4ZWN1dGUgYXBwTG9hZFNjcmF0Y2goKXZvaWQKCWNhbGxzdWIgYXBwTG9hZFNjcmF0Y2gKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFwcExvYWRTY3JhdGNoKCk6IHZvaWQKYXBwTG9hZFNjcmF0Y2g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3NwoJLy8gbG9nKHRoaXMudHhuR3JvdXBbMV0ubG9hZFNjcmF0Y2goMikgYXMgYnl0ZXMpCglnbG9hZCAxIDIKCWxvZwoJcmV0c3ViCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CiphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CgljYWxsc3ViIHVpbnROV2l0aFVuZGVyc2NvcmUKCWR1cAoJYml0bGVuCglwdXNoaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCXB1c2hieXRlcyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDkgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCk6IHVpbnQyNTYKdWludE5XaXRoVW5kZXJzY29yZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjgxCgkvLyByZXR1cm4gPHVpbnQyNTY+MTIzXzQ1NjsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWUyNDAKCXJldHN1YgoKLy8gb3BVcCgpdm9pZAoqYWJpX3JvdXRlX29wVXA6CgkvLyBleGVjdXRlIG9wVXAoKXZvaWQKCWNhbGxzdWIgb3BVcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3BVcCgpOiB2b2lkCm9wVXA6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg1CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGZvciAobGV0IGkgPSAxOyBpIDwgNzU7IGkgKz0gMSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gaSA8IDc1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXB1c2hpbnQgNzUKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gYXNzZXJ0KGkpCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWFzc2VydAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CglyZXRzdWIKCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmcKKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCgljYWxsc3ViIHJldHVyblZhbHVlT25Bc3NpZ25tZW50CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KCk6IHN0cmluZwpyZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTIKCS8vIG1lc3NhZ2UgPSAnaGknCglwdXNoYnl0ZXMgMHg2ODY5IC8vICJoaSIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5hcHAuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTUKCS8vIG1lc3NhZ2UgPSAnaW4gYmxvY2snCglwdXNoYnl0ZXMgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTgKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGVjIDE1IC8vICAiYnllIgoJZHVwCglmcmFtZV9idXJ5IDAgLy8gbWVzc2FnZTogYnl0ZVtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwNAoJLy8gcmV0dXJuIChhWzBdID0gNCk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglpbnRjIDEgLy8gMAoJaW50YyA3IC8vIDQKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKTogdWludDY0CnJldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA4CgkvLyB0aGlzLmdLZXkudmFsdWUgPSAxCglieXRlYyAxMiAvLyAgImdLZXkiCglpbnRjIDAgLy8gMQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMxMAoJLy8gcmV0dXJuICh0aGlzLmdLZXkudmFsdWUgPSAyKTsKCWJ5dGVjIDEyIC8vICAiZ0tleSIKCWludGMgMyAvLyAyCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglhcHBfZ2xvYmFsX3B1dAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJcmV0c3ViCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCk6IHVpbnQ2NApyZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIGEgPSAxCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE2CgkvLyByZXR1cm4gKGEgKz0gMik7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWludGMgMyAvLyAyCgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMgoJLy8gcmV0dXJuIChhWzBdICs9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50YyAxIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgMCA4CglidG9pCglpbnRjIDcgLy8gNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjYKCS8vIHRoaXMuc3RvcmFnZUFycmF5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyA3IC8vICAic3RvcmFnZUFycmF5IgoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyOAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDAKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAwIDgKCWJ0b2kKCWludGMgNyAvLyA0CgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJYnl0ZWMgNyAvLyAgInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzIKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJcHVzaGJ5dGVzICJmb28iCglieXRlYyA1IC8vICAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzMzCgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnRjIDUgLy8gMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50YyA1IC8vIDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50YyAxIC8vIDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludGMgMSAvLyAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50YyAxIC8vIDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnRjIDEgLy8gMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDYKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUxCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTIKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1NgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZWMgMyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgl2cmZfdmVyaWZ5IFZyZkFsZ29yYW5kCglmcmFtZV9idXJ5IDAgLy8gciB2ZXJpZmllZDogYm9vbAoJZnJhbWVfYnVyeSAxIC8vIHIgb3V0cHV0OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MQoJLy8gYXNzZXJ0KCFyLnZlcmlmaWVkKQoJZnJhbWVfZGlnIDAgLy8gciB2ZXJpZmllZDogYm9vbAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjIKCS8vIGxvZyhyLm91dHB1dCkKCWZyYW1lX2RpZyAxIC8vIHIgb3V0cHV0OiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBlY01hdGgoKXZvaWQKKmFiaV9yb3V0ZV9lY01hdGg6CgkvLyBleGVjdXRlIGVjTWF0aCgpdm9pZAoJY2FsbHN1YiBlY01hdGgKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGVjTWF0aCgpOiB2b2lkCmVjTWF0aDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjYKCS8vIGVjU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjcKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfcGFpcmluZ19jaGVjayBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjgKCS8vIHNjYWxhcnM6IGJ5dGVzMzJbXSA9IFtiemVybygzMiksIGJ6ZXJvKDMyKV0KCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIHNjYWxhcnM6IGJ5dGVzMzJbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzY5CgkvLyBlY011bHRpU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsIHNjYWxhcnMpCglieXRlYyAwIC8vICAiIgoJYnl0ZWMgNCAvLyAgc2NhbGFyczogYnl0ZXMzMltdCgllY19tdWx0aV9zY2FsYXJfbXVsIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MAoJLy8gZWNTdWJncm91cENoZWNrKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfc3ViZ3JvdXBfY2hlY2sgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcxCgkvLyBlY01hcFRvKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MgoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlYyAwIC8vICAiIgoJZHVwCgllY19hZGQgQk4yNTRnMQoJcmV0c3ViCgovLyBnaXR4bigpdm9pZAoqYWJpX3JvdXRlX2dpdHhuOgoJLy8gZXhlY3V0ZSBnaXR4bigpdm9pZAoJY2FsbHN1YiBnaXR4bgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2l0eG4oKTogdm9pZApnaXR4bjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyh0aGlzLmxhc3RJbm5lckdyb3VwWzBdLnNlbmRlcikKCWdpdHhuIDAgU2VuZGVyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3OAoJLy8gYW5vdGhlclR4biA9IHRoaXMubGFzdElubmVyR3JvdXBbMV0KCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gYW5vdGhlclR4bjogZ2l0eG4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4MAoJLy8gbG9nKGFub3RoZXJUeG4uc2VuZGVyKQoJZ2l0eG4gMSBTZW5kZXIKCWxvZwoJcmV0c3ViCgovLyBnZXRTZXRCeXRlcygpdm9pZAoqYWJpX3JvdXRlX2dldFNldEJ5dGVzOgoJLy8gZXhlY3V0ZSBnZXRTZXRCeXRlcygpdm9pZAoJY2FsbHN1YiBnZXRTZXRCeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2V0U2V0Qnl0ZXMoKTogdm9pZApnZXRTZXRCeXRlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg0CgkvLyBsb2coc2V0Yml0KCdmb28nLCAwLCB0cnVlKSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODUKCS8vIGdldGJpdCgnZm9vJywgMCkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODYKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlYyA1IC8vICAiZm9vIgoJaW50YyAxIC8vIDAKCWdldGJ5dGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NwoJLy8gc2V0Ynl0ZSgnZm9vJywgMCwgMSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJ5dGUKCXJldHN1YgoKLy8gZ2V0U2V0VWludDY0KCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0VWludDY0OgoJLy8gZXhlY3V0ZSBnZXRTZXRVaW50NjQoKXZvaWQKCWNhbGxzdWIgZ2V0U2V0VWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRTZXRVaW50NjQoKTogdm9pZApnZXRTZXRVaW50NjQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5MQoJLy8gYXNzZXJ0KHNldGJpdCgxMjMsIDAsIHRydWUpKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkyCgkvLyBnZXRiaXQoMTIzLCAwKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBibG9ja09wKCl2b2lkCiphYmlfcm91dGVfYmxvY2tPcDoKCS8vIGV4ZWN1dGUgYmxvY2tPcCgpdm9pZAoJY2FsbHN1YiBibG9ja09wCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBibG9ja09wKCk6IHZvaWQKYmxvY2tPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk2CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5zZWVkKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrU2VlZAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOTcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnRpbWVzdGFtcCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1RpbWVzdGFtcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGI2NCgpdm9pZAoqYWJpX3JvdXRlX2I2NDoKCS8vIGV4ZWN1dGUgYjY0KCl2b2lkCgljYWxsc3ViIGI2NAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYjY0KCk6IHZvaWQKYjY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDEKCS8vIGxvZyhiYXNlNjREZWNvZGUoJ1N0ZEVuY29kaW5nJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA1CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlYyAwIC8vICAiIgoJZHVwCglqc29uX3JlZiBKU09OT2JqZWN0Cglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQwNgoJLy8gbG9nKGpzb25SZWYoJ0pTT05TdHJpbmcnLCAnJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJanNvbl9yZWYgSlNPTlN0cmluZwoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDcKCS8vIGFzc2VydChqc29uUmVmKCdKU09OVWludDY0JywgJycsICcnKSkKCWJ5dGVjIDAgLy8gICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDExCgkvLyBiaXRsZW4oMTIzKQoJaW50YyA1IC8vIDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTIKCS8vIGJpdGxlbignZm9vJykKCWJ5dGVjIDUgLy8gICJmb28iCgliaXRsZW4KCXJldHN1YgoKLy8gY29tcHV0ZWRDb25zdCgpdm9pZAoqYWJpX3JvdXRlX2NvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIGNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgY29tcHV0ZWRDb25zdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29tcHV0ZWRDb25zdCgpOiB2b2lkCmNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KENPTVBVVEVEX0NPTlNUKQoJcHVzaGludCAyNDYKCWFzc2VydAoJcmV0c3ViCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aUNvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIG11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBtdWx0aUNvbXB1dGVkQ29uc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQ29tcHV0ZWRDb25zdCgpOiB2b2lkCm11bHRpQ29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDIwCgkvLyBhc3NlcnQoTVVUTElfQ09NUFVURURfQ09OU1QpCglwdXNoaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNAoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludGMgMCAvLyAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNQoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50YyAzIC8vIDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDI2CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnRjIDggLy8gMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MjcKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50YyA3IC8vIDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMSAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbXBhcmlzb25PcigpOiBib29sZWFuCmNvbXBhcmlzb25PcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyID09PSBnbG9iYWxzLnplcm9BZGRyZXNzIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzczsKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJfHwKCipza2lwX29yMDoKCXJldHN1YgoKLy8gdHhuQXJnc01ldGhvZChwYXkpdm9pZAoqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2Q6CgkvLyBfcGF5MTogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzOQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglpdHhuX25leHQKCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTMgLy8gIG1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA5IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDQKCS8vIGFzc2VydChsZW4oeCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ4CgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDUyCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50YyAwIC8vIDEKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1MwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnRjIDAgLy8gMQoJbG9hZHMKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTgKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludGMgMCAvLyAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTkKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludGMgMTIgLy8gMTMzOAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9pbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYzCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID0gMTMzNwoJaW50YyAzIC8vIDIKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NAoJLy8gdGhpcy5keW5hbWljU2NyYXRjaCgyKS52YWx1ZSArPSAxCglpbnRjIDMgLy8gMgoJbG9hZHMKCWludGMgMCAvLyAxCgkrCglpbnRjIDMgLy8gMgoJc3dhcAoJc3RvcmVzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NjUKCS8vIGFzc2VydCh0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID09PSAxMzM4KQoJaW50YyAzIC8vIDIKCWxvYWRzCglpbnRjIDEyIC8vIDEzMzgKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUFkZHJlc3MoKXZvaWQKKmFiaV9yb3V0ZV9mcm9tQWRkcmVzczoKCS8vIGV4ZWN1dGUgZnJvbUFkZHJlc3MoKXZvaWQKCWNhbGxzdWIgZnJvbUFkZHJlc3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZyb21BZGRyZXNzKCk6IHZvaWQKZnJvbUFkZHJlc3M6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBhID0gQWRkcmVzcy5mcm9tQWRkcmVzcygnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVk1SEZLUScpCglieXRlYyAzIC8vICBhZGRyICJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRIgoJZnJhbWVfYnVyeSAwIC8vIGE6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3MAoJLy8gYXNzZXJ0KGEgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMCAvLyBhOiBhZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Vhcmx5UmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGVhcmx5UmV0dXJuKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZWFybHlSZXR1cm4KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlYXJseVJldHVybihhOiB1aW50NjQpOiB1aW50NjQKZWFybHlSZXR1cm46Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NAoJLy8gYSA9PT0gMQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzUKCS8vIHJldHVybiAyOwoJaW50YyAzIC8vIDIKCWIgKmVhcmx5UmV0dXJuKnJldHVybgoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NwoJLy8gYiA9IGEgKyAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDc4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAwIC8vIGI6IHVpbnQ2NAoKKmVhcmx5UmV0dXJuKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhc3NldE1ldGhvZEFyZ3MoKXZvaWQKKmFiaV9yb3V0ZV9hc3NldE1ldGhvZEFyZ3M6CgkvLyBleGVjdXRlIGFzc2V0TWV0aG9kQXJncygpdm9pZAoJY2FsbHN1YiBhc3NldE1ldGhvZEFyZ3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFzc2V0TWV0aG9kQXJncygpOiB2b2lkCmFzc2V0TWV0aG9kQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDgyCgkvLyBzZW5kTWV0aG9kQ2FsbDxbQXNzZXRSZWZlcmVuY2VdLCB2b2lkPih7CgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtBc3NldElELmZyb21VaW50NjQoMSldLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGExNTMxNmRlIC8vIG1ldGhvZCAiZm9vKGFzc2V0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg0CgkvLyBtZXRob2RBcmdzOiBbQXNzZXRJRC5mcm9tVWludDY0KDEpXQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aXBsZVByb2dyYW1QYWdlczoKCS8vIGV4ZWN1dGUgbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKCWNhbGxzdWIgbXVsdGlwbGVQcm9ncmFtUGFnZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpcGxlUHJvZ3JhbVBhZ2VzKCk6IHZvaWQKbXVsdGlwbGVQcm9ncmFtUGFnZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ5MwoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk0CgkvLyBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGVjIDEwIC8vICAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMSAvLyAgInBhZ2VUd28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VUd28udmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXQoJYnl0ZWMgMTAgLy8gICJwYWdlT25lIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlT25lLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoJYnl0ZWMgMTEgLy8gICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXJ0Q29tbWVudCgpdm9pZAoqYWJpX3JvdXRlX2Fzc2VydENvbW1lbnQ6CgkvLyBleGVjdXRlIGFzc2VydENvbW1lbnQoKXZvaWQKCWNhbGxzdWIgYXNzZXJ0Q29tbWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXJ0Q29tbWVudCgpOiB2b2lkCmFzc2VydENvbW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUwMAoJLy8gYXNzZXJ0KGZhbHNlLCAndGhpcyBpcyBmYWxzZScpCglpbnRjIDEgLy8gMAoKCS8vIHRoaXMgaXMgZmFsc2UKCWFzc2VydAoJcmV0c3ViCgovLyB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlOgoJLy8gZXhlY3V0ZSB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yTWVzc2FnZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKTogdm9pZAp0aHJvd0Vycm9yTWVzc2FnZToKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yTGl0ZXJhbFR5cGU6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yTGl0ZXJhbFR5cGUodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG9yTGl0ZXJhbFR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yTGl0ZXJhbFR5cGUoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yTGl0ZXJhbFR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDgKCS8vIGZvbyA9IGEgJiYgYiA9PT0gMSA/IDIgOiAwCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqdGVybmFyeTBfZmFsc2UKCWludGMgMyAvLyAyCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludGMgMSAvLyAwCgoqdGVybmFyeTBfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIGZvbzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydChmb28pCglmcmFtZV9kaWcgMCAvLyBmb286IHVpbnQ2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTEKCS8vIGJhciA9IGEgJiYgYiA9PT0gMCA/ICcyJyA6ICcwJwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnRjIDEgLy8gMAoJPT0KCSYmCgoqc2tpcF9hbmQxOgoJYnogKnRlcm5hcnkxX2ZhbHNlCglwdXNoYnl0ZXMgMHgzMiAvLyAiMiIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJYnl0ZWMgMTcgLy8gICIwIgoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMSAvLyBiYXI6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTEyCgkvLyBsb2coYmFyKQoJZnJhbWVfZGlnIDEgLy8gYmFyOiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBub25BYmkoKTogdm9pZApub25BYmk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE3CgkvLyBhc3NlcnQodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgpCgl0eG4gTnVtQXBwQXJncwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxOQoJLy8gaSA8IHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyEubGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4biBOdW1BcHBBcmdzCgk8CglieiAqZm9yXzFfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MjAKCS8vIGxvZyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cgl0eG5hcyBBcHBsaWNhdGlvbkFyZ3MKCWxvZwoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CglyZXRzdWIKCi8vIG11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbDoKCS8vIGV4ZWN1dGUgbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCgljYWxsc3ViIG11bHRpbGluZUZ1bmN0aW9uQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCk6IHZvaWQKbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTI1CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNgoJLy8gYWRkciA9IEFkZHJlc3MuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyOAoJLy8gYXBwLmxvY2FsU3RhdGUoCgkvLyAgICAgICBhZGRyLAoJLy8gICAgICAgJ2tleScKCS8vICAgICApCglmcmFtZV9kaWcgMSAvLyBhZGRyOiBhZGRyZXNzCglpbnRjIDEgLy8gIGFwcDogdWludDY0CglwdXNoYnl0ZXMgMHg2YjY1NzkgLy8gImtleSIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogYXBwLmxvY2FsU3RhdGUoIGFkZHIsICdrZXknICkKCWFzc2VydAoJcmV0c3ViCgovLyBhKCl1aW50NjQKKmFiaV9yb3V0ZV9hOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGEoKXVpbnQ2NAoJY2FsbHN1YiBhCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB1aW50NjQKYToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gMzsKCWludGMgOCAvLyAzCglyZXRzdWIKCi8vIGIoKXVpbnQ2NAoqYWJpX3JvdXRlX2I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYigpdWludDY0CgljYWxsc3ViIGIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHVpbnQ2NApiOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzkKCS8vIHJldHVybiA1OwoJaW50YyA0IC8vIDUKCXJldHN1YgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3VudXNlZE1ldGhvZFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgdW51c2VkTWV0aG9kVmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1bnVzZWRNZXRob2RWYWx1ZSgpOiB1aW50NjQKdW51c2VkTWV0aG9kVmFsdWU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0MwoJLy8gdGhpcy5hKCkKCWNhbGxzdWIgYQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDQKCS8vIHJldHVybiB0aGlzLmIoKTsKCWNhbGxzdWIgYgoJcmV0c3ViCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoqYWJpX3JvdXRlX3JlYXNzaWduZWROb25GaXJzdFZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoJY2FsbHN1YiByZWFzc2lnbmVkTm9uRmlyc3RWYXIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKTogdWludDY0CnJlYXNzaWduZWROb25GaXJzdFZhcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NQoJLy8gYSA9IDEgYXMgdWludDY0CglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU2CgkvLyBiID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTcKCS8vIGEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU4CgkvLyBiID0gMgoJaW50YyAzIC8vIDIKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NjEKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDEgLy8gYjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBmdkx2KCl2b2lkCiphYmlfcm91dGVfZnZMdjoKCS8vIGV4ZWN1dGUgZnZMdigpdm9pZAoJY2FsbHN1YiBmdkx2CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmdkx2KCk6IHZvaWQKZnZMdjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTY1CgkvLyBhc3NlcnQodGhpcy50eG4uZmlyc3RWYWxpZCkKCXR4biBGaXJzdFZhbGlkCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU2NgoJLy8gYXNzZXJ0KHRoaXMudHhuLmxhc3RWYWxpZCkKCXR4biBMYXN0VmFsaWQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDYyNDI2NGEzIC8vIG1ldGhvZCAidHhuVHlwZUVudW0oKXZvaWQiCglwdXNoYnl0ZXMgMHhiMjA1ZWRjOSAvLyBtZXRob2QgInR4bkdyb3VwTGVuZ3RoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZlOTdkNWIgLy8gbWV0aG9kICJhc3NlcnRzKGJvb2wsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ2ZmE3YzggLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4MGVhNjQ0ZmIgLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQiCglwdXNoYnl0ZXMgMHhlYzBkOTA5NCAvLyBtZXRob2QgInZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweDY4ODQ4ZDk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDE4YmQyM2RjIC8vIG1ldGhvZCAidmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDgwNmJmYjkzIC8vIG1ldGhvZCAic3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2JlNWY4MmUgLy8gbWV0aG9kICJtZXRob2RXaXRoVHhuQXJncygpdm9pZCIKCXB1c2hieXRlcyAweDEyOTVkNjgzIC8vIG1ldGhvZCAic2hpZnQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiM2I4YzQ3MiAvLyBtZXRob2QgImZyb21CeXRlcygpdm9pZCIKCXB1c2hieXRlcyAweDUzZTBiNmYwIC8vIG1ldGhvZCAiZnJvbVVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDRiM2ViODc3IC8vIG1ldGhvZCAiYnplcm9GdW5jdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweGRhYzJlN2E1IC8vIG1ldGhvZCAiZXZlbnRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTNkYjY3MDQgLy8gbWV0aG9kICJsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10iCglwdXNoYnl0ZXMgMHhhZTIxYzE3MiAvLyBtZXRob2QgInN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZCIKCXB1c2hieXRlcyAweGRhYjRkMWM0IC8vIG1ldGhvZCAibnVtYmVyVG9TdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhhN2I0YWU5YSAvLyBtZXRob2QgIm1ldGhvZE9uUGFyZW5zKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NmQ0NDg1YmEgLy8gbWV0aG9kICJzdHJpbmdTdWJzdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhlZjYyNjJlOSAvLyBtZXRob2QgImlkUHJvcGVydHkoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZDJiNjY4YiAvLyBtZXRob2QgInNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZjMTU0ZmMgLy8gbWV0aG9kICJlY2RzYSgpdm9pZCIKCXB1c2hieXRlcyAweGE5NzY0MTk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuVHlwZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHg5ZGJiYzQyYyAvLyBtZXRob2QgInN0cmluZ1BsdXNFcXVhbHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YzBkZGVjMSAvLyBtZXRob2QgImltcG9ydGVkUHJvZ3JhbSgpYnl0ZVtdIgoJcHVzaGJ5dGVzIDB4MzBlY2ZiNDEgLy8gbWV0aG9kICJjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpdm9pZCIKCXB1c2hieXRlcyAweDE0YTQ5OTE5IC8vIG1ldGhvZCAiaW50ZXJhbFB1YmxpY01ldGhvZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3MWMxNzlhIC8vIG1ldGhvZCAiY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OTg0ODEwOTMgLy8gbWV0aG9kICJhcHBMb2FkU2NyYXRjaCgpdm9pZCIKCXB1c2hieXRlcyAweGY1NzJkMWMxIC8vIG1ldGhvZCAidWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NiIKCXB1c2hieXRlcyAweDg1NGRlZGUwIC8vIG1ldGhvZCAib3BVcCgpdm9pZCIKCXB1c2hieXRlcyAweDY4MTU5OWZhIC8vIG1ldGhvZCAicmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZyIKCXB1c2hieXRlcyAweDVlMTQ3N2U4IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTA3YjNiZTkgLy8gbWV0aG9kICJyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDE2ZTQ2NjU3IC8vIG1ldGhvZCAicmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDJjODM2ZjQ2IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50KCl1aW50NjQiCglwdXNoYnl0ZXMgMHhhOTNjNTZmOSAvLyBtZXRob2QgInJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZjkzNjk1MmQgLy8gbWV0aG9kICJjb25zdHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg4OGYzOWM5OSAvLyBtZXRob2QgImFzc2VydFdpdGhNZXNzYWdlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTg3OTRjZjQgLy8gbWV0aG9kICJvcGNvZGVBbGlhc2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzUwNDRhZDggLy8gbWV0aG9kICJ2cmZWZXJpZnlPcCgpdm9pZCIKCXB1c2hieXRlcyAweDdkMjc5ZThlIC8vIG1ldGhvZCAiZWNNYXRoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2RmYTE4YzggLy8gbWV0aG9kICJnaXR4bigpdm9pZCIKCXB1c2hieXRlcyAweDc4Y2E1YzRlIC8vIG1ldGhvZCAiZ2V0U2V0Qnl0ZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHgwZTY3ZTk1NyAvLyBtZXRob2QgImdldFNldFVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDNiNDQ2ZWVmIC8vIG1ldGhvZCAiYmxvY2tPcCgpdm9pZCIKCXB1c2hieXRlcyAweGFlODJlODc1IC8vIG1ldGhvZCAiYjY0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDY5YWY1MzAgLy8gbWV0aG9kICJqc29uKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQ1MmYzM2QgLy8gbWV0aG9kICJiaXRsZW5PcCgpdm9pZCIKCXB1c2hieXRlcyAweDJjMGNkMjAxIC8vIG1ldGhvZCAiY29tcHV0ZWRDb25zdCgpdm9pZCIKCXB1c2hieXRlcyAweDcwZTBhZmU1IC8vIG1ldGhvZCAibXVsdGlDb21wdXRlZENvbnN0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzBhMmZlZjQgLy8gbWV0aG9kICJyZWFkU2NoZW1hKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjM5NzFkY2EgLy8gbWV0aG9kICJjb21wYXJpc29uT3IoKWJvb2wiCglieXRlYyAxMyAvLyAgbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4OWU0MGQzNGIgLy8gbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCXB1c2hieXRlcyAweDkxY2YyYjU4IC8vIG1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJcHVzaGJ5dGVzIDB4YjFjOGI0NWMgLy8gbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OWMwZTFiZGIgLy8gbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgwYTMxOTUwNCAvLyBtZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODRiMjYwZmEgLy8gbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YTkwODg1NiAvLyBtZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGRlYjMyZDMgLy8gbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NjdkZTE1NmYgLy8gbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCglwdXNoYnl0ZXMgMHgxZTQyODQxMiAvLyBtZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjc4ZmQ4YjggLy8gbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmZjMzYyMDggLy8gbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCXB1c2hieXRlcyAweDA0ZWVkZjc5IC8vIG1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgzNWQ1ZmJjNyAvLyBtZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCXB1c2hieXRlcyAweGY5NTIyZTJmIC8vIG1ldGhvZCAiYSgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGM5Mzc5ZTYgLy8gbWV0aG9kICJiKCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmOWExMzU1MiAvLyBtZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5NGYyMDQ5YSAvLyBtZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTYyNjQyMTUgLy8gbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJcHVzaGJ5dGVzIDB4MzAzMTMyMzMzNDM1MzYzNzM4MzkgLy8gIjAxMjM0NTY3ODkiCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJZXh0cmFjdDMKCXJldHN1YgoJCgoqaXRvYToKCXByb3RvIDEgMQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDAKCT09CglieiAqaXRvYV9pZl9lbmQKCWJ5dGVjIDE3IC8vIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMAoJLwoJaW50YyAxIC8vIDAKCT4KCWJ6ICppdG9hX3Rlcm5hcnlfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMTAgLy8gMTAKCS8KCWNhbGxzdWIgKml0b2EKCWIgKml0b2FfdGVybmFyeV9lbmQKCippdG9hX3Rlcm5hcnlfZmFsc2U6CglieXRlYyAwIC8vICAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDEwIC8vIDEwCgklCgljYWxsc3ViICppbnRUb0FzY2lpCgljb25jYXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/GeneralTest.arc56_draft.json b/tests/contracts/artifacts/GeneralTest.arc56_draft.json index 5d0f8ae35..5cf1e7038 100644 --- a/tests/contracts/artifacts/GeneralTest.arc56_draft.json +++ b/tests/contracts/artifacts/GeneralTest.arc56_draft.json @@ -14809,7 +14809,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAyIDUgMTIzIDEzMzcgNCAzIDMyIDEwIDEwMF8wMDAgMTMzOApieXRlY2Jsb2NrIDB4IDB4MGE4MTAxIDB4MTUxZjdjNzUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg2NjZmNmYgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgMHgwMDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAxIDB4NzA2MTY3NjU0ZjZlNjUgMHg3MDYxNjc2NTU0Nzc2ZiAweDY3NGI2NTc5IDB4MmM2MzZlZWIgMHg2MjYxNzIgMHg2Mjc5NjUgMHgwMDAwIDB4MzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHR4blR5cGVFbnVtKCl2b2lkCiphYmlfcm91dGVfdHhuVHlwZUVudW06CgkvLyBleGVjdXRlIHR4blR5cGVFbnVtKCl2b2lkCgljYWxsc3ViIHR4blR5cGVFbnVtCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0eG5UeXBlRW51bSgpOiB2b2lkCnR4blR5cGVFbnVtOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo2OQoJLy8gYXNzZXJ0KHRoaXMudHhuR3JvdXBbMF0udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwpCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NzMKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludGMgMCAvLyAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjc3CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoc29tZVBheSkgZm9yIHZlcmlmeVR4bkZyb21BcmcgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21BcmcKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkZyb21Bcmcoc29tZVBheTogUGF5VHhuKTogdm9pZAp2ZXJpZnlUeG5Gcm9tQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4MQoJLy8gdmVyaWZ5VHhuKHNvbWVQYXksIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMTAwXzAwMCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgMTEgLy8gMTAwXzAwMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiMTAwXzAwMCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKTogdm9pZAp2ZXJpZnlUeG5Gcm9tVHhuR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjg1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG5Hcm91cFswXSwgeyBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb246CgkvLyBleGVjdXRlIHZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Db25kaXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkNvbmRpdGlvbigpOiB2b2lkCnZlcmlmeVR4bkNvbmRpdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6ODkKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogeyBncmVhdGVyVGhhbjogMSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJdHhuIEFwcGxpY2F0aW9uSUQKCWludGMgMCAvLyAxCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuSW5jbHVkZWRJbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bkluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbdGhpcy50eG4uc2VuZGVyXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Ilt0aGlzLnR4bi5zZW5kZXJdIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCk6IHZvaWQKdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwNwoJLy8gdGhpcy5wZW5kaW5nR3JvdXAuYWRkUGF5bWVudCh7IGFtb3VudDogMCwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGlzRmlyc3RUeG46IHRydWUgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA4CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgbm90ZTogJ2ZvbycgfSkKCWl0eG5fbmV4dAoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gYW1vdW50OiAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIG5vdGU6ICdmb28nCglieXRlYyA1IC8vICAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDkKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE2CgkvLyBhbW91bnQ6IDEwMF8wMDAKCWludGMgMTEgLy8gMTAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExNgoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDBlOGNiOWY2IC8vIG1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50YyA2IC8vIDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTIwCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDZjNmY3YTA4IC8vIG1ldGhvZCAiZm9vKHBheSxhcHBsKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgYW1vdW50OiAxMDBfMDAwLCByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyIH0sCgkvLyAgICAgICAgIHsKCS8vICAgICAgICAgICBuYW1lOiAnYmFyJywKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDEzMzcpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsxXSwKCS8vICAgICAgICAgfSwKCS8vICAgICAgIF0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc2hpZnQoKXZvaWQKKmFiaV9yb3V0ZV9zaGlmdDoKCS8vIGV4ZWN1dGUgc2hpZnQoKXZvaWQKCWNhbGxzdWIgc2hpZnQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNoaWZ0KCk6IHZvaWQKc2hpZnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNwoJLy8gYXNzZXJ0KDEgPDwgMiA9PT0gNCkKCWludGMgMCAvLyAxCglpbnRjIDMgLy8gMgoJc2hsCglpbnRjIDcgLy8gNAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBhc3NlcnQoNCA+PiAxID09PSAyKQoJaW50YyA3IC8vIDQKCWludGMgMCAvLyAxCglzaHIKCWludGMgMyAvLyAyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21CeXRlcygpdm9pZAoqYWJpX3JvdXRlX2Zyb21CeXRlczoKCS8vIGV4ZWN1dGUgZnJvbUJ5dGVzKCl2b2lkCgljYWxsc3ViIGZyb21CeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnJvbUJ5dGVzKCk6IHZvaWQKZnJvbUJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMzIKCS8vIGFzc2VydChBZGRyZXNzLmZyb21CeXRlcygnYWJjJykubWluQmFsYW5jZSkKCXB1c2hieXRlcyAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnRjIDUgLy8gMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM3CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludGMgNSAvLyAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MgoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZWMgMTYgLy8gMHgwMDAwCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MwoJLy8geTogYnl0ZXMgPSBiemVybyhuKQoJaW50YyAwIC8vIDEKCWJ6ZXJvCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0NAoJLy8gejogW3VpbnQ2NCwgdWludDw4Pl0gPSBiemVybzxbdWludDY0LCB1aW50PDg+XT4oKQoJYnl0ZWMgOCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAyIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNDUKCS8vIGFzc2VydChsZW4oeCArIHkgKyB6KSA9PT0gMTIpCglieXRlYyAxNiAvLyAgeDogYnl0ZXMKCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVzCgljb25jYXQKCWJ5dGVjIDggLy8gIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJcHVzaGludCAxMgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBldmVudHMoKXZvaWQKKmFiaV9yb3V0ZV9ldmVudHM6CgkvLyBleGVjdXRlIGV2ZW50cygpdm9pZAoJY2FsbHN1YiBldmVudHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV2ZW50cygpOiB2b2lkCmV2ZW50czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTYwCgkvLyB0aGlzLm15RXZlbnQubG9nKHsgYXBwOiB0aGlzLmFwcCwgbnVtOiAxIH0pCglwdXNoYnl0ZXMgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxldE9wdGltaXphdGlvbihhOiB1aW50NjRbXSk6IHVpbnQ2NFtdCmxldE9wdGltaXphdGlvbjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY0CgkvLyBhc3NlcnQoYVswXSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAtMSAvLyBiOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJcmV0c3ViCgovLyBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNDb250cmFjdFByb3BlcnRpZXM6CgkvLyBleGVjdXRlIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoJY2FsbHN1YiBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpOiB2b2lkCnN0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTcyCgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IER1bW15Q29udHJhY3QuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBsb2NhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTczCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDEgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzQKCS8vIGFwcHJvdmFsUHJvZ3JhbTogRHVtbXlDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMDAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bUJ5dGVTbGljZQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgTG9jYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NwoJLy8gbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50CglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBMb2NhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OQoJLy8gZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG51bWJlclRvU3RyaW5nKCl2b2lkCiphYmlfcm91dGVfbnVtYmVyVG9TdHJpbmc6CgkvLyBleGVjdXRlIG51bWJlclRvU3RyaW5nKCl2b2lkCgljYWxsc3ViIG51bWJlclRvU3RyaW5nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBudW1iZXJUb1N0cmluZygpOiB2b2lkCm51bWJlclRvU3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODYKCS8vIGFzc2VydChuLnRvU3RyaW5nKCkgPT09IHMpCglpbnRjIDAgLy8gMQoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzICIxIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBtZXRob2RPblBhcmVucygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZE9uUGFyZW5zOgoJLy8gZXhlY3V0ZSBtZXRob2RPblBhcmVucygpdm9pZAoJY2FsbHN1YiBtZXRob2RPblBhcmVucwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kT25QYXJlbnMoKTogdm9pZAptZXRob2RPblBhcmVuczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkwCgkvLyBhc3NlcnQoKDEgKyAyKS50b1N0cmluZygpID09PSAnMycpCglpbnRjIDggLy8gMwoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCXB1c2hieXRlcyAiYWJjZGVmIgoJc3Vic3RyaW5nIDEgMwoJcHVzaGJ5dGVzIDB4NjI2MyAvLyAiYmMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGlkUHJvcGVydHkoKXZvaWQKKmFiaV9yb3V0ZV9pZFByb3BlcnR5OgoJLy8gZXhlY3V0ZSBpZFByb3BlcnR5KCl2b2lkCgljYWxsc3ViIGlkUHJvcGVydHkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlkUHJvcGVydHkoKTogdm9pZAppZFByb3BlcnR5OgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwMAoJLy8gYXNzZXJ0KEFwcElELmZyb21VaW50NjQoYXBwLmlkKSA9PT0gYXBwKQoJaW50YyAxIC8vICBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDIKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDMKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50YyAxIC8vICBhc2E6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfc2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIHNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIHNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzY3JhdGNoU2xvdCgpOiB2b2lkCnNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDgKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzcpCglsb2FkIDAKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGVjZHNhKCl2b2lkCiphYmlfcm91dGVfZWNkc2E6CgkvLyBleGVjdXRlIGVjZHNhKCl2b2lkCgljYWxsc3ViIGVjZHNhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlY2RzYSgpOiB2b2lkCmVjZHNhOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjEyCgkvLyBlY2RzYVZlcmlmeSgnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMikKCWJ5dGVjIDMgLy8gICIiCglkdXBuIDQKCWVjZHNhX3ZlcmlmeSBTZWNwMjU2azEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxMwoJLy8gZCA9IGVjZHNhUGtEZWNvbXByZXNzKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczwzMz4pCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLy8gIiIKCWVjZHNhX3BrX2RlY29tcHJlc3MgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDAgLy8gZCB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTQKCS8vIGxvZyhkLnkpCglmcmFtZV9kaWcgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE1CgkvLyBsb2coZC54KQoJZnJhbWVfZGlnIDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNwoJLy8gciA9IGVjZHNhUGtSZWNvdmVyKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczMyLCAxLCAnJyBhcyBieXRlczMyLCAnJyBhcyBieXRlczMyKQoJYnl0ZWMgMyAvLyAgIiIKCWludGMgMCAvLyAxCglieXRlYyAzIC8vICAiIgoJZHVwCgllY2RzYV9wa19yZWNvdmVyIFNlY3AyNTZrMQoJZnJhbWVfYnVyeSAyIC8vIHIgeSBjb21wb25lbnQ6IGJ5dGVbXQoJZnJhbWVfYnVyeSAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE4CgkvLyBsb2coci55KQoJZnJhbWVfZGlnIDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxOQoJLy8gbG9nKHIueCkKCWZyYW1lX2RpZyAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIHZlcmlmeVR4blR5cGVzKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuVHlwZXM6CgkvLyBleGVjdXRlIHZlcmlmeVR4blR5cGVzKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4blR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5UeXBlcygpOiB2b2lkCnZlcmlmeVR4blR5cGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMjMKCS8vIHZlcmlmeVBheVR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHBheQoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJwYXkifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJaW50YyAxIC8vIDAKCWd0eG5zIEFtb3VudAoJaW50YyAxIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyNwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiB7CgkvLyAgICAgICAgIDA6ICdmb28nLAoJLy8gICAgICAgICAxOiB7CgkvLyAgICAgICAgICAgaW5jbHVkZWRJbjogWydiYXInLCAnYmF6J10sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbAoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDIgLy8gIGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludGMgMSAvLyAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludGMgMSAvLyAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNSAvLyAgImZvbyIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MiLCJpbmRleCI6IjAiLCJleHBlY3RlZCI6Iidmb28nIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhcHBsaWNhdGlvbkFyZ3MgMQoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uQXJncyAxCglieXRlYyAxNCAvLyAgImJhciIKCT09CglpbnRjIDEgLy8gMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCXB1c2hieXRlcyAweDYyNjE3YSAvLyAiYmF6IgoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InRoaXMudHhuR3JvdXBbMF0ifSwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MgMSIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IlsnYmFyJywgJ2JheiddIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjM3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBheGZlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDcgLy8gIGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnRjIDEgLy8gMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQxCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDggLy8gIGFjZmcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYWNmZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgY29uZmlnQXNzZXQKCWludGMgMSAvLyAwCglndHhucyBDb25maWdBc3NldAoJaW50YyAxIC8vIDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJjb25maWdBc3NldCIsImV4cGVjdGVkIjoiQXNzZXRJRC5mcm9tVWludDY0KDApIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ1CgkvLyB2ZXJpZnlLZXlSZWdUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgdm90ZUZpcnN0OiAxMzM3LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkga2V5cmVnCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAga2V5cmVnCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImtleXJlZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgdm90ZUZpcnN0CglpbnRjIDEgLy8gMAoJZ3R4bnMgVm90ZUZpcnN0CglpbnRjIDYgLy8gMTMzNwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InZvdGVGaXJzdCIsImV4cGVjdGVkIjoiMTMzNyJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3RyaW5nUGx1c0VxdWFscygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1BsdXNFcXVhbHM6CgkvLyBleGVjdXRlIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKCWNhbGxzdWIgc3RyaW5nUGx1c0VxdWFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUGx1c0VxdWFscygpOiB2b2lkCnN0cmluZ1BsdXNFcXVhbHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjUxCgkvLyBzID0gJ2ZvbycKCWJ5dGVjIDUgLy8gICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTIKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZWMgMTQgLy8gICJiYXIiCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1MwoJLy8gYXNzZXJ0KHMgPT09ICdmb29iYXInKQoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglwdXNoYnl0ZXMgMHg2NjZmNmY2MjYxNzIgLy8gImZvb2JhciIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KKmFiaV9yb3V0ZV9pbXBvcnRlZFByb2dyYW06CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KCWNhbGxzdWIgaW1wb3J0ZWRQcm9ncmFtCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGltcG9ydGVkUHJvZ3JhbSgpOiBieXRlcwppbXBvcnRlZFByb2dyYW06Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIElmVGVzdC5hcHByb3ZhbFByb2dyYW0oKTsKCXB1c2hieXRlcyAweDBhMjAwNDAxMDAwMjIwMjYwOTA0MTUxZjdjNzUwMjY5NjYwNDY1NmM3MzY1MDM2NTZlNjQwMzY2NmY2ZjAwMDk2NTZjNzM2NTIwNjk2NjIwMzEwOTY1NmM3MzY1MjA2OTY2MjAzMjA3NjU2YzczNjUyMDY5NjYzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDMyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwMjI5ODkyYjg5MjgzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDEwMThiZmY0MTAwMDUyOTg5NDIwMDAyMmE4OTg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNTI5ODk0MjAwMDg4YmZlNDEwMDAzMjcwODg5MmI4OTI4MzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDIwMThiZmY0MTAwMDUyOTg5NDIwMDBkOGJmZTQxMDAwNjI3MDg4OTQyMDAwMjJhODk4OTI4MzYxYTAzNDkxNTIyMTI0NDIzNTMzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMzAxOGJmZjQxMDAwNTI5ODk0MjAwMTM4YmZlNDEwMDA2MjcwNjg5NDIwMDA4OGJmZDQxMDAwMzI3MDc4OTJiODkyODM2MWEwMzQ5MTUyMjEyNDQyMzUzMzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDMwMThiZmY0MTAwMDUyOTg5NDIwMDE4OGJmZTQxMDAwNjI3MDY4OTQyMDAwZDhiZmQ0MTAwMDYyNzA3ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMGM0OTE1MTY1NzA2MDI0YzUwNTBiMDIyNDM4YTAyMDE4YmZmNDEwMDE2OGJmZTQxMDAwYzgwMDk2ZTY1NzM3NDY1NjQyMDY5NjY4OTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwNTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMDUxNjUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNDIyNDIwMDBiOGJmZTQxMDAwNDI0NDIwMDAyODEwMzg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwMjIyODkyNDg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwNDIyNDIwMDAxMjQ4OTM2MWEwMTQ5MTUyNDEyNDQxNzg4MDAwMjIyNDM4YTAxMDA4YmZmMjcwNWE5NDEwMDAzMjcwNGIwODkzNjFhMDI0OTE1MjQxMjQ0MTczNjFhMDE0OTE1MjQxMjQ0MTc4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmUwZTQxMDAwMzI3MDRiMDg5MzYxYTAyNDkxNTI1MTI0NDM2MWEwMTQ5MTUyNTEyNDQ4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmVhNjQxMDAwMzI3MDRiMDg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAxOThiZmU0MTAwMGQ4MDA3NjEyMDYxNmU2NDIwNjI4OTQyMDAwNDgwMDE2MTg5NDIwMDE2OGJmZTQxMDAwNzgwMDE2Mjg5NDIwMDBhODAwNzZlNjU2OTc0Njg2NTcyODk4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDQzNmVjMWMyODAwNDFjN2EwZDVlODAwNDVlMGZiNmNmODAwNDVlMWM2YzUwODAwNDU4ZDBiYTkyODAwNDVkMmY0ZjAyODAwNDg0NTcyOWQ5ODAwNDhmZTc2Y2E4ODAwNDFhM2M3ODc4ODAwNDc0YmNjODY4ODAwNDQyMTJmOTA1ODAwNDk1ZGRhZWJmODAwNDMxNDdiODY2ODAwNDQyODk3ZjYxODAwNDUzNGJlMmI3MzYxYTAwOGUwZmZjNjBmYzg2ZmNiMGZjZWJmZDJhZmQ3YWZkY2VmZTEzZmUzZGZlNzJmZTkwZmViMGZlY2RmZWYzZmYxNzAwCglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjEKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglwdXNoYnl0ZXMgMHg2ODY1NmM2YzZmIC8vICJoZWxsbyIKCWNhbGxzdWIgcHJpdmF0ZU1ldGhvZAoJbG9nCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QobXNnOiBzdHJpbmcpOiBzdHJpbmcKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyByZXR1cm4gbXNnOwoJZnJhbWVfZGlnIC0xIC8vIG1zZzogc3RyaW5nCglyZXRzdWIKCi8vIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9pbnRlcmFsUHVibGljTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGludGVyYWxQdWJsaWNNZXRob2QoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKaW50ZXJhbFB1YmxpY01ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY5CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCS8vIGV4ZWN1dGUgY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY2FsbEludGVybmFsUHVibGljTWV0aG9kKCk6IHZvaWQKY2FsbEludGVybmFsUHVibGljTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzMKCS8vIGFzc2VydCh0aGlzLmludGVyYWxQdWJsaWNNZXRob2QoMSwgMikgPT09IDMpCglpbnRjIDMgLy8gMgoJaW50YyAwIC8vIDEKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaW50YyA4IC8vIDMKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwTG9hZFNjcmF0Y2goKXZvaWQKKmFiaV9yb3V0ZV9hcHBMb2FkU2NyYXRjaDoKCS8vIGV4ZWN1dGUgYXBwTG9hZFNjcmF0Y2goKXZvaWQKCWNhbGxzdWIgYXBwTG9hZFNjcmF0Y2gKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFwcExvYWRTY3JhdGNoKCk6IHZvaWQKYXBwTG9hZFNjcmF0Y2g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3NwoJLy8gbG9nKHRoaXMudHhuR3JvdXBbMV0ubG9hZFNjcmF0Y2goMikgYXMgYnl0ZXMpCglnbG9hZCAxIDIKCWxvZwoJcmV0c3ViCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CiphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CgljYWxsc3ViIHVpbnROV2l0aFVuZGVyc2NvcmUKCWR1cAoJYml0bGVuCglwdXNoaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCXB1c2hieXRlcyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDkgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCk6IHVpbnQyNTYKdWludE5XaXRoVW5kZXJzY29yZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjgxCgkvLyByZXR1cm4gPHVpbnQyNTY+MTIzXzQ1NjsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWUyNDAKCXJldHN1YgoKLy8gb3BVcCgpdm9pZAoqYWJpX3JvdXRlX29wVXA6CgkvLyBleGVjdXRlIG9wVXAoKXZvaWQKCWNhbGxzdWIgb3BVcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3BVcCgpOiB2b2lkCm9wVXA6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg1CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGZvciAobGV0IGkgPSAxOyBpIDwgNzU7IGkgKz0gMSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gaSA8IDc1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXB1c2hpbnQgNzUKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gYXNzZXJ0KGkpCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWFzc2VydAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CglyZXRzdWIKCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmcKKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCgljYWxsc3ViIHJldHVyblZhbHVlT25Bc3NpZ25tZW50CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KCk6IHN0cmluZwpyZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTIKCS8vIG1lc3NhZ2UgPSAnaGknCglwdXNoYnl0ZXMgMHg2ODY5IC8vICJoaSIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5hcHAuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTUKCS8vIG1lc3NhZ2UgPSAnaW4gYmxvY2snCglwdXNoYnl0ZXMgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTgKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGVjIDE1IC8vICAiYnllIgoJZHVwCglmcmFtZV9idXJ5IDAgLy8gbWVzc2FnZTogYnl0ZVtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwNAoJLy8gcmV0dXJuIChhWzBdID0gNCk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglpbnRjIDEgLy8gMAoJaW50YyA3IC8vIDQKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKTogdWludDY0CnJldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA4CgkvLyB0aGlzLmdLZXkudmFsdWUgPSAxCglieXRlYyAxMiAvLyAgImdLZXkiCglpbnRjIDAgLy8gMQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMxMAoJLy8gcmV0dXJuICh0aGlzLmdLZXkudmFsdWUgPSAyKTsKCWJ5dGVjIDEyIC8vICAiZ0tleSIKCWludGMgMyAvLyAyCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglhcHBfZ2xvYmFsX3B1dAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJcmV0c3ViCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCk6IHVpbnQ2NApyZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIGEgPSAxCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE2CgkvLyByZXR1cm4gKGEgKz0gMik7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWludGMgMyAvLyAyCgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMgoJLy8gcmV0dXJuIChhWzBdICs9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50YyAxIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgMCA4CglidG9pCglpbnRjIDcgLy8gNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjYKCS8vIHRoaXMuc3RvcmFnZUFycmF5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyA3IC8vICAic3RvcmFnZUFycmF5IgoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyOAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDAKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAwIDgKCWJ0b2kKCWludGMgNyAvLyA0CgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJYnl0ZWMgNyAvLyAgInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzIKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJcHVzaGJ5dGVzICJmb28iCglieXRlYyA1IC8vICAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzMzCgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnRjIDUgLy8gMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50YyA1IC8vIDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50YyAxIC8vIDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludGMgMSAvLyAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50YyAxIC8vIDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnRjIDEgLy8gMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDYKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUxCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTIKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1NgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZWMgMyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgl2cmZfdmVyaWZ5IFZyZkFsZ29yYW5kCglmcmFtZV9idXJ5IDAgLy8gciB2ZXJpZmllZDogYm9vbAoJZnJhbWVfYnVyeSAxIC8vIHIgb3V0cHV0OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MQoJLy8gYXNzZXJ0KCFyLnZlcmlmaWVkKQoJZnJhbWVfZGlnIDAgLy8gciB2ZXJpZmllZDogYm9vbAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjIKCS8vIGxvZyhyLm91dHB1dCkKCWZyYW1lX2RpZyAxIC8vIHIgb3V0cHV0OiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBlY01hdGgoKXZvaWQKKmFiaV9yb3V0ZV9lY01hdGg6CgkvLyBleGVjdXRlIGVjTWF0aCgpdm9pZAoJY2FsbHN1YiBlY01hdGgKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGVjTWF0aCgpOiB2b2lkCmVjTWF0aDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjYKCS8vIGVjU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjcKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfcGFpcmluZ19jaGVjayBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjgKCS8vIHNjYWxhcnM6IGJ5dGVzMzJbXSA9IFtiemVybygzMiksIGJ6ZXJvKDMyKV0KCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIHNjYWxhcnM6IGJ5dGVzMzJbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzY5CgkvLyBlY011bHRpU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsIHNjYWxhcnMpCglieXRlYyAwIC8vICAiIgoJYnl0ZWMgNCAvLyAgc2NhbGFyczogYnl0ZXMzMltdCgllY19tdWx0aV9zY2FsYXJfbXVsIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MAoJLy8gZWNTdWJncm91cENoZWNrKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfc3ViZ3JvdXBfY2hlY2sgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcxCgkvLyBlY01hcFRvKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MgoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlYyAwIC8vICAiIgoJZHVwCgllY19hZGQgQk4yNTRnMQoJcmV0c3ViCgovLyBnaXR4bigpdm9pZAoqYWJpX3JvdXRlX2dpdHhuOgoJLy8gZXhlY3V0ZSBnaXR4bigpdm9pZAoJY2FsbHN1YiBnaXR4bgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2l0eG4oKTogdm9pZApnaXR4bjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyh0aGlzLmxhc3RJbm5lckdyb3VwWzBdLnNlbmRlcikKCWdpdHhuIDAgU2VuZGVyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3OAoJLy8gYW5vdGhlclR4biA9IHRoaXMubGFzdElubmVyR3JvdXBbMV0KCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gYW5vdGhlclR4bjogZ2l0eG4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4MAoJLy8gbG9nKGFub3RoZXJUeG4uc2VuZGVyKQoJZ2l0eG4gMSBTZW5kZXIKCWxvZwoJcmV0c3ViCgovLyBnZXRTZXRCeXRlcygpdm9pZAoqYWJpX3JvdXRlX2dldFNldEJ5dGVzOgoJLy8gZXhlY3V0ZSBnZXRTZXRCeXRlcygpdm9pZAoJY2FsbHN1YiBnZXRTZXRCeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2V0U2V0Qnl0ZXMoKTogdm9pZApnZXRTZXRCeXRlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg0CgkvLyBsb2coc2V0Yml0KCdmb28nLCAwLCB0cnVlKSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODUKCS8vIGdldGJpdCgnZm9vJywgMCkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODYKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlYyA1IC8vICAiZm9vIgoJaW50YyAxIC8vIDAKCWdldGJ5dGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NwoJLy8gc2V0Ynl0ZSgnZm9vJywgMCwgMSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJ5dGUKCXJldHN1YgoKLy8gZ2V0U2V0VWludDY0KCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0VWludDY0OgoJLy8gZXhlY3V0ZSBnZXRTZXRVaW50NjQoKXZvaWQKCWNhbGxzdWIgZ2V0U2V0VWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRTZXRVaW50NjQoKTogdm9pZApnZXRTZXRVaW50NjQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5MQoJLy8gYXNzZXJ0KHNldGJpdCgxMjMsIDAsIHRydWUpKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkyCgkvLyBnZXRiaXQoMTIzLCAwKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBibG9ja09wKCl2b2lkCiphYmlfcm91dGVfYmxvY2tPcDoKCS8vIGV4ZWN1dGUgYmxvY2tPcCgpdm9pZAoJY2FsbHN1YiBibG9ja09wCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBibG9ja09wKCk6IHZvaWQKYmxvY2tPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk2CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5zZWVkKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrU2VlZAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOTcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnRpbWVzdGFtcCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1RpbWVzdGFtcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGI2NCgpdm9pZAoqYWJpX3JvdXRlX2I2NDoKCS8vIGV4ZWN1dGUgYjY0KCl2b2lkCgljYWxsc3ViIGI2NAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYjY0KCk6IHZvaWQKYjY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDEKCS8vIGxvZyhiYXNlNjREZWNvZGUoJ1N0ZEVuY29kaW5nJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA1CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlYyAwIC8vICAiIgoJZHVwCglqc29uX3JlZiBKU09OT2JqZWN0Cglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQwNgoJLy8gbG9nKGpzb25SZWYoJ0pTT05TdHJpbmcnLCAnJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJanNvbl9yZWYgSlNPTlN0cmluZwoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDcKCS8vIGFzc2VydChqc29uUmVmKCdKU09OVWludDY0JywgJycsICcnKSkKCWJ5dGVjIDAgLy8gICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDExCgkvLyBiaXRsZW4oMTIzKQoJaW50YyA1IC8vIDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTIKCS8vIGJpdGxlbignZm9vJykKCWJ5dGVjIDUgLy8gICJmb28iCgliaXRsZW4KCXJldHN1YgoKLy8gY29tcHV0ZWRDb25zdCgpdm9pZAoqYWJpX3JvdXRlX2NvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIGNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgY29tcHV0ZWRDb25zdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29tcHV0ZWRDb25zdCgpOiB2b2lkCmNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KENPTVBVVEVEX0NPTlNUKQoJcHVzaGludCAyNDYKCWFzc2VydAoJcmV0c3ViCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aUNvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIG11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBtdWx0aUNvbXB1dGVkQ29uc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQ29tcHV0ZWRDb25zdCgpOiB2b2lkCm11bHRpQ29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDIwCgkvLyBhc3NlcnQoTVVUTElfQ09NUFVURURfQ09OU1QpCglwdXNoaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNAoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludGMgMCAvLyAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNQoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50YyAzIC8vIDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDI2CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnRjIDggLy8gMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MjcKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50YyA3IC8vIDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMSAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbXBhcmlzb25PcigpOiBib29sZWFuCmNvbXBhcmlzb25PcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyID09PSBnbG9iYWxzLnplcm9BZGRyZXNzIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzczsKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJfHwKCipza2lwX29yMDoKCXJldHN1YgoKLy8gdHhuQXJnc01ldGhvZChwYXkpdm9pZAoqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2Q6CgkvLyBfcGF5MTogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzOQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglpdHhuX25leHQKCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTMgLy8gIG1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA5IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDQKCS8vIGFzc2VydChsZW4oeCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ4CgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDUyCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50YyAwIC8vIDEKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1MwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnRjIDAgLy8gMQoJbG9hZHMKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTgKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludGMgMCAvLyAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTkKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludGMgMTIgLy8gMTMzOAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9pbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYzCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID0gMTMzNwoJaW50YyAzIC8vIDIKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NAoJLy8gdGhpcy5keW5hbWljU2NyYXRjaCgyKS52YWx1ZSArPSAxCglpbnRjIDMgLy8gMgoJbG9hZHMKCWludGMgMCAvLyAxCgkrCglpbnRjIDMgLy8gMgoJc3dhcAoJc3RvcmVzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NjUKCS8vIGFzc2VydCh0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID09PSAxMzM4KQoJaW50YyAzIC8vIDIKCWxvYWRzCglpbnRjIDEyIC8vIDEzMzgKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUFkZHJlc3MoKXZvaWQKKmFiaV9yb3V0ZV9mcm9tQWRkcmVzczoKCS8vIGV4ZWN1dGUgZnJvbUFkZHJlc3MoKXZvaWQKCWNhbGxzdWIgZnJvbUFkZHJlc3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZyb21BZGRyZXNzKCk6IHZvaWQKZnJvbUFkZHJlc3M6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBhID0gQWRkcmVzcy5mcm9tQWRkcmVzcygnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVk1SEZLUScpCglieXRlYyAzIC8vICBhZGRyICJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRIgoJZnJhbWVfYnVyeSAwIC8vIGE6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3MAoJLy8gYXNzZXJ0KGEgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMCAvLyBhOiBhZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Vhcmx5UmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGVhcmx5UmV0dXJuKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZWFybHlSZXR1cm4KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlYXJseVJldHVybihhOiB1aW50NjQpOiB1aW50NjQKZWFybHlSZXR1cm46Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NAoJLy8gYSA9PT0gMQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzUKCS8vIHJldHVybiAyOwoJaW50YyAzIC8vIDIKCWIgKmVhcmx5UmV0dXJuKnJldHVybgoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NwoJLy8gYiA9IGEgKyAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDc4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAwIC8vIGI6IHVpbnQ2NAoKKmVhcmx5UmV0dXJuKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhc3NldE1ldGhvZEFyZ3MoKXZvaWQKKmFiaV9yb3V0ZV9hc3NldE1ldGhvZEFyZ3M6CgkvLyBleGVjdXRlIGFzc2V0TWV0aG9kQXJncygpdm9pZAoJY2FsbHN1YiBhc3NldE1ldGhvZEFyZ3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFzc2V0TWV0aG9kQXJncygpOiB2b2lkCmFzc2V0TWV0aG9kQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDgyCgkvLyBzZW5kTWV0aG9kQ2FsbDxbQXNzZXRSZWZlcmVuY2VdLCB2b2lkPih7CgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtBc3NldElELmZyb21VaW50NjQoMSldLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGExNTMxNmRlIC8vIG1ldGhvZCAiZm9vKGFzc2V0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg0CgkvLyBtZXRob2RBcmdzOiBbQXNzZXRJRC5mcm9tVWludDY0KDEpXQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aXBsZVByb2dyYW1QYWdlczoKCS8vIGV4ZWN1dGUgbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKCWNhbGxzdWIgbXVsdGlwbGVQcm9ncmFtUGFnZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpcGxlUHJvZ3JhbVBhZ2VzKCk6IHZvaWQKbXVsdGlwbGVQcm9ncmFtUGFnZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ5MwoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk0CgkvLyBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGVjIDEwIC8vICAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMSAvLyAgInBhZ2VUd28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VUd28udmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXQoJYnl0ZWMgMTAgLy8gICJwYWdlT25lIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlT25lLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoJYnl0ZWMgMTEgLy8gICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXJ0Q29tbWVudCgpdm9pZAoqYWJpX3JvdXRlX2Fzc2VydENvbW1lbnQ6CgkvLyBleGVjdXRlIGFzc2VydENvbW1lbnQoKXZvaWQKCWNhbGxzdWIgYXNzZXJ0Q29tbWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXJ0Q29tbWVudCgpOiB2b2lkCmFzc2VydENvbW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUwMAoJLy8gYXNzZXJ0KGZhbHNlLCAndGhpcyBpcyBmYWxzZScpCglpbnRjIDEgLy8gMAoKCS8vIHRoaXMgaXMgZmFsc2UKCWFzc2VydAoJcmV0c3ViCgovLyB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlOgoJLy8gZXhlY3V0ZSB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yTWVzc2FnZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKTogdm9pZAp0aHJvd0Vycm9yTWVzc2FnZToKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yTGl0ZXJhbFR5cGU6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yTGl0ZXJhbFR5cGUodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG9yTGl0ZXJhbFR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yTGl0ZXJhbFR5cGUoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yTGl0ZXJhbFR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDgKCS8vIGZvbyA9IGEgJiYgYiA9PT0gMSA/IDIgOiAwCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqdGVybmFyeTBfZmFsc2UKCWludGMgMyAvLyAyCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludGMgMSAvLyAwCgoqdGVybmFyeTBfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIGZvbzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydChmb28pCglmcmFtZV9kaWcgMCAvLyBmb286IHVpbnQ2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTEKCS8vIGJhciA9IGEgJiYgYiA9PT0gMCA/ICcyJyA6ICcwJwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnRjIDEgLy8gMAoJPT0KCSYmCgoqc2tpcF9hbmQxOgoJYnogKnRlcm5hcnkxX2ZhbHNlCglwdXNoYnl0ZXMgMHgzMiAvLyAiMiIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJYnl0ZWMgMTcgLy8gICIwIgoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMSAvLyBiYXI6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTEyCgkvLyBsb2coYmFyKQoJZnJhbWVfZGlnIDEgLy8gYmFyOiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBub25BYmkoKTogdm9pZApub25BYmk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE3CgkvLyBhc3NlcnQodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgpCgl0eG4gTnVtQXBwQXJncwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxOQoJLy8gaSA8IHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyEubGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4biBOdW1BcHBBcmdzCgk8CglieiAqZm9yXzFfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MjAKCS8vIGxvZyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cgl0eG5hcyBBcHBsaWNhdGlvbkFyZ3MKCWxvZwoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CglyZXRzdWIKCi8vIG11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbDoKCS8vIGV4ZWN1dGUgbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCgljYWxsc3ViIG11bHRpbGluZUZ1bmN0aW9uQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCk6IHZvaWQKbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTI1CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNgoJLy8gYWRkciA9IEFkZHJlc3MuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyOAoJLy8gYXBwLmxvY2FsU3RhdGUoCgkvLyAgICAgICBhZGRyLAoJLy8gICAgICAgJ2tleScKCS8vICAgICApCglmcmFtZV9kaWcgMSAvLyBhZGRyOiBhZGRyZXNzCglpbnRjIDEgLy8gIGFwcDogdWludDY0CglwdXNoYnl0ZXMgMHg2YjY1NzkgLy8gImtleSIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogYXBwLmxvY2FsU3RhdGUoIGFkZHIsICdrZXknICkKCWFzc2VydAoJcmV0c3ViCgovLyBhKCl1aW50NjQKKmFiaV9yb3V0ZV9hOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGEoKXVpbnQ2NAoJY2FsbHN1YiBhCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB1aW50NjQKYToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gMzsKCWludGMgOCAvLyAzCglyZXRzdWIKCi8vIGIoKXVpbnQ2NAoqYWJpX3JvdXRlX2I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYigpdWludDY0CgljYWxsc3ViIGIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHVpbnQ2NApiOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzkKCS8vIHJldHVybiA1OwoJaW50YyA0IC8vIDUKCXJldHN1YgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3VudXNlZE1ldGhvZFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgdW51c2VkTWV0aG9kVmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1bnVzZWRNZXRob2RWYWx1ZSgpOiB1aW50NjQKdW51c2VkTWV0aG9kVmFsdWU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0MwoJLy8gdGhpcy5hKCkKCWNhbGxzdWIgYQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDQKCS8vIHJldHVybiB0aGlzLmIoKTsKCWNhbGxzdWIgYgoJcmV0c3ViCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoqYWJpX3JvdXRlX3JlYXNzaWduZWROb25GaXJzdFZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoJY2FsbHN1YiByZWFzc2lnbmVkTm9uRmlyc3RWYXIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKTogdWludDY0CnJlYXNzaWduZWROb25GaXJzdFZhcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NQoJLy8gYSA9IDEgYXMgdWludDY0CglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU2CgkvLyBiID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTcKCS8vIGEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU4CgkvLyBiID0gMgoJaW50YyAzIC8vIDIKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NjEKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDEgLy8gYjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBmdkx2KCl2b2lkCiphYmlfcm91dGVfZnZMdjoKCS8vIGV4ZWN1dGUgZnZMdigpdm9pZAoJY2FsbHN1YiBmdkx2CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmdkx2KCk6IHZvaWQKZnZMdjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTY1CgkvLyBhc3NlcnQodGhpcy50eG4uZmlyc3RWYWxpZCkKCXR4biBGaXJzdFZhbGlkCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU2NgoJLy8gYXNzZXJ0KHRoaXMudHhuLmxhc3RWYWxpZCkKCXR4biBMYXN0VmFsaWQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDYyNDI2NGEzIC8vIG1ldGhvZCAidHhuVHlwZUVudW0oKXZvaWQiCglwdXNoYnl0ZXMgMHhiMjA1ZWRjOSAvLyBtZXRob2QgInR4bkdyb3VwTGVuZ3RoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZlOTdkNWIgLy8gbWV0aG9kICJhc3NlcnRzKGJvb2wsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ2ZmE3YzggLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4MGVhNjQ0ZmIgLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQiCglwdXNoYnl0ZXMgMHhlYzBkOTA5NCAvLyBtZXRob2QgInZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweDY4ODQ4ZDk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDE4YmQyM2RjIC8vIG1ldGhvZCAidmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDgwNmJmYjkzIC8vIG1ldGhvZCAic3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2JlNWY4MmUgLy8gbWV0aG9kICJtZXRob2RXaXRoVHhuQXJncygpdm9pZCIKCXB1c2hieXRlcyAweDEyOTVkNjgzIC8vIG1ldGhvZCAic2hpZnQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiM2I4YzQ3MiAvLyBtZXRob2QgImZyb21CeXRlcygpdm9pZCIKCXB1c2hieXRlcyAweDUzZTBiNmYwIC8vIG1ldGhvZCAiZnJvbVVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDRiM2ViODc3IC8vIG1ldGhvZCAiYnplcm9GdW5jdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweGRhYzJlN2E1IC8vIG1ldGhvZCAiZXZlbnRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTNkYjY3MDQgLy8gbWV0aG9kICJsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10iCglwdXNoYnl0ZXMgMHhhZTIxYzE3MiAvLyBtZXRob2QgInN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZCIKCXB1c2hieXRlcyAweGRhYjRkMWM0IC8vIG1ldGhvZCAibnVtYmVyVG9TdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhhN2I0YWU5YSAvLyBtZXRob2QgIm1ldGhvZE9uUGFyZW5zKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NmQ0NDg1YmEgLy8gbWV0aG9kICJzdHJpbmdTdWJzdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhlZjYyNjJlOSAvLyBtZXRob2QgImlkUHJvcGVydHkoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZDJiNjY4YiAvLyBtZXRob2QgInNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZjMTU0ZmMgLy8gbWV0aG9kICJlY2RzYSgpdm9pZCIKCXB1c2hieXRlcyAweGE5NzY0MTk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuVHlwZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHg5ZGJiYzQyYyAvLyBtZXRob2QgInN0cmluZ1BsdXNFcXVhbHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YzBkZGVjMSAvLyBtZXRob2QgImltcG9ydGVkUHJvZ3JhbSgpYnl0ZVtdIgoJcHVzaGJ5dGVzIDB4MzBlY2ZiNDEgLy8gbWV0aG9kICJjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpdm9pZCIKCXB1c2hieXRlcyAweDE0YTQ5OTE5IC8vIG1ldGhvZCAiaW50ZXJhbFB1YmxpY01ldGhvZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3MWMxNzlhIC8vIG1ldGhvZCAiY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OTg0ODEwOTMgLy8gbWV0aG9kICJhcHBMb2FkU2NyYXRjaCgpdm9pZCIKCXB1c2hieXRlcyAweGY1NzJkMWMxIC8vIG1ldGhvZCAidWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NiIKCXB1c2hieXRlcyAweDg1NGRlZGUwIC8vIG1ldGhvZCAib3BVcCgpdm9pZCIKCXB1c2hieXRlcyAweDY4MTU5OWZhIC8vIG1ldGhvZCAicmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZyIKCXB1c2hieXRlcyAweDVlMTQ3N2U4IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTA3YjNiZTkgLy8gbWV0aG9kICJyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDE2ZTQ2NjU3IC8vIG1ldGhvZCAicmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDJjODM2ZjQ2IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50KCl1aW50NjQiCglwdXNoYnl0ZXMgMHhhOTNjNTZmOSAvLyBtZXRob2QgInJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZjkzNjk1MmQgLy8gbWV0aG9kICJjb25zdHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg4OGYzOWM5OSAvLyBtZXRob2QgImFzc2VydFdpdGhNZXNzYWdlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTg3OTRjZjQgLy8gbWV0aG9kICJvcGNvZGVBbGlhc2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzUwNDRhZDggLy8gbWV0aG9kICJ2cmZWZXJpZnlPcCgpdm9pZCIKCXB1c2hieXRlcyAweDdkMjc5ZThlIC8vIG1ldGhvZCAiZWNNYXRoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2RmYTE4YzggLy8gbWV0aG9kICJnaXR4bigpdm9pZCIKCXB1c2hieXRlcyAweDc4Y2E1YzRlIC8vIG1ldGhvZCAiZ2V0U2V0Qnl0ZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHgwZTY3ZTk1NyAvLyBtZXRob2QgImdldFNldFVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDNiNDQ2ZWVmIC8vIG1ldGhvZCAiYmxvY2tPcCgpdm9pZCIKCXB1c2hieXRlcyAweGFlODJlODc1IC8vIG1ldGhvZCAiYjY0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDY5YWY1MzAgLy8gbWV0aG9kICJqc29uKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQ1MmYzM2QgLy8gbWV0aG9kICJiaXRsZW5PcCgpdm9pZCIKCXB1c2hieXRlcyAweDJjMGNkMjAxIC8vIG1ldGhvZCAiY29tcHV0ZWRDb25zdCgpdm9pZCIKCXB1c2hieXRlcyAweDcwZTBhZmU1IC8vIG1ldGhvZCAibXVsdGlDb21wdXRlZENvbnN0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzBhMmZlZjQgLy8gbWV0aG9kICJyZWFkU2NoZW1hKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjM5NzFkY2EgLy8gbWV0aG9kICJjb21wYXJpc29uT3IoKWJvb2wiCglieXRlYyAxMyAvLyAgbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4OWU0MGQzNGIgLy8gbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCXB1c2hieXRlcyAweDkxY2YyYjU4IC8vIG1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJcHVzaGJ5dGVzIDB4YjFjOGI0NWMgLy8gbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OWMwZTFiZGIgLy8gbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgwYTMxOTUwNCAvLyBtZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODRiMjYwZmEgLy8gbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YTkwODg1NiAvLyBtZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGRlYjMyZDMgLy8gbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NjdkZTE1NmYgLy8gbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCglwdXNoYnl0ZXMgMHgxZTQyODQxMiAvLyBtZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjc4ZmQ4YjggLy8gbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmZjMzYyMDggLy8gbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCXB1c2hieXRlcyAweDA0ZWVkZjc5IC8vIG1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgzNWQ1ZmJjNyAvLyBtZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCXB1c2hieXRlcyAweGY5NTIyZTJmIC8vIG1ldGhvZCAiYSgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGM5Mzc5ZTYgLy8gbWV0aG9kICJiKCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmOWExMzU1MiAvLyBtZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5NGYyMDQ5YSAvLyBtZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTYyNjQyMTUgLy8gbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJcHVzaGJ5dGVzIDB4MzAzMTMyMzMzNDM1MzYzNzM4MzkgLy8gIjAxMjM0NTY3ODkiCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJZXh0cmFjdDMKCXJldHN1YgoJCgoqaXRvYToKCXByb3RvIDEgMQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDAKCT09CglieiAqaXRvYV9pZl9lbmQKCWJ5dGVjIDE3IC8vIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMAoJLwoJaW50YyAxIC8vIDAKCT4KCWJ6ICppdG9hX3Rlcm5hcnlfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMTAgLy8gMTAKCS8KCWNhbGxzdWIgKml0b2EKCWIgKml0b2FfdGVybmFyeV9lbmQKCippdG9hX3Rlcm5hcnlfZmFsc2U6CglieXRlYyAwIC8vICAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDEwIC8vIDEwCgklCgljYWxsc3ViICppbnRUb0FzY2lpCgljb25jYXQKCXJldHN1Yg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAyIDUgMTIzIDEzMzcgNCAzIDMyIDEwIDEwMF8wMDAgMTMzOApieXRlY2Jsb2NrIDB4IDB4MGE4MTAxIDB4MTUxZjdjNzUgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMHg2NjZmNmYgMHgwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDMgMHg3Mzc0NmY3MjYxNjc2NTQxNzI3MjYxNzkgMHgwMDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAxIDB4NzA2MTY3NjU0ZjZlNjUgMHg3MDYxNjc2NTU0Nzc2ZiAweDY3NGI2NTc5IDB4MmM2MzZlZWIgMHg2MjYxNzIgMHg2Mjc5NjUgMHgwMDAwIDB4MzAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyAhISEhIFdBUk5JTkc6IFRoaXMgY29udHJhY3QgaXMgKk5PVCogQVJDNCBjb21wbGlhbnQuIEl0IG1heSBjb250YWluIEFCSSBtZXRob2RzLCBidXQgaXQgYWxzbyBhbGxvd3MgYXBwIGNhbGxzIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBkb2VzIE5PVCBtYXRjaCBhbiBBQkkgc2VsZWN0b3IKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMiAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHR4blR5cGVFbnVtKCl2b2lkCiphYmlfcm91dGVfdHhuVHlwZUVudW06CgkvLyBleGVjdXRlIHR4blR5cGVFbnVtKCl2b2lkCgljYWxsc3ViIHR4blR5cGVFbnVtCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0eG5UeXBlRW51bSgpOiB2b2lkCnR4blR5cGVFbnVtOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo2OQoJLy8gYXNzZXJ0KHRoaXMudHhuR3JvdXBbMF0udHlwZUVudW0gPT09IFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGwpCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMiAvLyAgYXBwbAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyB0eG5Hcm91cExlbmd0aCgpdm9pZAoqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoOgoJLy8gZXhlY3V0ZSB0eG5Hcm91cExlbmd0aCgpdm9pZAoJY2FsbHN1YiB0eG5Hcm91cExlbmd0aAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuR3JvdXBMZW5ndGgoKTogdm9pZAp0eG5Hcm91cExlbmd0aDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NzMKCS8vIGFzc2VydCh0aGlzLnR4bkdyb3VwLmxlbmd0aCA9PT0gMSkKCWdsb2JhbCBHcm91cFNpemUKCWludGMgMCAvLyAxCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydHMoYm9vbCxib29sKXZvaWQKKmFiaV9yb3V0ZV9hc3NlcnRzOgoJLy8gYXJnMjogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzIpIGZvciBhc3NlcnRzIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMSkgZm9yIGFzc2VydHMgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgYXNzZXJ0cyhib29sLGJvb2wpdm9pZAoJY2FsbHN1YiBhc3NlcnRzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRzKGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiB2b2lkCmFzc2VydHM6Cglwcm90byAyIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjc3CgkvLyBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglmcmFtZV9kaWcgLTEgLy8gYXJnMTogYm9vbGVhbgoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgoJLy8gYXNzZXJ0cyBmYWlsZWQ6IGFzc2VydHMoYXJnMSwgYXJnMiwgYXJnMSA9PT0gYXJnMikKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIGFyZzE6IGJvb2xlYW4KCWZyYW1lX2RpZyAtMiAvLyBhcmcyOiBib29sZWFuCgk9PQoKCS8vIGFzc2VydHMgZmFpbGVkOiBhc3NlcnRzKGFyZzEsIGFyZzIsIGFyZzEgPT09IGFyZzIpCglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbUFyZyhwYXkpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21Bcmc6CgkvLyBzb21lUGF5OiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAoc29tZVBheSkgZm9yIHZlcmlmeVR4bkZyb21BcmcgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkCgljYWxsc3ViIHZlcmlmeVR4bkZyb21BcmcKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkZyb21Bcmcoc29tZVBheTogUGF5VHhuKTogdm9pZAp2ZXJpZnlUeG5Gcm9tQXJnOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo4MQoJLy8gdmVyaWZ5VHhuKHNvbWVQYXksIHsgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMTAwXzAwMCB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJzb21lUGF5IiwiZmllbGQiOiJyZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYW1vdW50CglmcmFtZV9kaWcgLTEgLy8gc29tZVBheTogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgMTEgLy8gMTAwXzAwMAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InNvbWVQYXkiLCJmaWVsZCI6ImFtb3VudCIsImV4cGVjdGVkIjoiMTAwXzAwMCJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuRnJvbVR4bkdyb3VwKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuRnJvbVR4bkdyb3VwOgoJLy8gZXhlY3V0ZSB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuRnJvbVR4bkdyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKTogdm9pZAp2ZXJpZnlUeG5Gcm9tVHhuR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjg1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG5Hcm91cFswXSwgeyBzZW5kZXI6IHRoaXMudHhuLnNlbmRlciB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFNlbmRlcgoJdHhuIFNlbmRlcgoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InNlbmRlciIsImV4cGVjdGVkIjoidGhpcy50eG4uc2VuZGVyIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Db25kaXRpb24oKXZvaWQKKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb246CgkvLyBleGVjdXRlIHZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Db25kaXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHZlcmlmeVR4bkNvbmRpdGlvbigpOiB2b2lkCnZlcmlmeVR4bkNvbmRpdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6ODkKCS8vIHZlcmlmeVR4bih0aGlzLnR4biwgewoJLy8gICAgICAgYXBwbGljYXRpb25JRDogeyBncmVhdGVyVGhhbjogMSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJdHhuIEFwcGxpY2F0aW9uSUQKCWludGMgMCAvLyAxCgk+CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4biIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZAoqYWJpX3JvdXRlX3ZlcmlmeVR4bkluY2x1ZGVkSW46CgkvLyBleGVjdXRlIHZlcmlmeVR4bkluY2x1ZGVkSW4oKXZvaWQKCWNhbGxzdWIgdmVyaWZ5VHhuSW5jbHVkZWRJbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdmVyaWZ5VHhuSW5jbHVkZWRJbigpOiB2b2lkCnZlcmlmeVR4bkluY2x1ZGVkSW46Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjk1CgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBpbmNsdWRlZEluOiBbdGhpcy50eG4uc2VuZGVyXSB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgc2VuZGVyCgl0eG4gU2VuZGVyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6Ilt0aGlzLnR4bi5zZW5kZXJdIn0KCWFzc2VydAoJcmV0c3ViCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCS8vIGV4ZWN1dGUgdmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZAoJY2FsbHN1YiB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5Ob3RJbmNsdWRlZEluKCk6IHZvaWQKdmVyaWZ5VHhuTm90SW5jbHVkZWRJbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTAxCgkvLyB2ZXJpZnlUeG4odGhpcy50eG4sIHsKCS8vICAgICAgIHNlbmRlcjogeyBub3RJbmNsdWRlZEluOiBbZ2xvYmFscy56ZXJvQWRkcmVzc10gfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHNlbmRlcgoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjp7InR4blRleHQiOiJ0aGlzLnR4biJ9LCJmaWVsZCI6InNlbmRlciIsImNvbmRpdGlvbiI6Im5vdEluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IltnbG9iYWxzLnplcm9BZGRyZXNzXSJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkCiphYmlfcm91dGVfc3VibWl0UGVuZGluZ0dyb3VwOgoJLy8gZXhlY3V0ZSBzdWJtaXRQZW5kaW5nR3JvdXAoKXZvaWQKCWNhbGxzdWIgc3VibWl0UGVuZGluZ0dyb3VwCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdWJtaXRQZW5kaW5nR3JvdXAoKTogdm9pZApzdWJtaXRQZW5kaW5nR3JvdXA6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwNwoJLy8gdGhpcy5wZW5kaW5nR3JvdXAuYWRkUGF5bWVudCh7IGFtb3VudDogMCwgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGlzRmlyc3RUeG46IHRydWUgfSkKCWl0eG5fYmVnaW4KCWludGMgMCAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDcKCS8vIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTA4CgkvLyB0aGlzLnBlbmRpbmdHcm91cC5hZGRQYXltZW50KHsgYW1vdW50OiAwLCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywgbm90ZTogJ2ZvbycgfSkKCWl0eG5fbmV4dAoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gYW1vdW50OiAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEwOAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDgKCS8vIG5vdGU6ICdmb28nCglieXRlYyA1IC8vICAiZm9vIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMDkKCS8vIHRoaXMucGVuZGluZ0dyb3VwLnN1Ym1pdCgpCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzOgoJLy8gZXhlY3V0ZSBtZXRob2RXaXRoVHhuQXJncygpdm9pZAoJY2FsbHN1YiBtZXRob2RXaXRoVHhuQXJncwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kV2l0aFR4bkFyZ3MoKTogdm9pZAptZXRob2RXaXRoVHhuQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTEzCgkvLyBzZW5kTWV0aG9kQ2FsbDxbUGF5VHhuLCBNZXRob2RDYWxsPFt1aW50NjRdLCB2b2lkPl0sIHZvaWQ+KHsKCS8vICAgICAgIG5hbWU6ICdmb28nLAoJLy8gICAgICAgbWV0aG9kQXJnczogWwoJLy8gICAgICAgICB7IGFtb3VudDogMTAwXzAwMCwgcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlciB9LAoJLy8gICAgICAgICB7CgkvLyAgICAgICAgICAgbmFtZTogJ2JhcicsCgkvLyAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KSwKCS8vICAgICAgICAgICBtZXRob2RBcmdzOiBbMV0sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICBdLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE2CgkvLyBhbW91bnQ6IDEwMF8wMDAKCWludGMgMTEgLy8gMTAwXzAwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExNgoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDBlOGNiOWY2IC8vIG1ldGhvZCAiYmFyKHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjExOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NCgxMzM3KQoJaW50YyA2IC8vIDEzMzcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTIwCgkvLyBtZXRob2RBcmdzOiBbMV0KCWJ5dGVjIDkgLy8gMHgwMDAwMDAwMDAwMDAwMDAxCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJaXR4bl9uZXh0CglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDZjNmY3YTA4IC8vIG1ldGhvZCAiZm9vKHBheSxhcHBsKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTE1CgkvLyBtZXRob2RBcmdzOiBbCgkvLyAgICAgICAgIHsgYW1vdW50OiAxMDBfMDAwLCByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyIH0sCgkvLyAgICAgICAgIHsKCS8vICAgICAgICAgICBuYW1lOiAnYmFyJywKCS8vICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDEzMzcpLAoJLy8gICAgICAgICAgIG1ldGhvZEFyZ3M6IFsxXSwKCS8vICAgICAgICAgfSwKCS8vICAgICAgIF0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc2hpZnQoKXZvaWQKKmFiaV9yb3V0ZV9zaGlmdDoKCS8vIGV4ZWN1dGUgc2hpZnQoKXZvaWQKCWNhbGxzdWIgc2hpZnQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNoaWZ0KCk6IHZvaWQKc2hpZnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjEyNwoJLy8gYXNzZXJ0KDEgPDwgMiA9PT0gNCkKCWludGMgMCAvLyAxCglpbnRjIDMgLy8gMgoJc2hsCglpbnRjIDcgLy8gNAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTI4CgkvLyBhc3NlcnQoNCA+PiAxID09PSAyKQoJaW50YyA3IC8vIDQKCWludGMgMCAvLyAxCglzaHIKCWludGMgMyAvLyAyCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGZyb21CeXRlcygpdm9pZAoqYWJpX3JvdXRlX2Zyb21CeXRlczoKCS8vIGV4ZWN1dGUgZnJvbUJ5dGVzKCl2b2lkCgljYWxsc3ViIGZyb21CeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnJvbUJ5dGVzKCk6IHZvaWQKZnJvbUJ5dGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxMzIKCS8vIGFzc2VydChBZGRyZXNzLmZyb21CeXRlcygnYWJjJykubWluQmFsYW5jZSkKCXB1c2hieXRlcyAweDYxNjI2MyAvLyAiYWJjIgoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBmcm9tVWludDY0KCl2b2lkCiphYmlfcm91dGVfZnJvbVVpbnQ2NDoKCS8vIGV4ZWN1dGUgZnJvbVVpbnQ2NCgpdm9pZAoJY2FsbHN1YiBmcm9tVWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmcm9tVWludDY0KCk6IHZvaWQKZnJvbVVpbnQ2NDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM2CgkvLyBsb2coQXBwSUQuZnJvbVVpbnQ2NCgxMjMpLmNyZWF0b3IpCglpbnRjIDUgLy8gMTIzCglhcHBfcGFyYW1zX2dldCBBcHBDcmVhdG9yCglwb3AKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTM3CgkvLyBsb2coQXNzZXRJRC5mcm9tVWludDY0KDEyMykuY3JlYXRvcikKCWludGMgNSAvLyAxMjMKCWFzc2V0X3BhcmFtc19nZXQgQXNzZXRDcmVhdG9yCglwb3AKCWxvZwoJcmV0c3ViCgovLyBiemVyb0Z1bmN0aW9uKCl2b2lkCiphYmlfcm91dGVfYnplcm9GdW5jdGlvbjoKCS8vIGV4ZWN1dGUgYnplcm9GdW5jdGlvbigpdm9pZAoJY2FsbHN1YiBiemVyb0Z1bmN0aW9uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiemVyb0Z1bmN0aW9uKCk6IHZvaWQKYnplcm9GdW5jdGlvbjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MgoJLy8geDogYnl0ZXMgPSBiemVybygyKQoJYnl0ZWMgMTYgLy8gMHgwMDAwCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0MwoJLy8geTogYnl0ZXMgPSBiemVybyhuKQoJaW50YyAwIC8vIDEKCWJ6ZXJvCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE0NAoJLy8gejogW3VpbnQ2NCwgdWludDw4Pl0gPSBiemVybzxbdWludDY0LCB1aW50PDg+XT4oKQoJYnl0ZWMgOCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAyIC8vIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNDUKCS8vIGFzc2VydChsZW4oeCArIHkgKyB6KSA9PT0gMTIpCglieXRlYyAxNiAvLyAgeDogYnl0ZXMKCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVzCgljb25jYXQKCWJ5dGVjIDggLy8gIHo6IFt1aW50NjQsIHVpbnQ8OD5dCgljb25jYXQKCWxlbgoJcHVzaGludCAxMgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBldmVudHMoKXZvaWQKKmFiaV9yb3V0ZV9ldmVudHM6CgkvLyBleGVjdXRlIGV2ZW50cygpdm9pZAoJY2FsbHN1YiBldmVudHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV2ZW50cygpOiB2b2lkCmV2ZW50czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTYwCgkvLyB0aGlzLm15RXZlbnQubG9nKHsgYXBwOiB0aGlzLmFwcCwgbnVtOiAxIH0pCglwdXNoYnl0ZXMgMHg4NzUyODE5NiAvLyBteUV2ZW50KHVpbnQ2NCx1aW50NjQpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglpdG9iCglieXRlYyA5IC8vIDB4MDAwMDAwMDAwMDAwMDAwMQoJY29uY2F0Cgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyBsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10KKmFiaV9yb3V0ZV9sZXRPcHRpbWl6YXRpb246CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGE6IHVpbnQ2NFtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbGV0T3B0aW1pemF0aW9uKHVpbnQ2NFtdKXVpbnQ2NFtdCgljYWxsc3ViIGxldE9wdGltaXphdGlvbgoJZHVwCglsZW4KCXB1c2hpbnQgOAoJLwoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxldE9wdGltaXphdGlvbihhOiB1aW50NjRbXSk6IHVpbnQ2NFtdCmxldE9wdGltaXphdGlvbjoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY0CgkvLyBhc3NlcnQoYVswXSkKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE2NgoJLy8gYiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAtMSAvLyBiOiB1aW50NjRbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTY4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjRbXQoJcmV0c3ViCgovLyBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMoKXZvaWQKKmFiaV9yb3V0ZV9zdGF0aWNDb250cmFjdFByb3BlcnRpZXM6CgkvLyBleGVjdXRlIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZAoJY2FsbHN1YiBzdGF0aWNDb250cmFjdFByb3BlcnRpZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpOiB2b2lkCnN0YXRpY0NvbnRyYWN0UHJvcGVydGllczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTcyCgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBEdW1teUNvbnRyYWN0LmFwcHJvdmFsUHJvZ3JhbSgpLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IER1bW15Q29udHJhY3QuY2xlYXJQcm9ncmFtKCksCgkvLyAgICAgICBsb2NhbE51bUJ5dGVTbGljZTogRHVtbXlDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50LAoJLy8gICAgICAgZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTczCgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDEgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxNzQKCS8vIGFwcHJvdmFsUHJvZ3JhbTogRHVtbXlDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMDAwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTc1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogRHVtbXlDb250cmFjdC5jbGVhclByb2dyYW0oKQoJcHVzaGJ5dGVzIDB4MGEKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IER1bW15Q29udHJhY3Quc2NoZW1hLmxvY2FsLm51bUJ5dGVTbGljZQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgTG9jYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3NwoJLy8gbG9jYWxOdW1VaW50OiBEdW1teUNvbnRyYWN0LnNjaGVtYS5sb2NhbC5udW1VaW50CglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBMb2NhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OAoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBEdW1teUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjE3OQoJLy8gZ2xvYmFsTnVtVWludDogRHVtbXlDb250cmFjdC5zY2hlbWEuZ2xvYmFsLm51bVVpbnQKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG51bWJlclRvU3RyaW5nKCl2b2lkCiphYmlfcm91dGVfbnVtYmVyVG9TdHJpbmc6CgkvLyBleGVjdXRlIG51bWJlclRvU3RyaW5nKCl2b2lkCgljYWxsc3ViIG51bWJlclRvU3RyaW5nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBudW1iZXJUb1N0cmluZygpOiB2b2lkCm51bWJlclRvU3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxODYKCS8vIGFzc2VydChuLnRvU3RyaW5nKCkgPT09IHMpCglpbnRjIDAgLy8gMQoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzICIxIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBtZXRob2RPblBhcmVucygpdm9pZAoqYWJpX3JvdXRlX21ldGhvZE9uUGFyZW5zOgoJLy8gZXhlY3V0ZSBtZXRob2RPblBhcmVucygpdm9pZAoJY2FsbHN1YiBtZXRob2RPblBhcmVucwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kT25QYXJlbnMoKTogdm9pZAptZXRob2RPblBhcmVuczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTkwCgkvLyBhc3NlcnQoKDEgKyAyKS50b1N0cmluZygpID09PSAnMycpCglpbnRjIDggLy8gMwoJY2FsbHN1YiAqaXRvYQoJcHVzaGJ5dGVzIDB4MzMgLy8gIjMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHN0cmluZ1N1YnN0cmluZygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1N1YnN0cmluZzoKCS8vIGV4ZWN1dGUgc3RyaW5nU3Vic3RyaW5nKCl2b2lkCgljYWxsc3ViIHN0cmluZ1N1YnN0cmluZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nU3Vic3RyaW5nKCk6IHZvaWQKc3RyaW5nU3Vic3RyaW5nOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoxOTUKCS8vIGFzc2VydChzLnN1YnN0cmluZygxLCAzKSA9PT0gJ2JjJykKCXB1c2hieXRlcyAiYWJjZGVmIgoJc3Vic3RyaW5nIDEgMwoJcHVzaGJ5dGVzIDB4NjI2MyAvLyAiYmMiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGlkUHJvcGVydHkoKXZvaWQKKmFiaV9yb3V0ZV9pZFByb3BlcnR5OgoJLy8gZXhlY3V0ZSBpZFByb3BlcnR5KCl2b2lkCgljYWxsc3ViIGlkUHJvcGVydHkKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlkUHJvcGVydHkoKTogdm9pZAppZFByb3BlcnR5OgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MTk5CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIwMAoJLy8gYXNzZXJ0KEFwcElELmZyb21VaW50NjQoYXBwLmlkKSA9PT0gYXBwKQoJaW50YyAxIC8vICBhcHA6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDIKCS8vIGFzYSA9IEFzc2V0SUQuemVyb0luZGV4CglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGFzYTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDMKCS8vIGFzc2VydChBc3NldElELmZyb21VaW50NjQoYXNhLmlkKSA9PT0gYXNhKQoJaW50YyAxIC8vICBhc2E6IHVpbnQ2NAoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfc2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIHNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIHNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzY3JhdGNoU2xvdCgpOiB2b2lkCnNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMDgKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzcpCglsb2FkIDAKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGVjZHNhKCl2b2lkCiphYmlfcm91dGVfZWNkc2E6CgkvLyBleGVjdXRlIGVjZHNhKCl2b2lkCgljYWxsc3ViIGVjZHNhCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlY2RzYSgpOiB2b2lkCmVjZHNhOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjEyCgkvLyBlY2RzYVZlcmlmeSgnU2VjcDI1NmsxJywgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMiwgJycgYXMgYnl0ZXMzMikKCWJ5dGVjIDMgLy8gICIiCglkdXBuIDQKCWVjZHNhX3ZlcmlmeSBTZWNwMjU2azEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxMwoJLy8gZCA9IGVjZHNhUGtEZWNvbXByZXNzKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczwzMz4pCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgLy8gIiIKCWVjZHNhX3BrX2RlY29tcHJlc3MgU2VjcDI1NmsxCglmcmFtZV9idXJ5IDAgLy8gZCB5IGNvbXBvbmVudDogYnl0ZVtdCglmcmFtZV9idXJ5IDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMTQKCS8vIGxvZyhkLnkpCglmcmFtZV9kaWcgMCAvLyBkIHkgY29tcG9uZW50OiBieXRlW10KCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE1CgkvLyBsb2coZC54KQoJZnJhbWVfZGlnIDEgLy8gZCB4IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxNwoJLy8gciA9IGVjZHNhUGtSZWNvdmVyKCdTZWNwMjU2azEnLCAnJyBhcyBieXRlczMyLCAxLCAnJyBhcyBieXRlczMyLCAnJyBhcyBieXRlczMyKQoJYnl0ZWMgMyAvLyAgIiIKCWludGMgMCAvLyAxCglieXRlYyAzIC8vICAiIgoJZHVwCgllY2RzYV9wa19yZWNvdmVyIFNlY3AyNTZrMQoJZnJhbWVfYnVyeSAyIC8vIHIgeSBjb21wb25lbnQ6IGJ5dGVbXQoJZnJhbWVfYnVyeSAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjE4CgkvLyBsb2coci55KQoJZnJhbWVfZGlnIDIgLy8gciB5IGNvbXBvbmVudDogYnl0ZVtdCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIxOQoJLy8gbG9nKHIueCkKCWZyYW1lX2RpZyAzIC8vIHIgeCBjb21wb25lbnQ6IGJ5dGVbXQoJbG9nCglyZXRzdWIKCi8vIHZlcmlmeVR4blR5cGVzKCl2b2lkCiphYmlfcm91dGVfdmVyaWZ5VHhuVHlwZXM6CgkvLyBleGVjdXRlIHZlcmlmeVR4blR5cGVzKCl2b2lkCgljYWxsc3ViIHZlcmlmeVR4blR5cGVzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2ZXJpZnlUeG5UeXBlcygpOiB2b2lkCnZlcmlmeVR4blR5cGVzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyMjMKCS8vIHZlcmlmeVBheVR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgfSwKCS8vICAgICB9KQoJLy8gdmVyaWZ5IHBheQoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InR5cGVFbnVtIiwiZXhwZWN0ZWQiOiJwYXkifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJaW50YyAxIC8vIDAKCWd0eG5zIEFtb3VudAoJaW50YyAxIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6ImFtb3VudCIsImNvbmRpdGlvbiI6ImdyZWF0ZXJUaGFuIiwiZXhwZWN0ZWQiOiI+MCJ9Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjIyNwoJLy8gdmVyaWZ5QXBwQ2FsbFR4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KDApLAoJLy8gICAgICAgYXBwbGljYXRpb25BcmdzOiB7CgkvLyAgICAgICAgIDA6ICdmb28nLAoJLy8gICAgICAgICAxOiB7CgkvLyAgICAgICAgICAgaW5jbHVkZWRJbjogWydiYXInLCAnYmF6J10sCgkvLyAgICAgICAgIH0sCgkvLyAgICAgICB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYXBwbAoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDIgLy8gIGFwcGwKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYXBwbCJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25JRAoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uSUQKCWludGMgMSAvLyAwCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoiYXBwbGljYXRpb25JRCIsImV4cGVjdGVkIjoiQXBwSUQuZnJvbVVpbnQ2NCgwKSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzCgkvLyB2ZXJpZnkgYXBwbGljYXRpb25BcmdzIDAKCWludGMgMSAvLyAwCglndHhucyBBcHBsaWNhdGlvbkFyZ3MgMAoJYnl0ZWMgNSAvLyAgImZvbyIKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MiLCJpbmRleCI6IjAiLCJleHBlY3RlZCI6Iidmb28nIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhcHBsaWNhdGlvbkFyZ3MgMQoJaW50YyAxIC8vIDAKCWd0eG5zIEFwcGxpY2F0aW9uQXJncyAxCglieXRlYyAxNCAvLyAgImJhciIKCT09CglpbnRjIDEgLy8gMAoJZ3R4bnMgQXBwbGljYXRpb25BcmdzIDEKCXB1c2hieXRlcyAweDYyNjE3YSAvLyAiYmF6IgoJPT0KCXx8CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOnsidHhuVGV4dCI6InRoaXMudHhuR3JvdXBbMF0ifSwiZmllbGQiOiJhcHBsaWNhdGlvbkFyZ3MgMSIsImNvbmRpdGlvbiI6ImluY2x1ZGVkSW4iLCJleHBlY3RlZCI6IlsnYmFyJywgJ2JheiddIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjM3CgkvLyB2ZXJpZnlBc3NldFRyYW5zZmVyVHhuKHRoaXMudHhuR3JvdXBbMF0sIHsKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCS8vIHZlcmlmeSBheGZlcgoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDcgLy8gIGF4ZmVyCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImF4ZmVyIn0KCWFzc2VydAoKCS8vIHZlcmlmeSBhc3NldFJlY2VpdmVyCglpbnRjIDEgLy8gMAoJZ3R4bnMgQXNzZXRSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJhc3NldFJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQxCgkvLyB2ZXJpZnlBc3NldENvbmZpZ1R4bih0aGlzLnR4bkdyb3VwWzBdLCB7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KDApLAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgYWNmZwoJaW50YyAxIC8vIDAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDggLy8gIGFjZmcKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJ0eXBlRW51bSIsImV4cGVjdGVkIjoiYWNmZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgY29uZmlnQXNzZXQKCWludGMgMSAvLyAwCglndHhucyBDb25maWdBc3NldAoJaW50YyAxIC8vIDAKCT09CgoJLy8gdHJhbnNhY3Rpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDogeyJ0eG4iOiJ0aGlzLnR4bkdyb3VwWzBdIiwiZmllbGQiOiJjb25maWdBc3NldCIsImV4cGVjdGVkIjoiQXNzZXRJRC5mcm9tVWludDY0KDApIn0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjQ1CgkvLyB2ZXJpZnlLZXlSZWdUeG4odGhpcy50eG5Hcm91cFswXSwgewoJLy8gICAgICAgdm90ZUZpcnN0OiAxMzM3LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkga2V5cmVnCglpbnRjIDEgLy8gMAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMyAvLyAga2V5cmVnCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoidGhpcy50eG5Hcm91cFswXSIsImZpZWxkIjoidHlwZUVudW0iLCJleHBlY3RlZCI6ImtleXJlZyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgdm90ZUZpcnN0CglpbnRjIDEgLy8gMAoJZ3R4bnMgVm90ZUZpcnN0CglpbnRjIDYgLy8gMTMzNwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6InRoaXMudHhuR3JvdXBbMF0iLCJmaWVsZCI6InZvdGVGaXJzdCIsImV4cGVjdGVkIjoiMTMzNyJ9Cglhc3NlcnQKCXJldHN1YgoKLy8gc3RyaW5nUGx1c0VxdWFscygpdm9pZAoqYWJpX3JvdXRlX3N0cmluZ1BsdXNFcXVhbHM6CgkvLyBleGVjdXRlIHN0cmluZ1BsdXNFcXVhbHMoKXZvaWQKCWNhbGxzdWIgc3RyaW5nUGx1c0VxdWFscwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nUGx1c0VxdWFscygpOiB2b2lkCnN0cmluZ1BsdXNFcXVhbHM6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjUxCgkvLyBzID0gJ2ZvbycKCWJ5dGVjIDUgLy8gICJmb28iCglmcmFtZV9idXJ5IDAgLy8gczogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNTIKCS8vIHMgKz0gJ2JhcicKCWZyYW1lX2RpZyAwIC8vIHM6IGJ5dGVbXQoJYnl0ZWMgMTQgLy8gICJiYXIiCgljb25jYXQKCWZyYW1lX2J1cnkgMCAvLyBzOiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1MwoJLy8gYXNzZXJ0KHMgPT09ICdmb29iYXInKQoJZnJhbWVfZGlnIDAgLy8gczogYnl0ZVtdCglwdXNoYnl0ZXMgMHg2NjZmNmY2MjYxNzIgLy8gImZvb2JhciIKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KKmFiaV9yb3V0ZV9pbXBvcnRlZFByb2dyYW06CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaW1wb3J0ZWRQcm9ncmFtKClieXRlW10KCWNhbGxzdWIgaW1wb3J0ZWRQcm9ncmFtCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGltcG9ydGVkUHJvZ3JhbSgpOiBieXRlcwppbXBvcnRlZFByb2dyYW06Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIElmVGVzdC5hcHByb3ZhbFByb2dyYW0oKTsKCXB1c2hieXRlcyAweDBhMjAwNDAxMDAwMjIwMjYwOTA0MTUxZjdjNzUwMjY5NjYwNDY1NmM3MzY1MDM2NTZlNjQwMzY2NmY2ZjAwMDk2NTZjNzM2NTIwNjk2NjIwMzEwOTY1NmM3MzY1MjA2OTY2MjAzMjA3NjU2YzczNjUyMDY5NjYzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDMyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwMjI5ODkyYjg5MjgzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDEwMThiZmY0MTAwMDUyOTg5NDIwMDAyMmE4OTg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNTI5ODk0MjAwMDg4YmZlNDEwMDAzMjcwODg5MmI4OTI4MzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDIwMThiZmY0MTAwMDUyOTg5NDIwMDBkOGJmZTQxMDAwNjI3MDg4OTQyMDAwMjJhODk4OTI4MzYxYTAzNDkxNTIyMTI0NDIzNTMzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMzAxOGJmZjQxMDAwNTI5ODk0MjAwMTM4YmZlNDEwMDA2MjcwNjg5NDIwMDA4OGJmZDQxMDAwMzI3MDc4OTJiODkyODM2MWEwMzQ5MTUyMjEyNDQyMzUzMzYxYTAyNDkxNTIyMTI0NDIzNTMzNjFhMDE0OTE1MjIxMjQ0MjM1Mzg4MDAwYzQ5MTUxNjU3MDYwMjRjNTA1MGIwMjI0MzhhMDMwMThiZmY0MTAwMDUyOTg5NDIwMDE4OGJmZTQxMDAwNjI3MDY4OTQyMDAwZDhiZmQ0MTAwMDYyNzA3ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMGM0OTE1MTY1NzA2MDI0YzUwNTBiMDIyNDM4YTAyMDE4YmZmNDEwMDE2OGJmZTQxMDAwYzgwMDk2ZTY1NzM3NDY1NjQyMDY5NjY4OTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMTAxOGJmZjQxMDAwNTI5ODk0MjAwMDIyYTg5ODkyODM2MWEwMjQ5MTUyMjEyNDQyMzUzMzYxYTAxNDkxNTIyMTI0NDIzNTM4ODAwMDUxNjUwYjAyMjQzOGEwMjAxOGJmZjQxMDAwNDIyNDIwMDBiOGJmZTQxMDAwNDI0NDIwMDAyODEwMzg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwMjIyODkyNDg5MjgzNjFhMDE1NzAyMDA4ODAwMDUxNjUwYjAyMjQzOGEwMTAxOGJmZjI3MDVhOTQxMDAwNDIyNDIwMDAxMjQ4OTM2MWEwMTQ5MTUyNDEyNDQxNzg4MDAwMjIyNDM4YTAxMDA4YmZmMjcwNWE5NDEwMDAzMjcwNGIwODkzNjFhMDI0OTE1MjQxMjQ0MTczNjFhMDE0OTE1MjQxMjQ0MTc4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmUwZTQxMDAwMzI3MDRiMDg5MzYxYTAyNDkxNTI1MTI0NDM2MWEwMTQ5MTUyNTEyNDQ4ODAwMDIyMjQzOGEwMjAwOGJmZjhiZmVhNjQxMDAwMzI3MDRiMDg5MjgzNjFhMDI0OTE1MjIxMjQ0MjM1MzM2MWEwMTQ5MTUyMjEyNDQyMzUzODgwMDBjNDkxNTE2NTcwNjAyNGM1MDUwYjAyMjQzOGEwMjAxOGJmZjQxMDAxOThiZmU0MTAwMGQ4MDA3NjEyMDYxNmU2NDIwNjI4OTQyMDAwNDgwMDE2MTg5NDIwMDE2OGJmZTQxMDAwNzgwMDE2Mjg5NDIwMDBhODAwNzZlNjU2OTc0Njg2NTcyODk4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDQzNmVjMWMyODAwNDFjN2EwZDVlODAwNDVlMGZiNmNmODAwNDVlMWM2YzUwODAwNDU4ZDBiYTkyODAwNDVkMmY0ZjAyODAwNDg0NTcyOWQ5ODAwNDhmZTc2Y2E4ODAwNDFhM2M3ODc4ODAwNDc0YmNjODY4ODAwNDQyMTJmOTA1ODAwNDk1ZGRhZWJmODAwNDMxNDdiODY2ODAwNDQyODk3ZjYxODAwNDUzNGJlMmI3MzYxYTAwOGUwZmZjNjBmYzg2ZmNiMGZjZWJmZDJhZmQ3YWZkY2VmZTEzZmUzZGZlNzJmZTkwZmViMGZlY2RmZWYzZmYxNzAwCglyZXRzdWIKCi8vIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCiphYmlfcm91dGVfY2FsbFByaXZhdGVEZWZpbmVkTGF0ZXI6CgkvLyBleGVjdXRlIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyKCl2b2lkCgljYWxsc3ViIGNhbGxQcml2YXRlRGVmaW5lZExhdGVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpOiB2b2lkCmNhbGxQcml2YXRlRGVmaW5lZExhdGVyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNjEKCS8vIGxvZyh0aGlzLnByaXZhdGVNZXRob2QoJ2hlbGxvJykpCglwdXNoYnl0ZXMgMHg2ODY1NmM2YzZmIC8vICJoZWxsbyIKCWNhbGxzdWIgcHJpdmF0ZU1ldGhvZAoJbG9nCglyZXRzdWIKCi8vIHByaXZhdGVNZXRob2QobXNnOiBzdHJpbmcpOiBzdHJpbmcKcHJpdmF0ZU1ldGhvZDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY1CgkvLyByZXR1cm4gbXNnOwoJZnJhbWVfZGlnIC0xIC8vIG1zZzogc3RyaW5nCglyZXRzdWIKCi8vIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9pbnRlcmFsUHVibGljTWV0aG9kOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGludGVyYWxQdWJsaWNNZXRob2QodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGludGVyYWxQdWJsaWNNZXRob2QoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKaW50ZXJhbFB1YmxpY01ldGhvZDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjY5CgkvLyByZXR1cm4gYSArIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglyZXRzdWIKCi8vIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCgpdm9pZAoqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZDoKCS8vIGV4ZWN1dGUgY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxJbnRlcm5hbFB1YmxpY01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY2FsbEludGVybmFsUHVibGljTWV0aG9kKCk6IHZvaWQKY2FsbEludGVybmFsUHVibGljTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyNzMKCS8vIGFzc2VydCh0aGlzLmludGVyYWxQdWJsaWNNZXRob2QoMSwgMikgPT09IDMpCglpbnRjIDMgLy8gMgoJaW50YyAwIC8vIDEKCWNhbGxzdWIgaW50ZXJhbFB1YmxpY01ldGhvZAoJaW50YyA4IC8vIDMKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gYXBwTG9hZFNjcmF0Y2goKXZvaWQKKmFiaV9yb3V0ZV9hcHBMb2FkU2NyYXRjaDoKCS8vIGV4ZWN1dGUgYXBwTG9hZFNjcmF0Y2goKXZvaWQKCWNhbGxzdWIgYXBwTG9hZFNjcmF0Y2gKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFwcExvYWRTY3JhdGNoKCk6IHZvaWQKYXBwTG9hZFNjcmF0Y2g6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI3NwoJLy8gbG9nKHRoaXMudHhuR3JvdXBbMV0ubG9hZFNjcmF0Y2goMikgYXMgYnl0ZXMpCglnbG9hZCAxIDIKCWxvZwoJcmV0c3ViCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CiphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1aW50TldpdGhVbmRlcnNjb3JlKCl1aW50MjU2CgljYWxsc3ViIHVpbnROV2l0aFVuZGVyc2NvcmUKCWR1cAoJYml0bGVuCglwdXNoaW50IDI1NgoJPD0KCgkvLyB1aW50TldpdGhVbmRlcnNjb3JlIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCXB1c2hieXRlcyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDkgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50TldpdGhVbmRlcnNjb3JlKCk6IHVpbnQyNTYKdWludE5XaXRoVW5kZXJzY29yZToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MjgxCgkvLyByZXR1cm4gPHVpbnQyNTY+MTIzXzQ1NjsKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMWUyNDAKCXJldHN1YgoKLy8gb3BVcCgpdm9pZAoqYWJpX3JvdXRlX29wVXA6CgkvLyBleGVjdXRlIG9wVXAoKXZvaWQKCWNhbGxzdWIgb3BVcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3BVcCgpOiB2b2lkCm9wVXA6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mjg1CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGZvciAobGV0IGkgPSAxOyBpIDwgNzU7IGkgKz0gMSkKCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NgoJLy8gaSA8IDc1CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXB1c2hpbnQgNzUKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjI4NwoJLy8gYXNzZXJ0KGkpCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWFzc2VydAoKKmZvcl8wX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyODYKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CglyZXRzdWIKCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KClzdHJpbmcKKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5WYWx1ZU9uQXNzaWdubWVudCgpc3RyaW5nCgljYWxsc3ViIHJldHVyblZhbHVlT25Bc3NpZ25tZW50CglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVyblZhbHVlT25Bc3NpZ25tZW50KCk6IHN0cmluZwpyZXR1cm5WYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTIKCS8vIG1lc3NhZ2UgPSAnaGknCglwdXNoYnl0ZXMgMHg2ODY5IC8vICJoaSIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTQKCS8vIHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5hcHAuYWRkcmVzcwoJdHhuIFNlbmRlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTUKCS8vIG1lc3NhZ2UgPSAnaW4gYmxvY2snCglwdXNoYnl0ZXMgMHg2OTZlMjA2MjZjNmY2MzZiIC8vICJpbiBibG9jayIKCWZyYW1lX2J1cnkgMCAvLyBtZXNzYWdlOiBieXRlW10KCippZjBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czoyOTgKCS8vIHJldHVybiAobWVzc2FnZSA9ICdieWUnKTsKCWJ5dGVjIDE1IC8vICAiYnllIgoJZHVwCglmcmFtZV9idXJ5IDAgLy8gbWVzc2FnZTogYnl0ZVtdCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50KCk6IHVpbnQ2NApyZXR1cm5BcnJheVZhbHVlT25Bc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwMgoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMwNAoJLy8gcmV0dXJuIChhWzBdID0gNCk7CglmcmFtZV9kaWcgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+CglpbnRjIDEgLy8gMAoJaW50YyA3IC8vIDQKCWR1cAoJc3RvcmUgMjQ1IC8vIGFzc2lnbm1lbnQgdmFsdWUKCWl0b2IKCXJlcGxhY2UzCglmcmFtZV9idXJ5IDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoqYWJpX3JvdXRlX3JldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKTogdWludDY0CnJldHVyblN0b3JhZ2VWYWx1ZU9uQXNzaWdubWVudDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzA4CgkvLyB0aGlzLmdLZXkudmFsdWUgPSAxCglieXRlYyAxMiAvLyAgImdLZXkiCglpbnRjIDAgLy8gMQoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMxMAoJLy8gcmV0dXJuICh0aGlzLmdLZXkudmFsdWUgPSAyKTsKCWJ5dGVjIDEyIC8vICAiZ0tleSIKCWludGMgMyAvLyAyCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglhcHBfZ2xvYmFsX3B1dAoJbG9hZCAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJcmV0c3ViCgovLyByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWU6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgcmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NAoJY2FsbHN1YiByZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybk9wZXJhdG9yQXNzaWdubWVudFZhbHVlKCk6IHVpbnQ2NApyZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZToKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMTQKCS8vIGEgPSAxCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzE2CgkvLyByZXR1cm4gKGEgKz0gMik7CglmcmFtZV9kaWcgMCAvLyBhOiB1aW50NjQKCWludGMgMyAvLyAyCgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglmcmFtZV9idXJ5IDAgLy8gYTogdWludDY0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMAoJLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPiA9IFsxLCAyLCAzXQoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJZnJhbWVfYnVyeSAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyMgoJLy8gcmV0dXJuIChhWzBdICs9IDQpOwoJZnJhbWVfZGlnIDAgLy8gYTogU3RhdGljQXJyYXk8dWludDY0LCAzPgoJaW50YyAxIC8vIDAKCWZyYW1lX2RpZyAwIC8vIGE6IFN0YXRpY0FycmF5PHVpbnQ2NCwgMz4KCWV4dHJhY3QgMCA4CglidG9pCglpbnRjIDcgLy8gNAoJKwoJZHVwCglzdG9yZSAyNDUgLy8gYXNzaWdubWVudCB2YWx1ZQoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBhOiBTdGF0aWNBcnJheTx1aW50NjQsIDM+Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CiphYmlfcm91dGVfcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0CgljYWxsc3ViIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpOiB1aW50NjQKcmV0dXJuQXJyYXlJblN0b3JhZ2VWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMjYKCS8vIHRoaXMuc3RvcmFnZUFycmF5LnZhbHVlID0gWzEsIDIsIDNdCglieXRlYyA3IC8vICAic3RvcmFnZUFycmF5IgoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMwoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMyOAoJLy8gcmV0dXJuICh0aGlzLnN0b3JhZ2VBcnJheS52YWx1ZVswXSArPSA0KTsKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJaW50YyAxIC8vIDAKCWJ5dGVjIDcgLy8gICJzdG9yYWdlQXJyYXkiCglhcHBfZ2xvYmFsX2dldAoJZXh0cmFjdCAwIDgKCWJ0b2kKCWludGMgNyAvLyA0CgkrCglkdXAKCXN0b3JlIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglpdG9iCglyZXBsYWNlMwoJYnl0ZWMgNyAvLyAgInN0b3JhZ2VBcnJheSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0Cglsb2FkIDI0NSAvLyBhc3NpZ25tZW50IHZhbHVlCglyZXRzdWIKCi8vIGNvbnN0cygpdm9pZAoqYWJpX3JvdXRlX2NvbnN0czoKCS8vIGV4ZWN1dGUgY29uc3RzKCl2b2lkCgljYWxsc3ViIGNvbnN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29uc3RzKCk6IHZvaWQKY29uc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzIKCS8vIGFzc2VydChTVFJJTkdfQ09OU1QgPT09ICdmb28nKQoJcHVzaGJ5dGVzICJmb28iCglieXRlYyA1IC8vICAiZm9vIgoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzMzCgkvLyBhc3NlcnQoTlVNX0NPTlNUID09PSAxMjMpCglpbnRjIDUgLy8gMTIzCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjMzNAoJLy8gYXNzZXJ0KE5FU1RFRF9DT05TVCA9PT0gMTIzKQoJaW50YyA1IC8vIDEyMwoJZHVwCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCiphYmlfcm91dGVfYXNzZXJ0V2l0aE1lc3NhZ2U6CgkvLyBleGVjdXRlIGFzc2VydFdpdGhNZXNzYWdlKCl2b2lkCgljYWxsc3ViIGFzc2VydFdpdGhNZXNzYWdlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NlcnRXaXRoTWVzc2FnZSgpOiB2b2lkCmFzc2VydFdpdGhNZXNzYWdlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozMzgKCS8vIGFzc2VydChmYWxzZSwgJ3RoaXMgaXMgZmFsc2UnKQoJaW50YyAxIC8vIDAKCgkvLyB0aGlzIGlzIGZhbHNlCglhc3NlcnQKCXJldHN1YgoKLy8gb3Bjb2RlQWxpYXNlcygpdm9pZAoqYWJpX3JvdXRlX29wY29kZUFsaWFzZXM6CgkvLyBleGVjdXRlIG9wY29kZUFsaWFzZXMoKXZvaWQKCWNhbGxzdWIgb3Bjb2RlQWxpYXNlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gb3Bjb2RlQWxpYXNlcygpOiB2b2lkCm9wY29kZUFsaWFzZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0MgoJLy8gZXh0cmFjdFVpbnQxNihiemVybyg2NCksIDApCglieXRlYyA0IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWludGMgMSAvLyAwCglleHRyYWN0X3VpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQzCgkvLyBleHRyYWN0VWludDMyKGJ6ZXJvKDY0KSwgMCkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJaW50YyAxIC8vIDAKCWV4dHJhY3RfdWludDMyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDQKCS8vIGV4dHJhY3RVaW50NjQoYnplcm8oNjQpLCAwKQoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCglpbnRjIDEgLy8gMAoJZXh0cmFjdF91aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM0NQoJLy8gZWQyNTUxOVZlcmlmeUJhcmUoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeV9iYXJlCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNDYKCS8vIGVkMjU1MTlWZXJpZnkoYnplcm8oNjQpLCBiemVybyg2NCksIGJ6ZXJvKDMyKSkKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZHVwCglieXRlYyAzIC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZWQyNTUxOXZlcmlmeQoJcmV0c3ViCgovLyB2cmZWZXJpZnlPcCgpdm9pZAoqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wOgoJLy8gZXhlY3V0ZSB2cmZWZXJpZnlPcCgpdm9pZAoJY2FsbHN1YiB2cmZWZXJpZnlPcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdnJmVmVyaWZ5T3AoKTogdm9pZAp2cmZWZXJpZnlPcDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MAoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUxCgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTIKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1MwoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU0CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTUKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM1NgoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDEgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNCAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzU3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMSAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA0IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNTgKCS8vIGluY3JlYXNlT3Bjb2RlQnVkZ2V0KCkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglieXRlYyAxIC8vICAjcHJhZ21hIHZlcnNpb24gMTA7IGludCAxCglkdXAKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCglpbnRjIDQgLy8gIERlbGV0ZUFwcGxpY2F0aW9uCglpdHhuX2ZpZWxkIE9uQ29tcGxldGlvbgoJaXR4bl9zdWJtaXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MAoJLy8gciA9IHZyZlZlZmlyeSgnVnJmQWxnb3JhbmQnLCBiemVybygzMikgYXMgYnl0ZXMsIGJ6ZXJvKDgwKSwgYnplcm8oMzIpKQoJYnl0ZWMgMyAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWJ5dGVjIDMgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCgl2cmZfdmVyaWZ5IFZyZkFsZ29yYW5kCglmcmFtZV9idXJ5IDAgLy8gciB2ZXJpZmllZDogYm9vbAoJZnJhbWVfYnVyeSAxIC8vIHIgb3V0cHV0OiBieXRlW10KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM2MQoJLy8gYXNzZXJ0KCFyLnZlcmlmaWVkKQoJZnJhbWVfZGlnIDAgLy8gciB2ZXJpZmllZDogYm9vbAoJIQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjIKCS8vIGxvZyhyLm91dHB1dCkKCWZyYW1lX2RpZyAxIC8vIHIgb3V0cHV0OiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBlY01hdGgoKXZvaWQKKmFiaV9yb3V0ZV9lY01hdGg6CgkvLyBleGVjdXRlIGVjTWF0aCgpdm9pZAoJY2FsbHN1YiBlY01hdGgKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGVjTWF0aCgpOiB2b2lkCmVjTWF0aDoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjYKCS8vIGVjU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfc2NhbGFyX211bCBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjcKCS8vIGVjUGFpcmluZ0NoZWNrKCdCTjI1NGcxJywgJycsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJZWNfcGFpcmluZ19jaGVjayBCTjI1NGcxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNjgKCS8vIHNjYWxhcnM6IGJ5dGVzMzJbXSA9IFtiemVybygzMiksIGJ6ZXJvKDMyKV0KCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAoJZnJhbWVfYnVyeSAwIC8vIHNjYWxhcnM6IGJ5dGVzMzJbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzY5CgkvLyBlY011bHRpU2NhbGFyTXVsKCdCTjI1NGcxJywgJycsIHNjYWxhcnMpCglieXRlYyAwIC8vICAiIgoJYnl0ZWMgNCAvLyAgc2NhbGFyczogYnl0ZXMzMltdCgllY19tdWx0aV9zY2FsYXJfbXVsIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MAoJLy8gZWNTdWJncm91cENoZWNrKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfc3ViZ3JvdXBfY2hlY2sgQk4yNTRnMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzcxCgkvLyBlY01hcFRvKCdCTjI1NGcxJywgJycpCglieXRlYyAwIC8vICAiIgoJZWNfbWFwX3RvIEJOMjU0ZzEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3MgoJLy8gZWNBZGQoJ0JOMjU0ZzEnLCAnJywgJycpCglieXRlYyAwIC8vICAiIgoJZHVwCgllY19hZGQgQk4yNTRnMQoJcmV0c3ViCgovLyBnaXR4bigpdm9pZAoqYWJpX3JvdXRlX2dpdHhuOgoJLy8gZXhlY3V0ZSBnaXR4bigpdm9pZAoJY2FsbHN1YiBnaXR4bgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2l0eG4oKTogdm9pZApnaXR4bjoKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNzYKCS8vIGxvZyh0aGlzLmxhc3RJbm5lckdyb3VwWzBdLnNlbmRlcikKCWdpdHhuIDAgU2VuZGVyCglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM3OAoJLy8gYW5vdGhlclR4biA9IHRoaXMubGFzdElubmVyR3JvdXBbMV0KCWludGMgMCAvLyAxCglmcmFtZV9idXJ5IDAgLy8gYW5vdGhlclR4bjogZ2l0eG4KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4MAoJLy8gbG9nKGFub3RoZXJUeG4uc2VuZGVyKQoJZ2l0eG4gMSBTZW5kZXIKCWxvZwoJcmV0c3ViCgovLyBnZXRTZXRCeXRlcygpdm9pZAoqYWJpX3JvdXRlX2dldFNldEJ5dGVzOgoJLy8gZXhlY3V0ZSBnZXRTZXRCeXRlcygpdm9pZAoJY2FsbHN1YiBnZXRTZXRCeXRlcwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2V0U2V0Qnl0ZXMoKTogdm9pZApnZXRTZXRCeXRlczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzg0CgkvLyBsb2coc2V0Yml0KCdmb28nLCAwLCB0cnVlKSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJpdAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODUKCS8vIGdldGJpdCgnZm9vJywgMCkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozODYKCS8vIGdldGJ5dGUoJ2ZvbycsIDApCglieXRlYyA1IC8vICAiZm9vIgoJaW50YyAxIC8vIDAKCWdldGJ5dGUKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM4NwoJLy8gc2V0Ynl0ZSgnZm9vJywgMCwgMSkKCWJ5dGVjIDUgLy8gICJmb28iCglpbnRjIDEgLy8gMAoJaW50YyAwIC8vIDEKCXNldGJ5dGUKCXJldHN1YgoKLy8gZ2V0U2V0VWludDY0KCl2b2lkCiphYmlfcm91dGVfZ2V0U2V0VWludDY0OgoJLy8gZXhlY3V0ZSBnZXRTZXRVaW50NjQoKXZvaWQKCWNhbGxzdWIgZ2V0U2V0VWludDY0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRTZXRVaW50NjQoKTogdm9pZApnZXRTZXRVaW50NjQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5MQoJLy8gYXNzZXJ0KHNldGJpdCgxMjMsIDAsIHRydWUpKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWludGMgMCAvLyAxCglzZXRiaXQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkyCgkvLyBnZXRiaXQoMTIzLCAwKQoJaW50YyA1IC8vIDEyMwoJaW50YyAxIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBibG9ja09wKCl2b2lkCiphYmlfcm91dGVfYmxvY2tPcDoKCS8vIGV4ZWN1dGUgYmxvY2tPcCgpdm9pZAoJY2FsbHN1YiBibG9ja09wCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBibG9ja09wKCk6IHZvaWQKYmxvY2tPcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6Mzk2CgkvLyBsb2coYmxvY2tzW2dsb2JhbHMucm91bmQgLSAxXS5zZWVkKQoJZ2xvYmFsIFJvdW5kCglpbnRjIDAgLy8gMQoJLQoJYmxvY2sgQmxrU2VlZAoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozOTcKCS8vIGFzc2VydChibG9ja3NbZ2xvYmFscy5yb3VuZCAtIDFdLnRpbWVzdGFtcCkKCWdsb2JhbCBSb3VuZAoJaW50YyAwIC8vIDEKCS0KCWJsb2NrIEJsa1RpbWVzdGFtcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGI2NCgpdm9pZAoqYWJpX3JvdXRlX2I2NDoKCS8vIGV4ZWN1dGUgYjY0KCl2b2lkCgljYWxsc3ViIGI2NAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYjY0KCk6IHZvaWQKYjY0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDEKCS8vIGxvZyhiYXNlNjREZWNvZGUoJ1N0ZEVuY29kaW5nJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWJhc2U2NF9kZWNvZGUgU3RkRW5jb2RpbmcKCWxvZwoJcmV0c3ViCgovLyBqc29uKCl2b2lkCiphYmlfcm91dGVfanNvbjoKCS8vIGV4ZWN1dGUganNvbigpdm9pZAoJY2FsbHN1YiBqc29uCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBqc29uKCk6IHZvaWQKanNvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDA1CgkvLyBsb2coanNvblJlZignSlNPTk9iamVjdCcsICcnLCAnJykpCglieXRlYyAwIC8vICAiIgoJZHVwCglqc29uX3JlZiBKU09OT2JqZWN0Cglsb2cKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQwNgoJLy8gbG9nKGpzb25SZWYoJ0pTT05TdHJpbmcnLCAnJywgJycpKQoJYnl0ZWMgMCAvLyAgIiIKCWR1cAoJanNvbl9yZWYgSlNPTlN0cmluZwoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MDcKCS8vIGFzc2VydChqc29uUmVmKCdKU09OVWludDY0JywgJycsICcnKSkKCWJ5dGVjIDAgLy8gICIiCglkdXAKCWpzb25fcmVmIEpTT05VaW50NjQKCWFzc2VydAoJcmV0c3ViCgovLyBiaXRsZW5PcCgpdm9pZAoqYWJpX3JvdXRlX2JpdGxlbk9wOgoJLy8gZXhlY3V0ZSBiaXRsZW5PcCgpdm9pZAoJY2FsbHN1YiBiaXRsZW5PcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0bGVuT3AoKTogdm9pZApiaXRsZW5PcDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDExCgkvLyBiaXRsZW4oMTIzKQoJaW50YyA1IC8vIDEyMwoJYml0bGVuCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MTIKCS8vIGJpdGxlbignZm9vJykKCWJ5dGVjIDUgLy8gICJmb28iCgliaXRsZW4KCXJldHN1YgoKLy8gY29tcHV0ZWRDb25zdCgpdm9pZAoqYWJpX3JvdXRlX2NvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIGNvbXB1dGVkQ29uc3QoKXZvaWQKCWNhbGxzdWIgY29tcHV0ZWRDb25zdAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29tcHV0ZWRDb25zdCgpOiB2b2lkCmNvbXB1dGVkQ29uc3Q6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQxNgoJLy8gYXNzZXJ0KENPTVBVVEVEX0NPTlNUKQoJcHVzaGludCAyNDYKCWFzc2VydAoJcmV0c3ViCgovLyBtdWx0aUNvbXB1dGVkQ29uc3QoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aUNvbXB1dGVkQ29uc3Q6CgkvLyBleGVjdXRlIG11bHRpQ29tcHV0ZWRDb25zdCgpdm9pZAoJY2FsbHN1YiBtdWx0aUNvbXB1dGVkQ29uc3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpQ29tcHV0ZWRDb25zdCgpOiB2b2lkCm11bHRpQ29tcHV0ZWRDb25zdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDIwCgkvLyBhc3NlcnQoTVVUTElfQ09NUFVURURfQ09OU1QpCglwdXNoaW50IDMwMzgxCglhc3NlcnQKCXJldHN1YgoKLy8gcmVhZFNjaGVtYSgpdm9pZAoqYWJpX3JvdXRlX3JlYWRTY2hlbWE6CgkvLyBleGVjdXRlIHJlYWRTY2hlbWEoKXZvaWQKCWNhbGxzdWIgcmVhZFNjaGVtYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcmVhZFNjaGVtYSgpOiB2b2lkCnJlYWRTY2hlbWE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNAoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtVWludCA9PT0gMSkKCWludGMgMCAvLyAxCglkdXAKCT09Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQyNQoJLy8gYXNzZXJ0KFNjaGVtYUNvbnRyYWN0LnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlID09PSAyKQoJaW50YyAzIC8vIDIKCWR1cAoJPT0KCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDI2CgkvLyBhc3NlcnQoU2NoZW1hQ29udHJhY3Quc2NoZW1hLmxvY2FsLm51bVVpbnQgPT09IDMpCglpbnRjIDggLy8gMwoJZHVwCgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MjcKCS8vIGFzc2VydChTY2hlbWFDb250cmFjdC5zY2hlbWEubG9jYWwubnVtQnl0ZVNsaWNlID09PSA0KQoJaW50YyA3IC8vIDQKCWR1cAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBjb21wYXJpc29uT3IoKWJvb2wKKmFiaV9yb3V0ZV9jb21wYXJpc29uT3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgY29tcGFyaXNvbk9yKClib29sCgljYWxsc3ViIGNvbXBhcmlzb25PcgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMSAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbXBhcmlzb25PcigpOiBib29sZWFuCmNvbXBhcmlzb25PcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDMxCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyID09PSBnbG9iYWxzLnplcm9BZGRyZXNzIHx8IHRoaXMudHhuLnNlbmRlciA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzczsKCXR4biBTZW5kZXIKCWdsb2JhbCBaZXJvQWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJdHhuIFNlbmRlcgoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJfHwKCipza2lwX29yMDoKCXJldHN1YgoKLy8gdHhuQXJnc01ldGhvZChwYXkpdm9pZAoqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2Q6CgkvLyBfcGF5MTogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKF9wYXkxKSBmb3IgdHhuQXJnc01ldGhvZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIHR4bkFyZ3NNZXRob2QocGF5KXZvaWQKCWNhbGxzdWIgdHhuQXJnc01ldGhvZAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdHhuQXJnc01ldGhvZChfcGF5MTogUGF5VHhuKTogdm9pZAp0eG5BcmdzTWV0aG9kOgoJcHJvdG8gMSAwCglyZXRzdWIKCi8vIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCiphYmlfcm91dGVfY2FsbFR4bkFyZ3NNZXRob2Q6CgkvLyBleGVjdXRlIGNhbGxUeG5BcmdzTWV0aG9kKCl2b2lkCgljYWxsc3ViIGNhbGxUeG5BcmdzTWV0aG9kCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjYWxsVHhuQXJnc01ldGhvZCgpOiB2b2lkCmNhbGxUeG5BcmdzTWV0aG9kOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzgKCS8vIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBHZW5lcmFsVGVzdC5wcm90b3R5cGUudHhuQXJnc01ldGhvZD4oewoJLy8gICAgICAgbWV0aG9kQXJnczogW3sgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsIGFtb3VudDogMCB9XSwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQzOQoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIGFtb3VudDogMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCglpdHhuX25leHQKCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJYnl0ZWMgMTMgLy8gIG1ldGhvZCAidHhuQXJnc01ldGhvZChwYXkpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0MzkKCS8vIG1ldGhvZEFyZ3M6IFt7IHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhbW91bnQ6IDAgfV0KCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gc3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkCiphYmlfcm91dGVfc3RhdGljVmFsdWVMZW46CgkvLyB4OiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA5IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHgpIGZvciBzdGF0aWNWYWx1ZUxlbiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzdGF0aWNWYWx1ZUxlbih1aW50MjU2KXZvaWQKCWNhbGxzdWIgc3RhdGljVmFsdWVMZW4KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHN0YXRpY1ZhbHVlTGVuKHg6IHVpbnQyNTYpOiB2b2lkCnN0YXRpY1ZhbHVlTGVuOgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NDQKCS8vIGFzc2VydChsZW4oeCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBzdGF0aWNUeXBlTGVuKCl2b2lkCiphYmlfcm91dGVfc3RhdGljVHlwZUxlbjoKCS8vIGV4ZWN1dGUgc3RhdGljVHlwZUxlbigpdm9pZAoJY2FsbHN1YiBzdGF0aWNUeXBlTGVuCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzdGF0aWNUeXBlTGVuKCk6IHZvaWQKc3RhdGljVHlwZUxlbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDQ4CgkvLyBhc3NlcnQobGVuPHVpbnQyNTY+KCkpCglpbnRjIDkgLy8gMzIKCWFzc2VydAoJcmV0c3ViCgovLyBkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9keW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGR5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBkeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGR5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmR5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDUyCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDEpLnZhbHVlID0gMTMzNwoJaW50YyAwIC8vIDEKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ1MwoJLy8gYXNzZXJ0KHRoaXMuZHluYW1pY1NjcmF0Y2goMSkudmFsdWUgPT09IDEzMzcpCglpbnRjIDAgLy8gMQoJbG9hZHMKCWludGMgNiAvLyAxMzM3Cgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCiphYmlfcm91dGVfaW5jcmVtZW50U2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkCgljYWxsc3ViIGluY3JlbWVudFNjcmF0Y2hTbG90CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpbmNyZW1lbnRTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudFNjcmF0Y2hTbG90OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTcKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSA9IDEzMzcKCWludGMgNiAvLyAxMzM3CglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTgKCS8vIHRoaXMuc2NyYXRjaC52YWx1ZSArPSAxCglsb2FkIDAKCWludGMgMCAvLyAxCgkrCglzdG9yZSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NTkKCS8vIGFzc2VydCh0aGlzLnNjcmF0Y2gudmFsdWUgPT09IDEzMzgpCglsb2FkIDAKCWludGMgMTIgLy8gMTMzOAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQKKmFiaV9yb3V0ZV9pbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3Q6CgkvLyBleGVjdXRlIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpdm9pZAoJY2FsbHN1YiBpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdCgpOiB2b2lkCmluY3JlbWVudER5bmFtaWNTY3JhdGNoU2xvdDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDYzCgkvLyB0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID0gMTMzNwoJaW50YyAzIC8vIDIKCWludGMgNiAvLyAxMzM3CglzdG9yZXMKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ2NAoJLy8gdGhpcy5keW5hbWljU2NyYXRjaCgyKS52YWx1ZSArPSAxCglpbnRjIDMgLy8gMgoJbG9hZHMKCWludGMgMCAvLyAxCgkrCglpbnRjIDMgLy8gMgoJc3dhcAoJc3RvcmVzCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NjUKCS8vIGFzc2VydCh0aGlzLmR5bmFtaWNTY3JhdGNoKDIpLnZhbHVlID09PSAxMzM4KQoJaW50YyAzIC8vIDIKCWxvYWRzCglpbnRjIDEyIC8vIDEzMzgKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZnJvbUFkZHJlc3MoKXZvaWQKKmFiaV9yb3V0ZV9mcm9tQWRkcmVzczoKCS8vIGV4ZWN1dGUgZnJvbUFkZHJlc3MoKXZvaWQKCWNhbGxzdWIgZnJvbUFkZHJlc3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZyb21BZGRyZXNzKCk6IHZvaWQKZnJvbUFkZHJlc3M6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDY5CgkvLyBhID0gQWRkcmVzcy5mcm9tQWRkcmVzcygnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVk1SEZLUScpCglieXRlYyAzIC8vICBhZGRyICJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBWTVIRktRIgoJZnJhbWVfYnVyeSAwIC8vIGE6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3MAoJLy8gYXNzZXJ0KGEgPT09IEFkZHJlc3MuemVyb0FkZHJlc3MpCglmcmFtZV9kaWcgMCAvLyBhOiBhZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCXJldHN1YgoKLy8gZWFybHlSZXR1cm4odWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2Vhcmx5UmV0dXJuOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGVhcmx5UmV0dXJuKHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZWFybHlSZXR1cm4KCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBlYXJseVJldHVybihhOiB1aW50NjQpOiB1aW50NjQKZWFybHlSZXR1cm46Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NAoJLy8gYSA9PT0gMQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NzUKCS8vIHJldHVybiAyOwoJaW50YyAzIC8vIDIKCWIgKmVhcmx5UmV0dXJuKnJldHVybgoKKmlmMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ3NwoJLy8gYiA9IGEgKyAxCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGI6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDc4CgkvLyByZXR1cm4gYjsKCWZyYW1lX2RpZyAwIC8vIGI6IHVpbnQ2NAoKKmVhcmx5UmV0dXJuKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBhc3NldE1ldGhvZEFyZ3MoKXZvaWQKKmFiaV9yb3V0ZV9hc3NldE1ldGhvZEFyZ3M6CgkvLyBleGVjdXRlIGFzc2V0TWV0aG9kQXJncygpdm9pZAoJY2FsbHN1YiBhc3NldE1ldGhvZEFyZ3MKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGFzc2V0TWV0aG9kQXJncygpOiB2b2lkCmFzc2V0TWV0aG9kQXJnczoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDgyCgkvLyBzZW5kTWV0aG9kQ2FsbDxbQXNzZXRSZWZlcmVuY2VdLCB2b2lkPih7CgkvLyAgICAgICBuYW1lOiAnZm9vJywKCS8vICAgICAgIG1ldGhvZEFyZ3M6IFtBc3NldElELmZyb21VaW50NjQoMSldLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGExNTMxNmRlIC8vIG1ldGhvZCAiZm9vKGFzc2V0KXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDg0CgkvLyBtZXRob2RBcmdzOiBbQXNzZXRJRC5mcm9tVWludDY0KDEpXQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKKmFiaV9yb3V0ZV9tdWx0aXBsZVByb2dyYW1QYWdlczoKCS8vIGV4ZWN1dGUgbXVsdGlwbGVQcm9ncmFtUGFnZXMoKXZvaWQKCWNhbGxzdWIgbXVsdGlwbGVQcm9ncmFtUGFnZXMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG11bHRpcGxlUHJvZ3JhbVBhZ2VzKCk6IHZvaWQKbXVsdGlwbGVQcm9ncmFtUGFnZXM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjQ5MwoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiBbdGhpcy5wYWdlT25lLnZhbHVlLCB0aGlzLnBhZ2VUd28udmFsdWVdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0sCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk0CgkvLyBhcHByb3ZhbFByb2dyYW06IFt0aGlzLnBhZ2VPbmUudmFsdWUsIHRoaXMucGFnZVR3by52YWx1ZV0KCWJ5dGVjIDEwIC8vICAicGFnZU9uZSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMucGFnZU9uZS52YWx1ZQoJYXNzZXJ0CglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbVBhZ2VzCglieXRlYyAxMSAvLyAgInBhZ2VUd28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLnBhZ2VUd28udmFsdWUKCWFzc2VydAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDk1CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogW3RoaXMucGFnZU9uZS52YWx1ZSwgdGhpcy5wYWdlVHdvLnZhbHVlXQoJYnl0ZWMgMTAgLy8gICJwYWdlT25lIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlT25lLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoJYnl0ZWMgMTEgLy8gICJwYWdlVHdvIgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5wYWdlVHdvLnZhbHVlCglhc3NlcnQKCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW1QYWdlcwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gYXNzZXJ0Q29tbWVudCgpdm9pZAoqYWJpX3JvdXRlX2Fzc2VydENvbW1lbnQ6CgkvLyBleGVjdXRlIGFzc2VydENvbW1lbnQoKXZvaWQKCWNhbGxzdWIgYXNzZXJ0Q29tbWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXJ0Q29tbWVudCgpOiB2b2lkCmFzc2VydENvbW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUwMAoJLy8gYXNzZXJ0KGZhbHNlLCAndGhpcyBpcyBmYWxzZScpCglpbnRjIDEgLy8gMAoKCS8vIHRoaXMgaXMgZmFsc2UKCWFzc2VydAoJcmV0c3ViCgovLyB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlOgoJLy8gZXhlY3V0ZSB0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yTWVzc2FnZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvck1lc3NhZ2UoKTogdm9pZAp0aHJvd0Vycm9yTWVzc2FnZToKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBvckxpdGVyYWxUeXBlKHVpbnQ2NCx1aW50NjQpdm9pZAoqYWJpX3JvdXRlX29yTGl0ZXJhbFR5cGU6CgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIG9yTGl0ZXJhbFR5cGUodWludDY0LHVpbnQ2NCl2b2lkCgljYWxsc3ViIG9yTGl0ZXJhbFR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9yTGl0ZXJhbFR5cGUoYTogdWludDY0LCBiOiB1aW50NjQpOiB2b2lkCm9yTGl0ZXJhbFR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDgKCS8vIGZvbyA9IGEgJiYgYiA9PT0gMSA/IDIgOiAwCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglkdXAKCWJ6ICpza2lwX2FuZDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWludGMgMCAvLyAxCgk9PQoJJiYKCipza2lwX2FuZDA6CglieiAqdGVybmFyeTBfZmFsc2UKCWludGMgMyAvLyAyCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludGMgMSAvLyAwCgoqdGVybmFyeTBfZW5kOgoJZnJhbWVfYnVyeSAwIC8vIGZvbzogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MDkKCS8vIGFzc2VydChmb28pCglmcmFtZV9kaWcgMCAvLyBmb286IHVpbnQ2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTEKCS8vIGJhciA9IGEgJiYgYiA9PT0gMCA/ICcyJyA6ICcwJwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZHVwCglieiAqc2tpcF9hbmQxCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpbnRjIDEgLy8gMAoJPT0KCSYmCgoqc2tpcF9hbmQxOgoJYnogKnRlcm5hcnkxX2ZhbHNlCglwdXNoYnl0ZXMgMHgzMiAvLyAiMiIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJYnl0ZWMgMTcgLy8gICIwIgoKKnRlcm5hcnkxX2VuZDoKCWZyYW1lX2J1cnkgMSAvLyBiYXI6IGJ5dGVbXQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTEyCgkvLyBsb2coYmFyKQoJZnJhbWVfZGlnIDEgLy8gYmFyOiBieXRlW10KCWxvZwoJcmV0c3ViCgovLyBub25BYmkoKTogdm9pZApub25BYmk6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTE3CgkvLyBhc3NlcnQodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGgpCgl0eG4gTnVtQXBwQXJncwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIS5sZW5ndGg7IGkgKz0gMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUxOQoJLy8gaSA8IHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyEubGVuZ3RoCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCXR4biBOdW1BcHBBcmdzCgk8CglieiAqZm9yXzFfZW5kCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MjAKCS8vIGxvZyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhW2ldKQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0Cgl0eG5hcyBBcHBsaWNhdGlvbkFyZ3MKCWxvZwoKKmZvcl8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MTkKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJKwoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzEKCipmb3JfMV9lbmQ6CglyZXRzdWIKCi8vIG11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbDoKCS8vIGV4ZWN1dGUgbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCl2b2lkCgljYWxsc3ViIG11bHRpbGluZUZ1bmN0aW9uQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbXVsdGlsaW5lRnVuY3Rpb25DYWxsKCk6IHZvaWQKbXVsdGlsaW5lRnVuY3Rpb25DYWxsOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTI1CgkvLyBhcHAgPSBBcHBJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gYXBwOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyNgoJLy8gYWRkciA9IEFkZHJlc3MuemVyb0FkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJZnJhbWVfYnVyeSAxIC8vIGFkZHI6IGFkZHJlc3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjUyOAoJLy8gYXBwLmxvY2FsU3RhdGUoCgkvLyAgICAgICBhZGRyLAoJLy8gICAgICAgJ2tleScKCS8vICAgICApCglmcmFtZV9kaWcgMSAvLyBhZGRyOiBhZGRyZXNzCglpbnRjIDEgLy8gIGFwcDogdWludDY0CglwdXNoYnl0ZXMgMHg2YjY1NzkgLy8gImtleSIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogYXBwLmxvY2FsU3RhdGUoIGFkZHIsICdrZXknICkKCWFzc2VydAoJcmV0c3ViCgovLyBhKCl1aW50NjQKKmFiaV9yb3V0ZV9hOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGEoKXVpbnQ2NAoJY2FsbHN1YiBhCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB1aW50NjQKYToKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTM1CgkvLyByZXR1cm4gMzsKCWludGMgOCAvLyAzCglyZXRzdWIKCi8vIGIoKXVpbnQ2NAoqYWJpX3JvdXRlX2I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYigpdWludDY0CgljYWxsc3ViIGIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiKCk6IHVpbnQ2NApiOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1MzkKCS8vIHJldHVybiA1OwoJaW50YyA0IC8vIDUKCXJldHN1YgoKLy8gdW51c2VkTWV0aG9kVmFsdWUoKXVpbnQ2NAoqYWJpX3JvdXRlX3VudXNlZE1ldGhvZFZhbHVlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQKCWNhbGxzdWIgdW51c2VkTWV0aG9kVmFsdWUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1bnVzZWRNZXRob2RWYWx1ZSgpOiB1aW50NjQKdW51c2VkTWV0aG9kVmFsdWU6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU0MwoJLy8gdGhpcy5hKCkKCWNhbGxzdWIgYQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NDQKCS8vIHJldHVybiB0aGlzLmIoKTsKCWNhbGxzdWIgYgoJcmV0c3ViCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoqYWJpX3JvdXRlX3JlYXNzaWduZWROb25GaXJzdFZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKXVpbnQ2NAoJY2FsbHN1YiByZWFzc2lnbmVkTm9uRmlyc3RWYXIKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyByZWFzc2lnbmVkTm9uRmlyc3RWYXIoKTogdWludDY0CnJlYXNzaWduZWROb25GaXJzdFZhcjoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU1NQoJLy8gYSA9IDEgYXMgdWludDY0CglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAwIC8vIGE6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU2CgkvLyBiID0gdGhpcy5hcHAuaWQKCXR4bmEgQXBwbGljYXRpb25zIDAKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NTcKCS8vIGEKCWZyYW1lX2RpZyAwIC8vIGE6IHVpbnQ2NAoJYnogKmlmMl9lbmQKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTU4CgkvLyBiID0gMgoJaW50YyAzIC8vIDIKCWZyYW1lX2J1cnkgMSAvLyBiOiB1aW50NjQKCippZjJfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo1NjEKCS8vIHJldHVybiBiOwoJZnJhbWVfZGlnIDEgLy8gYjogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBmdkx2KCl2b2lkCiphYmlfcm91dGVfZnZMdjoKCS8vIGV4ZWN1dGUgZnZMdigpdm9pZAoJY2FsbHN1YiBmdkx2CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmdkx2KCk6IHZvaWQKZnZMdjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NTY1CgkvLyBhc3NlcnQodGhpcy50eG4uZmlyc3RWYWxpZCkKCXR4biBGaXJzdFZhbGlkCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjU2NgoJLy8gYXNzZXJ0KHRoaXMudHhuLmxhc3RWYWxpZCkKCXR4biBMYXN0VmFsaWQKCWFzc2VydAoJcmV0c3ViCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJaW50YyAwIC8vIDEKCXJldHVybgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweDYyNDI2NGEzIC8vIG1ldGhvZCAidHhuVHlwZUVudW0oKXZvaWQiCglwdXNoYnl0ZXMgMHhiMjA1ZWRjOSAvLyBtZXRob2QgInR4bkdyb3VwTGVuZ3RoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZlOTdkNWIgLy8gbWV0aG9kICJhc3NlcnRzKGJvb2wsYm9vbCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGQ2ZmE3YzggLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tQXJnKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4MGVhNjQ0ZmIgLy8gbWV0aG9kICJ2ZXJpZnlUeG5Gcm9tVHhuR3JvdXAoKXZvaWQiCglwdXNoYnl0ZXMgMHhlYzBkOTA5NCAvLyBtZXRob2QgInZlcmlmeVR4bkNvbmRpdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweDY4ODQ4ZDk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuSW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDE4YmQyM2RjIC8vIG1ldGhvZCAidmVyaWZ5VHhuTm90SW5jbHVkZWRJbigpdm9pZCIKCXB1c2hieXRlcyAweDgwNmJmYjkzIC8vIG1ldGhvZCAic3VibWl0UGVuZGluZ0dyb3VwKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2JlNWY4MmUgLy8gbWV0aG9kICJtZXRob2RXaXRoVHhuQXJncygpdm9pZCIKCXB1c2hieXRlcyAweDEyOTVkNjgzIC8vIG1ldGhvZCAic2hpZnQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiM2I4YzQ3MiAvLyBtZXRob2QgImZyb21CeXRlcygpdm9pZCIKCXB1c2hieXRlcyAweDUzZTBiNmYwIC8vIG1ldGhvZCAiZnJvbVVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDRiM2ViODc3IC8vIG1ldGhvZCAiYnplcm9GdW5jdGlvbigpdm9pZCIKCXB1c2hieXRlcyAweGRhYzJlN2E1IC8vIG1ldGhvZCAiZXZlbnRzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YTNkYjY3MDQgLy8gbWV0aG9kICJsZXRPcHRpbWl6YXRpb24odWludDY0W10pdWludDY0W10iCglwdXNoYnl0ZXMgMHhhZTIxYzE3MiAvLyBtZXRob2QgInN0YXRpY0NvbnRyYWN0UHJvcGVydGllcygpdm9pZCIKCXB1c2hieXRlcyAweGRhYjRkMWM0IC8vIG1ldGhvZCAibnVtYmVyVG9TdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhhN2I0YWU5YSAvLyBtZXRob2QgIm1ldGhvZE9uUGFyZW5zKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NmQ0NDg1YmEgLy8gbWV0aG9kICJzdHJpbmdTdWJzdHJpbmcoKXZvaWQiCglwdXNoYnl0ZXMgMHhlZjYyNjJlOSAvLyBtZXRob2QgImlkUHJvcGVydHkoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZDJiNjY4YiAvLyBtZXRob2QgInNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTZjMTU0ZmMgLy8gbWV0aG9kICJlY2RzYSgpdm9pZCIKCXB1c2hieXRlcyAweGE5NzY0MTk3IC8vIG1ldGhvZCAidmVyaWZ5VHhuVHlwZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHg5ZGJiYzQyYyAvLyBtZXRob2QgInN0cmluZ1BsdXNFcXVhbHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YzBkZGVjMSAvLyBtZXRob2QgImltcG9ydGVkUHJvZ3JhbSgpYnl0ZVtdIgoJcHVzaGJ5dGVzIDB4MzBlY2ZiNDEgLy8gbWV0aG9kICJjYWxsUHJpdmF0ZURlZmluZWRMYXRlcigpdm9pZCIKCXB1c2hieXRlcyAweDE0YTQ5OTE5IC8vIG1ldGhvZCAiaW50ZXJhbFB1YmxpY01ldGhvZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3MWMxNzlhIC8vIG1ldGhvZCAiY2FsbEludGVybmFsUHVibGljTWV0aG9kKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OTg0ODEwOTMgLy8gbWV0aG9kICJhcHBMb2FkU2NyYXRjaCgpdm9pZCIKCXB1c2hieXRlcyAweGY1NzJkMWMxIC8vIG1ldGhvZCAidWludE5XaXRoVW5kZXJzY29yZSgpdWludDI1NiIKCXB1c2hieXRlcyAweDg1NGRlZGUwIC8vIG1ldGhvZCAib3BVcCgpdm9pZCIKCXB1c2hieXRlcyAweDY4MTU5OWZhIC8vIG1ldGhvZCAicmV0dXJuVmFsdWVPbkFzc2lnbm1lbnQoKXN0cmluZyIKCXB1c2hieXRlcyAweDVlMTQ3N2U4IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTA3YjNiZTkgLy8gbWV0aG9kICJyZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDE2ZTQ2NjU3IC8vIG1ldGhvZCAicmV0dXJuT3BlcmF0b3JBc3NpZ25tZW50VmFsdWUoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDJjODM2ZjQ2IC8vIG1ldGhvZCAicmV0dXJuQXJyYXlWYWx1ZU9uT3BlcmF0b3JBc3NpZ25tZW50KCl1aW50NjQiCglwdXNoYnl0ZXMgMHhhOTNjNTZmOSAvLyBtZXRob2QgInJldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZjkzNjk1MmQgLy8gbWV0aG9kICJjb25zdHMoKXZvaWQiCglwdXNoYnl0ZXMgMHg4OGYzOWM5OSAvLyBtZXRob2QgImFzc2VydFdpdGhNZXNzYWdlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NTg3OTRjZjQgLy8gbWV0aG9kICJvcGNvZGVBbGlhc2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzUwNDRhZDggLy8gbWV0aG9kICJ2cmZWZXJpZnlPcCgpdm9pZCIKCXB1c2hieXRlcyAweDdkMjc5ZThlIC8vIG1ldGhvZCAiZWNNYXRoKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2RmYTE4YzggLy8gbWV0aG9kICJnaXR4bigpdm9pZCIKCXB1c2hieXRlcyAweDc4Y2E1YzRlIC8vIG1ldGhvZCAiZ2V0U2V0Qnl0ZXMoKXZvaWQiCglwdXNoYnl0ZXMgMHgwZTY3ZTk1NyAvLyBtZXRob2QgImdldFNldFVpbnQ2NCgpdm9pZCIKCXB1c2hieXRlcyAweDNiNDQ2ZWVmIC8vIG1ldGhvZCAiYmxvY2tPcCgpdm9pZCIKCXB1c2hieXRlcyAweGFlODJlODc1IC8vIG1ldGhvZCAiYjY0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDY5YWY1MzAgLy8gbWV0aG9kICJqc29uKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGQ1MmYzM2QgLy8gbWV0aG9kICJiaXRsZW5PcCgpdm9pZCIKCXB1c2hieXRlcyAweDJjMGNkMjAxIC8vIG1ldGhvZCAiY29tcHV0ZWRDb25zdCgpdm9pZCIKCXB1c2hieXRlcyAweDcwZTBhZmU1IC8vIG1ldGhvZCAibXVsdGlDb21wdXRlZENvbnN0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MzBhMmZlZjQgLy8gbWV0aG9kICJyZWFkU2NoZW1hKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjM5NzFkY2EgLy8gbWV0aG9kICJjb21wYXJpc29uT3IoKWJvb2wiCglieXRlYyAxMyAvLyAgbWV0aG9kICJ0eG5BcmdzTWV0aG9kKHBheSl2b2lkIgoJcHVzaGJ5dGVzIDB4OWU0MGQzNGIgLy8gbWV0aG9kICJjYWxsVHhuQXJnc01ldGhvZCgpdm9pZCIKCXB1c2hieXRlcyAweDkxY2YyYjU4IC8vIG1ldGhvZCAic3RhdGljVmFsdWVMZW4odWludDI1Nil2b2lkIgoJcHVzaGJ5dGVzIDB4YjFjOGI0NWMgLy8gbWV0aG9kICJzdGF0aWNUeXBlTGVuKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OWMwZTFiZGIgLy8gbWV0aG9kICJkeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHgwYTMxOTUwNCAvLyBtZXRob2QgImluY3JlbWVudFNjcmF0Y2hTbG90KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODRiMjYwZmEgLy8gbWV0aG9kICJpbmNyZW1lbnREeW5hbWljU2NyYXRjaFNsb3QoKXZvaWQiCglwdXNoYnl0ZXMgMHg0YTkwODg1NiAvLyBtZXRob2QgImZyb21BZGRyZXNzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4OGRlYjMyZDMgLy8gbWV0aG9kICJlYXJseVJldHVybih1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NjdkZTE1NmYgLy8gbWV0aG9kICJhc3NldE1ldGhvZEFyZ3MoKXZvaWQiCglwdXNoYnl0ZXMgMHgxZTQyODQxMiAvLyBtZXRob2QgIm11bHRpcGxlUHJvZ3JhbVBhZ2VzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4Mjc4ZmQ4YjggLy8gbWV0aG9kICJhc3NlcnRDb21tZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmZjMzYyMDggLy8gbWV0aG9kICJ0aHJvd0Vycm9yTWVzc2FnZSgpdm9pZCIKCXB1c2hieXRlcyAweDA0ZWVkZjc5IC8vIG1ldGhvZCAib3JMaXRlcmFsVHlwZSh1aW50NjQsdWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHgzNWQ1ZmJjNyAvLyBtZXRob2QgIm11bHRpbGluZUZ1bmN0aW9uQ2FsbCgpdm9pZCIKCXB1c2hieXRlcyAweGY5NTIyZTJmIC8vIG1ldGhvZCAiYSgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OGM5Mzc5ZTYgLy8gbWV0aG9kICJiKCl1aW50NjQiCglwdXNoYnl0ZXMgMHhmOWExMzU1MiAvLyBtZXRob2QgInVudXNlZE1ldGhvZFZhbHVlKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5NGYyMDQ5YSAvLyBtZXRob2QgInJlYXNzaWduZWROb25GaXJzdFZhcigpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTYyNjQyMTUgLy8gbWV0aG9kICJmdkx2KCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90eG5UeXBlRW51bSAqYWJpX3JvdXRlX3R4bkdyb3VwTGVuZ3RoICphYmlfcm91dGVfYXNzZXJ0cyAqYWJpX3JvdXRlX3ZlcmlmeVR4bkZyb21BcmcgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Gcm9tVHhuR3JvdXAgKmFiaV9yb3V0ZV92ZXJpZnlUeG5Db25kaXRpb24gKmFiaV9yb3V0ZV92ZXJpZnlUeG5JbmNsdWRlZEluICphYmlfcm91dGVfdmVyaWZ5VHhuTm90SW5jbHVkZWRJbiAqYWJpX3JvdXRlX3N1Ym1pdFBlbmRpbmdHcm91cCAqYWJpX3JvdXRlX21ldGhvZFdpdGhUeG5BcmdzICphYmlfcm91dGVfc2hpZnQgKmFiaV9yb3V0ZV9mcm9tQnl0ZXMgKmFiaV9yb3V0ZV9mcm9tVWludDY0ICphYmlfcm91dGVfYnplcm9GdW5jdGlvbiAqYWJpX3JvdXRlX2V2ZW50cyAqYWJpX3JvdXRlX2xldE9wdGltaXphdGlvbiAqYWJpX3JvdXRlX3N0YXRpY0NvbnRyYWN0UHJvcGVydGllcyAqYWJpX3JvdXRlX251bWJlclRvU3RyaW5nICphYmlfcm91dGVfbWV0aG9kT25QYXJlbnMgKmFiaV9yb3V0ZV9zdHJpbmdTdWJzdHJpbmcgKmFiaV9yb3V0ZV9pZFByb3BlcnR5ICphYmlfcm91dGVfc2NyYXRjaFNsb3QgKmFiaV9yb3V0ZV9lY2RzYSAqYWJpX3JvdXRlX3ZlcmlmeVR4blR5cGVzICphYmlfcm91dGVfc3RyaW5nUGx1c0VxdWFscyAqYWJpX3JvdXRlX2ltcG9ydGVkUHJvZ3JhbSAqYWJpX3JvdXRlX2NhbGxQcml2YXRlRGVmaW5lZExhdGVyICphYmlfcm91dGVfaW50ZXJhbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2NhbGxJbnRlcm5hbFB1YmxpY01ldGhvZCAqYWJpX3JvdXRlX2FwcExvYWRTY3JhdGNoICphYmlfcm91dGVfdWludE5XaXRoVW5kZXJzY29yZSAqYWJpX3JvdXRlX29wVXAgKmFiaV9yb3V0ZV9yZXR1cm5WYWx1ZU9uQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5TdG9yYWdlVmFsdWVPbkFzc2lnbm1lbnQgKmFiaV9yb3V0ZV9yZXR1cm5PcGVyYXRvckFzc2lnbm1lbnRWYWx1ZSAqYWJpX3JvdXRlX3JldHVybkFycmF5VmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX3JldHVybkFycmF5SW5TdG9yYWdlVmFsdWVPbk9wZXJhdG9yQXNzaWdubWVudCAqYWJpX3JvdXRlX2NvbnN0cyAqYWJpX3JvdXRlX2Fzc2VydFdpdGhNZXNzYWdlICphYmlfcm91dGVfb3Bjb2RlQWxpYXNlcyAqYWJpX3JvdXRlX3ZyZlZlcmlmeU9wICphYmlfcm91dGVfZWNNYXRoICphYmlfcm91dGVfZ2l0eG4gKmFiaV9yb3V0ZV9nZXRTZXRCeXRlcyAqYWJpX3JvdXRlX2dldFNldFVpbnQ2NCAqYWJpX3JvdXRlX2Jsb2NrT3AgKmFiaV9yb3V0ZV9iNjQgKmFiaV9yb3V0ZV9qc29uICphYmlfcm91dGVfYml0bGVuT3AgKmFiaV9yb3V0ZV9jb21wdXRlZENvbnN0ICphYmlfcm91dGVfbXVsdGlDb21wdXRlZENvbnN0ICphYmlfcm91dGVfcmVhZFNjaGVtYSAqYWJpX3JvdXRlX2NvbXBhcmlzb25PciAqYWJpX3JvdXRlX3R4bkFyZ3NNZXRob2QgKmFiaV9yb3V0ZV9jYWxsVHhuQXJnc01ldGhvZCAqYWJpX3JvdXRlX3N0YXRpY1ZhbHVlTGVuICphYmlfcm91dGVfc3RhdGljVHlwZUxlbiAqYWJpX3JvdXRlX2R5bmFtaWNTY3JhdGNoU2xvdCAqYWJpX3JvdXRlX2luY3JlbWVudFNjcmF0Y2hTbG90ICphYmlfcm91dGVfaW5jcmVtZW50RHluYW1pY1NjcmF0Y2hTbG90ICphYmlfcm91dGVfZnJvbUFkZHJlc3MgKmFiaV9yb3V0ZV9lYXJseVJldHVybiAqYWJpX3JvdXRlX2Fzc2V0TWV0aG9kQXJncyAqYWJpX3JvdXRlX211bHRpcGxlUHJvZ3JhbVBhZ2VzICphYmlfcm91dGVfYXNzZXJ0Q29tbWVudCAqYWJpX3JvdXRlX3Rocm93RXJyb3JNZXNzYWdlICphYmlfcm91dGVfb3JMaXRlcmFsVHlwZSAqYWJpX3JvdXRlX211bHRpbGluZUZ1bmN0aW9uQ2FsbCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfdW51c2VkTWV0aG9kVmFsdWUgKmFiaV9yb3V0ZV9yZWFzc2lnbmVkTm9uRmlyc3RWYXIgKmFiaV9yb3V0ZV9mdkx2CgoJLy8gISEhISBXQVJOSU5HOiBub24tQUJJIHJvdXRpbmcKCWNhbGxzdWIgbm9uQWJpCglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqaW50VG9Bc2NpaToKCXByb3RvIDEgMQoJcHVzaGJ5dGVzIDB4MzAzMTMyMzMzNDM1MzYzNzM4MzkgLy8gIjAxMjM0NTY3ODkiCglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDAgLy8gMQoJZXh0cmFjdDMKCXJldHN1YgoJCgoqaXRvYToKCXByb3RvIDEgMQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDAKCT09CglieiAqaXRvYV9pZl9lbmQKCWJ5dGVjIDE3IC8vIDB4MzAKCXJldHN1YgoKKml0b2FfaWZfZW5kOgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxMCAvLyAxMAoJLwoJaW50YyAxIC8vIDAKCT4KCWJ6ICppdG9hX3Rlcm5hcnlfZmFsc2UKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMTAgLy8gMTAKCS8KCWNhbGxzdWIgKml0b2EKCWIgKml0b2FfdGVybmFyeV9lbmQKCippdG9hX3Rlcm5hcnlfZmFsc2U6CglieXRlYyAwIC8vICAiIgoKKml0b2FfdGVybmFyeV9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDEwIC8vIDEwCgklCgljYWxsc3ViICppbnRUb0FzY2lpCgljb25jYXQKCXJldHN1Yg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "scratchVariables": { diff --git a/tests/contracts/artifacts/IfTest.approval.teal b/tests/contracts/artifacts/IfTest.approval.teal index f9d653b3c..9fe566dd7 100644 --- a/tests/contracts/artifacts/IfTest.approval.teal +++ b/tests/contracts/artifacts/IfTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 2 32 bytecblock 0x151f7c75 0x6966 0x656c7365 0x656e64 0x666f6f 0x 0x656c73652069662031 0x656c73652069662032 0x656c7365206966 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/IfTest.arc32.json b/tests/contracts/artifacts/IfTest.arc32.json index e01d4727b..c84fa8f49 100644 --- a/tests/contracts/artifacts/IfTest.arc32.json +++ b/tests/contracts/artifacts/IfTest.arc32.json @@ -109,7 +109,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4MTUxZjdjNzUgMHg2OTY2IDB4NjU2YzczNjUgMHg2NTZlNjQgMHg2NjZmNmYgMHggMHg2NTZjNzM2NTIwNjk2NjIwMzEgMHg2NTZjNzM2NTIwNjk2NjIwMzIgMHg2NTZjNzM2NTIwNjk2NgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNpbmdsZUlmKGJvb2wpc3RyaW5nCiphYmlfcm91dGVfc2luZ2xlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3Igc2luZ2xlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgc2luZ2xlSWYoYm9vbClzdHJpbmcKCWNhbGxzdWIgc2luZ2xlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2luZ2xlSWYoYXJnMDogYm9vbGVhbik6IHN0cmluZwpzaW5nbGVJZjoKCXByb3RvIDEgMQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjgKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjFfZW5kOgoJcmV0c3ViCgovLyBpZkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmOgoJcHJvdG8gMiAxCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjIzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMl9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgliICppZjJfZW5kCgoqaWYyX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI5CgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZkVsc2UoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZkVsc2U6Cglwcm90byAyIDEKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWYzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjNfZWxzZQoKCS8vICppZjNfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozOAoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGVjIDYgLy8gICJlbHNlIGlmIDEiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMl9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NwoJLy8gYXJnMgoJZnJhbWVfZGlnIC0zIC8vIGFyZzI6IGJvb2xlYW4KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ4CgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgoqaWY0X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjUxCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZWMgNiAvLyAgImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU5CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNV9lbHNlCgoJLy8gKmlmNV9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjYwCgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2MgoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWY1X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX25lc3RlZElmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwpuZXN0ZWRJZjoKCXByb3RvIDIgMQoKCS8vICppZjZfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjZfZWxzZQoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gKmlmN19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY4CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY5CgkvLyByZXR1cm4gJ25lc3RlZCBpZic7CglwdXNoYnl0ZXMgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjZfZW5kOgoJcmV0c3ViCgovLyBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIGJyYWNrZXRsZXNzSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nCgljYWxsc3ViIGJyYWNrZXRsZXNzSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyYWNrZXRsZXNzSWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKYnJhY2tldGxlc3NJZkVsc2U6Cglwcm90byAxIDEKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzgKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY4X2Vsc2UKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY4X2VuZAoKKmlmOF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzkKCS8vIHJldHVybiAnZWxzZSc7CglieXRlYyAyIC8vICAiZWxzZSIKCXJldHN1YgoKKmlmOF9lbmQ6CglyZXRzdWIKCi8vIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkVGVybmFyeSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzApIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVGVybmFyeShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogdWludDY0Cm5lc3RlZFRlcm5hcnk6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4NAoJLy8gcmV0dXJuIGFyZzAgPyAxIDogYXJnMSA/IDIgOiAzOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50YyAwIC8vIDEKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJaW50YyAyIC8vIDIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJcHVzaGludCAzCgoqdGVybmFyeTFfZW5kOgoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0lmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdJZihzdHJpbmcpdWludDY0CgljYWxsc3ViIHN0cmluZ0lmCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nSWYoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ0lmOgoJcHJvdG8gMSAxCgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogc3RyaW5nCglieXRlYyA1IC8vIDB4CgliIT0KCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OQoJLy8gcmV0dXJuIDE7CglpbnRjIDAgLy8gMQoJcmV0c3ViCgoqaWY5X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjkyCgkvLyByZXR1cm4gMjsKCWludGMgMiAvLyAyCglyZXRzdWIKCi8vIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nVGVybmFyeShhcmcwOiBzdHJpbmcpOiB1aW50NjQKc3RyaW5nVGVybmFyeToKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjk2CgkvLyByZXR1cm4gYXJnMCA/IDEgOiAyOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqdGVybmFyeTJfZmFsc2UKCWludGMgMCAvLyAxCgliICp0ZXJuYXJ5Ml9lbmQKCip0ZXJuYXJ5Ml9mYWxzZToKCWludGMgMiAvLyAyCgoqdGVybmFyeTJfZW5kOgoJcmV0c3ViCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsOgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsVWludENvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29uZGl0aW9uYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNtYWxsVWludENvbmRpdGlvbmFsKGE6IHVpbnQxNik6IHZvaWQKc21hbGxVaW50Q29uZGl0aW9uYWw6Cglwcm90byAxIDAKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEwMAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQxNgoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDEKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjExX2VuZDoKCXJldHN1YgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6CgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQKCWNhbGxzdWIgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsOgoJcHJvdG8gMiAwCgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTIKCS8vIGEgPD0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliPD0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMwoJLy8gbG9nKCdmb28nKQoJYnl0ZWMgNCAvLyAgImZvbyIKCWxvZwoKKmlmMTJfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgbmVzdGVkSWZJbkVsc2VJZiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWZJbkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRJZkluRWxzZUlmKGE6IGJvb2xlYW4sIGI6IGJvb2xlYW4pOiBzdHJpbmcKbmVzdGVkSWZJbkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTE4CgkvLyBhCglmcmFtZV9kaWcgLTEgLy8gYTogYm9vbGVhbgoJYnogKmlmMTNfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOQoJLy8gYgoJZnJhbWVfZGlnIC0yIC8vIGI6IGJvb2xlYW4KCWJ6ICppZjE0X2Vsc2UKCgkvLyAqaWYxNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjAKCS8vIHJldHVybiAnYSBhbmQgYic7CglwdXNoYnl0ZXMgMHg2MTIwNjE2ZTY0MjA2MiAvLyAiYSBhbmQgYiIKCXJldHN1YgoJYiAqaWYxNF9lbmQKCippZjE0X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjIKCS8vIHJldHVybiAnYSc7CglwdXNoYnl0ZXMgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJcHVzaGJ5dGVzIDB4NjIgLy8gImIiCglyZXRzdWIKCWIgKmlmMTNfZW5kCgoqaWYxM19lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI3CgkvLyByZXR1cm4gJ25laXRoZXInOwoJcHVzaGJ5dGVzIDB4NmU2NTY5NzQ2ODY1NzIgLy8gIm5laXRoZXIiCglyZXRzdWIKCippZjEzX2VuZDoKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MzZlYzFjMiAvLyBtZXRob2QgInNpbmdsZUlmKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWM3YTBkNWUgLy8gbWV0aG9kICJpZkVsc2UoYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTBmYjZjZiAvLyBtZXRob2QgImlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTFjNmM1MCAvLyBtZXRob2QgImlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NThkMGJhOTIgLy8gbWV0aG9kICJpZkVsc2VJZkVsc2VJZihib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZDJmNGYwMiAvLyBtZXRob2QgImlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4NDU3MjlkOSAvLyBtZXRob2QgIm5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4ZmU3NmNhOCAvLyBtZXRob2QgImJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWEzYzc4NzggLy8gbWV0aG9kICJuZXN0ZWRUZXJuYXJ5KGJvb2wsYm9vbCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NGJjYzg2OCAvLyBtZXRob2QgInN0cmluZ0lmKHN0cmluZyl1aW50NjQiCglwdXNoYnl0ZXMgMHg0MjEyZjkwNSAvLyBtZXRob2QgInN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NCIKCXB1c2hieXRlcyAweDk1ZGRhZWJmIC8vIG1ldGhvZCAic21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHgzMTQ3Yjg2NiAvLyBtZXRob2QgInNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg0Mjg5N2Y2MSAvLyBtZXRob2QgInVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg1MzRiZTJiNyAvLyBtZXRob2QgIm5lc3RlZElmSW5FbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2luZ2xlSWYgKmFiaV9yb3V0ZV9pZkVsc2UgKmFiaV9yb3V0ZV9pZkVsc2VJZiAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlICphYmlfcm91dGVfbmVzdGVkSWYgKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZSAqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnkgKmFiaV9yb3V0ZV9zdHJpbmdJZiAqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnkgKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbCAqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4MTUxZjdjNzUgMHg2OTY2IDB4NjU2YzczNjUgMHg2NTZlNjQgMHg2NjZmNmYgMHggMHg2NTZjNzM2NTIwNjk2NjIwMzEgMHg2NTZjNzM2NTIwNjk2NjIwMzIgMHg2NTZjNzM2NTIwNjk2NgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNpbmdsZUlmKGJvb2wpc3RyaW5nCiphYmlfcm91dGVfc2luZ2xlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3Igc2luZ2xlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgc2luZ2xlSWYoYm9vbClzdHJpbmcKCWNhbGxzdWIgc2luZ2xlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2luZ2xlSWYoYXJnMDogYm9vbGVhbik6IHN0cmluZwpzaW5nbGVJZjoKCXByb3RvIDEgMQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjgKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjFfZW5kOgoJcmV0c3ViCgovLyBpZkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmOgoJcHJvdG8gMiAxCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjIzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMl9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgliICppZjJfZW5kCgoqaWYyX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI5CgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZkVsc2UoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZkVsc2U6Cglwcm90byAyIDEKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWYzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjNfZWxzZQoKCS8vICppZjNfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozOAoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGVjIDYgLy8gICJlbHNlIGlmIDEiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMl9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NwoJLy8gYXJnMgoJZnJhbWVfZGlnIC0zIC8vIGFyZzI6IGJvb2xlYW4KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ4CgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgoqaWY0X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjUxCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZWMgNiAvLyAgImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU5CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNV9lbHNlCgoJLy8gKmlmNV9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjYwCgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2MgoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWY1X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX25lc3RlZElmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwpuZXN0ZWRJZjoKCXByb3RvIDIgMQoKCS8vICppZjZfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjZfZWxzZQoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gKmlmN19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY4CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY5CgkvLyByZXR1cm4gJ25lc3RlZCBpZic7CglwdXNoYnl0ZXMgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjZfZW5kOgoJcmV0c3ViCgovLyBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIGJyYWNrZXRsZXNzSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nCgljYWxsc3ViIGJyYWNrZXRsZXNzSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyYWNrZXRsZXNzSWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKYnJhY2tldGxlc3NJZkVsc2U6Cglwcm90byAxIDEKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzgKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY4X2Vsc2UKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY4X2VuZAoKKmlmOF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzkKCS8vIHJldHVybiAnZWxzZSc7CglieXRlYyAyIC8vICAiZWxzZSIKCXJldHN1YgoKKmlmOF9lbmQ6CglyZXRzdWIKCi8vIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkVGVybmFyeSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzApIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVGVybmFyeShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogdWludDY0Cm5lc3RlZFRlcm5hcnk6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4NAoJLy8gcmV0dXJuIGFyZzAgPyAxIDogYXJnMSA/IDIgOiAzOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50YyAwIC8vIDEKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJaW50YyAyIC8vIDIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJcHVzaGludCAzCgoqdGVybmFyeTFfZW5kOgoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0lmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdJZihzdHJpbmcpdWludDY0CgljYWxsc3ViIHN0cmluZ0lmCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nSWYoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ0lmOgoJcHJvdG8gMSAxCgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogc3RyaW5nCglieXRlYyA1IC8vIDB4CgliIT0KCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OQoJLy8gcmV0dXJuIDE7CglpbnRjIDAgLy8gMQoJcmV0c3ViCgoqaWY5X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjkyCgkvLyByZXR1cm4gMjsKCWludGMgMiAvLyAyCglyZXRzdWIKCi8vIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nVGVybmFyeShhcmcwOiBzdHJpbmcpOiB1aW50NjQKc3RyaW5nVGVybmFyeToKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjk2CgkvLyByZXR1cm4gYXJnMCA/IDEgOiAyOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqdGVybmFyeTJfZmFsc2UKCWludGMgMCAvLyAxCgliICp0ZXJuYXJ5Ml9lbmQKCip0ZXJuYXJ5Ml9mYWxzZToKCWludGMgMiAvLyAyCgoqdGVybmFyeTJfZW5kOgoJcmV0c3ViCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsOgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsVWludENvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29uZGl0aW9uYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNtYWxsVWludENvbmRpdGlvbmFsKGE6IHVpbnQxNik6IHZvaWQKc21hbGxVaW50Q29uZGl0aW9uYWw6Cglwcm90byAxIDAKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEwMAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQxNgoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDEKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjExX2VuZDoKCXJldHN1YgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6CgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQKCWNhbGxzdWIgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsOgoJcHJvdG8gMiAwCgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTIKCS8vIGEgPD0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliPD0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMwoJLy8gbG9nKCdmb28nKQoJYnl0ZWMgNCAvLyAgImZvbyIKCWxvZwoKKmlmMTJfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgbmVzdGVkSWZJbkVsc2VJZiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWZJbkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRJZkluRWxzZUlmKGE6IGJvb2xlYW4sIGI6IGJvb2xlYW4pOiBzdHJpbmcKbmVzdGVkSWZJbkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTE4CgkvLyBhCglmcmFtZV9kaWcgLTEgLy8gYTogYm9vbGVhbgoJYnogKmlmMTNfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOQoJLy8gYgoJZnJhbWVfZGlnIC0yIC8vIGI6IGJvb2xlYW4KCWJ6ICppZjE0X2Vsc2UKCgkvLyAqaWYxNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjAKCS8vIHJldHVybiAnYSBhbmQgYic7CglwdXNoYnl0ZXMgMHg2MTIwNjE2ZTY0MjA2MiAvLyAiYSBhbmQgYiIKCXJldHN1YgoJYiAqaWYxNF9lbmQKCippZjE0X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjIKCS8vIHJldHVybiAnYSc7CglwdXNoYnl0ZXMgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJcHVzaGJ5dGVzIDB4NjIgLy8gImIiCglyZXRzdWIKCWIgKmlmMTNfZW5kCgoqaWYxM19lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI3CgkvLyByZXR1cm4gJ25laXRoZXInOwoJcHVzaGJ5dGVzIDB4NmU2NTY5NzQ2ODY1NzIgLy8gIm5laXRoZXIiCglyZXRzdWIKCippZjEzX2VuZDoKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MzZlYzFjMiAvLyBtZXRob2QgInNpbmdsZUlmKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWM3YTBkNWUgLy8gbWV0aG9kICJpZkVsc2UoYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTBmYjZjZiAvLyBtZXRob2QgImlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTFjNmM1MCAvLyBtZXRob2QgImlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NThkMGJhOTIgLy8gbWV0aG9kICJpZkVsc2VJZkVsc2VJZihib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZDJmNGYwMiAvLyBtZXRob2QgImlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4NDU3MjlkOSAvLyBtZXRob2QgIm5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4ZmU3NmNhOCAvLyBtZXRob2QgImJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWEzYzc4NzggLy8gbWV0aG9kICJuZXN0ZWRUZXJuYXJ5KGJvb2wsYm9vbCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NGJjYzg2OCAvLyBtZXRob2QgInN0cmluZ0lmKHN0cmluZyl1aW50NjQiCglwdXNoYnl0ZXMgMHg0MjEyZjkwNSAvLyBtZXRob2QgInN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NCIKCXB1c2hieXRlcyAweDk1ZGRhZWJmIC8vIG1ldGhvZCAic21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHgzMTQ3Yjg2NiAvLyBtZXRob2QgInNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg0Mjg5N2Y2MSAvLyBtZXRob2QgInVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg1MzRiZTJiNyAvLyBtZXRob2QgIm5lc3RlZElmSW5FbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2luZ2xlSWYgKmFiaV9yb3V0ZV9pZkVsc2UgKmFiaV9yb3V0ZV9pZkVsc2VJZiAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlICphYmlfcm91dGVfbmVzdGVkSWYgKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZSAqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnkgKmFiaV9yb3V0ZV9zdHJpbmdJZiAqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnkgKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbCAqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/IfTest.arc56_draft.json b/tests/contracts/artifacts/IfTest.arc56_draft.json index c91771184..008231852 100644 --- a/tests/contracts/artifacts/IfTest.arc56_draft.json +++ b/tests/contracts/artifacts/IfTest.arc56_draft.json @@ -4628,7 +4628,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4MTUxZjdjNzUgMHg2OTY2IDB4NjU2YzczNjUgMHg2NTZlNjQgMHg2NjZmNmYgMHggMHg2NTZjNzM2NTIwNjk2NjIwMzEgMHg2NTZjNzM2NTIwNjk2NjIwMzIgMHg2NTZjNzM2NTIwNjk2NgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNpbmdsZUlmKGJvb2wpc3RyaW5nCiphYmlfcm91dGVfc2luZ2xlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3Igc2luZ2xlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgc2luZ2xlSWYoYm9vbClzdHJpbmcKCWNhbGxzdWIgc2luZ2xlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2luZ2xlSWYoYXJnMDogYm9vbGVhbik6IHN0cmluZwpzaW5nbGVJZjoKCXByb3RvIDEgMQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjgKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjFfZW5kOgoJcmV0c3ViCgovLyBpZkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmOgoJcHJvdG8gMiAxCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjIzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMl9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgliICppZjJfZW5kCgoqaWYyX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI5CgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZkVsc2UoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZkVsc2U6Cglwcm90byAyIDEKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWYzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjNfZWxzZQoKCS8vICppZjNfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozOAoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGVjIDYgLy8gICJlbHNlIGlmIDEiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMl9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NwoJLy8gYXJnMgoJZnJhbWVfZGlnIC0zIC8vIGFyZzI6IGJvb2xlYW4KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ4CgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgoqaWY0X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjUxCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZWMgNiAvLyAgImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU5CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNV9lbHNlCgoJLy8gKmlmNV9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjYwCgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2MgoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWY1X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX25lc3RlZElmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwpuZXN0ZWRJZjoKCXByb3RvIDIgMQoKCS8vICppZjZfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjZfZWxzZQoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gKmlmN19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY4CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY5CgkvLyByZXR1cm4gJ25lc3RlZCBpZic7CglwdXNoYnl0ZXMgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjZfZW5kOgoJcmV0c3ViCgovLyBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIGJyYWNrZXRsZXNzSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nCgljYWxsc3ViIGJyYWNrZXRsZXNzSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyYWNrZXRsZXNzSWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKYnJhY2tldGxlc3NJZkVsc2U6Cglwcm90byAxIDEKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzgKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY4X2Vsc2UKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY4X2VuZAoKKmlmOF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzkKCS8vIHJldHVybiAnZWxzZSc7CglieXRlYyAyIC8vICAiZWxzZSIKCXJldHN1YgoKKmlmOF9lbmQ6CglyZXRzdWIKCi8vIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkVGVybmFyeSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzApIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVGVybmFyeShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogdWludDY0Cm5lc3RlZFRlcm5hcnk6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4NAoJLy8gcmV0dXJuIGFyZzAgPyAxIDogYXJnMSA/IDIgOiAzOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50YyAwIC8vIDEKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJaW50YyAyIC8vIDIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJcHVzaGludCAzCgoqdGVybmFyeTFfZW5kOgoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0lmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdJZihzdHJpbmcpdWludDY0CgljYWxsc3ViIHN0cmluZ0lmCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nSWYoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ0lmOgoJcHJvdG8gMSAxCgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogc3RyaW5nCglieXRlYyA1IC8vIDB4CgliIT0KCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OQoJLy8gcmV0dXJuIDE7CglpbnRjIDAgLy8gMQoJcmV0c3ViCgoqaWY5X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjkyCgkvLyByZXR1cm4gMjsKCWludGMgMiAvLyAyCglyZXRzdWIKCi8vIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nVGVybmFyeShhcmcwOiBzdHJpbmcpOiB1aW50NjQKc3RyaW5nVGVybmFyeToKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjk2CgkvLyByZXR1cm4gYXJnMCA/IDEgOiAyOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqdGVybmFyeTJfZmFsc2UKCWludGMgMCAvLyAxCgliICp0ZXJuYXJ5Ml9lbmQKCip0ZXJuYXJ5Ml9mYWxzZToKCWludGMgMiAvLyAyCgoqdGVybmFyeTJfZW5kOgoJcmV0c3ViCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsOgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsVWludENvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29uZGl0aW9uYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNtYWxsVWludENvbmRpdGlvbmFsKGE6IHVpbnQxNik6IHZvaWQKc21hbGxVaW50Q29uZGl0aW9uYWw6Cglwcm90byAxIDAKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEwMAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQxNgoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDEKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjExX2VuZDoKCXJldHN1YgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6CgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQKCWNhbGxzdWIgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsOgoJcHJvdG8gMiAwCgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTIKCS8vIGEgPD0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliPD0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMwoJLy8gbG9nKCdmb28nKQoJYnl0ZWMgNCAvLyAgImZvbyIKCWxvZwoKKmlmMTJfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgbmVzdGVkSWZJbkVsc2VJZiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWZJbkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRJZkluRWxzZUlmKGE6IGJvb2xlYW4sIGI6IGJvb2xlYW4pOiBzdHJpbmcKbmVzdGVkSWZJbkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTE4CgkvLyBhCglmcmFtZV9kaWcgLTEgLy8gYTogYm9vbGVhbgoJYnogKmlmMTNfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOQoJLy8gYgoJZnJhbWVfZGlnIC0yIC8vIGI6IGJvb2xlYW4KCWJ6ICppZjE0X2Vsc2UKCgkvLyAqaWYxNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjAKCS8vIHJldHVybiAnYSBhbmQgYic7CglwdXNoYnl0ZXMgMHg2MTIwNjE2ZTY0MjA2MiAvLyAiYSBhbmQgYiIKCXJldHN1YgoJYiAqaWYxNF9lbmQKCippZjE0X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjIKCS8vIHJldHVybiAnYSc7CglwdXNoYnl0ZXMgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJcHVzaGJ5dGVzIDB4NjIgLy8gImIiCglyZXRzdWIKCWIgKmlmMTNfZW5kCgoqaWYxM19lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI3CgkvLyByZXR1cm4gJ25laXRoZXInOwoJcHVzaGJ5dGVzIDB4NmU2NTY5NzQ2ODY1NzIgLy8gIm5laXRoZXIiCglyZXRzdWIKCippZjEzX2VuZDoKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MzZlYzFjMiAvLyBtZXRob2QgInNpbmdsZUlmKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWM3YTBkNWUgLy8gbWV0aG9kICJpZkVsc2UoYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTBmYjZjZiAvLyBtZXRob2QgImlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTFjNmM1MCAvLyBtZXRob2QgImlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NThkMGJhOTIgLy8gbWV0aG9kICJpZkVsc2VJZkVsc2VJZihib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZDJmNGYwMiAvLyBtZXRob2QgImlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4NDU3MjlkOSAvLyBtZXRob2QgIm5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4ZmU3NmNhOCAvLyBtZXRob2QgImJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWEzYzc4NzggLy8gbWV0aG9kICJuZXN0ZWRUZXJuYXJ5KGJvb2wsYm9vbCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NGJjYzg2OCAvLyBtZXRob2QgInN0cmluZ0lmKHN0cmluZyl1aW50NjQiCglwdXNoYnl0ZXMgMHg0MjEyZjkwNSAvLyBtZXRob2QgInN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NCIKCXB1c2hieXRlcyAweDk1ZGRhZWJmIC8vIG1ldGhvZCAic21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHgzMTQ3Yjg2NiAvLyBtZXRob2QgInNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg0Mjg5N2Y2MSAvLyBtZXRob2QgInVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg1MzRiZTJiNyAvLyBtZXRob2QgIm5lc3RlZElmSW5FbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2luZ2xlSWYgKmFiaV9yb3V0ZV9pZkVsc2UgKmFiaV9yb3V0ZV9pZkVsc2VJZiAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlICphYmlfcm91dGVfbmVzdGVkSWYgKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZSAqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnkgKmFiaV9yb3V0ZV9zdHJpbmdJZiAqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnkgKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbCAqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMiAzMgpieXRlY2Jsb2NrIDB4MTUxZjdjNzUgMHg2OTY2IDB4NjU2YzczNjUgMHg2NTZlNjQgMHg2NjZmNmYgMHggMHg2NTZjNzM2NTIwNjk2NjIwMzEgMHg2NTZjNzM2NTIwNjk2NjIwMzIgMHg2NTZjNzM2NTIwNjk2NgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHNpbmdsZUlmKGJvb2wpc3RyaW5nCiphYmlfcm91dGVfc2luZ2xlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3Igc2luZ2xlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgc2luZ2xlSWYoYm9vbClzdHJpbmcKCWNhbGxzdWIgc2luZ2xlSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc2luZ2xlSWYoYXJnMDogYm9vbGVhbik6IHN0cmluZwpzaW5nbGVJZjoKCXByb3RvIDEgMQoKCS8vICppZjBfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjgKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgoqaWYwX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2UoYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9pZkVsc2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcwKSBmb3IgaWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZShib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2UKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlOgoJcHJvdG8gMSAxCgoJLy8gKmlmMV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE1CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMV9lbHNlCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxNgoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmMV9lbmQKCippZjFfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjE4CgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjFfZW5kOgoJcmV0c3ViCgovLyBpZkVsc2VJZihib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWYoYm9vbCxib29sKXN0cmluZwoJY2FsbHN1YiBpZkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZihhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmOgoJcHJvdG8gMiAxCgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjIzCgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogYm9vbGVhbgoJYnogKmlmMl9lbHNlaWYxX2NvbmRpdGlvbgoKCS8vICppZjJfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjQKCS8vIHJldHVybiAnaWYnOwoJYnl0ZWMgMSAvLyAgImlmIgoJcmV0c3ViCgliICppZjJfZW5kCgoqaWYyX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MjUKCS8vIGFyZzEKCWZyYW1lX2RpZyAtMiAvLyBhcmcxOiBib29sZWFuCglieiAqaWYyX2VuZAoKCS8vICppZjJfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoyNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgoqaWYyX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjI5CgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2UoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZQoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpZkVsc2VJZkVsc2UoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwppZkVsc2VJZkVsc2U6Cglwcm90byAyIDEKCgkvLyAqaWYzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MzMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWYzX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmM19lbmQKCippZjNfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjNfZWxzZQoKCS8vICppZjNfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozNgoJLy8gcmV0dXJuICdlbHNlIGlmJzsKCWJ5dGVjIDggLy8gICJlbHNlIGlmIgoJcmV0c3ViCgliICppZjNfZW5kCgoqaWYzX2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czozOAoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWYzX2VuZDoKCXJldHN1YgoKLy8gaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzI6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcyKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhcmcxKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGV4ZWN1dGUgaWZFbHNlSWZFbHNlSWYoYm9vbCxib29sLGJvb2wpc3RyaW5nCgljYWxsc3ViIGlmRWxzZUlmRWxzZUlmCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmKGFyZzA6IGJvb2xlYW4sIGFyZzE6IGJvb2xlYW4sIGFyZzI6IGJvb2xlYW4pOiBzdHJpbmcKaWZFbHNlSWZFbHNlSWY6Cglwcm90byAzIDEKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDMKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY0X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NAoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMV9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NQoJLy8gYXJnMQoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICppZjRfZWxzZWlmMl9jb25kaXRpb24KCgkvLyAqaWY0X2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NDYKCS8vIHJldHVybiAnZWxzZSBpZiAxJzsKCWJ5dGVjIDYgLy8gICJlbHNlIGlmIDEiCglyZXRzdWIKCWIgKmlmNF9lbmQKCippZjRfZWxzZWlmMl9jb25kaXRpb246CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo0NwoJLy8gYXJnMgoJZnJhbWVfZGlnIC0zIC8vIGFyZzI6IGJvb2xlYW4KCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjQ4CgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgoqaWY0X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjUxCgkvLyByZXR1cm4gJ2VuZCc7CglieXRlYyAzIC8vICAiZW5kIgoJcmV0c3ViCgovLyBpZkVsc2VJZkVsc2VJZkVsc2UoYm9vbCxib29sLGJvb2wpc3RyaW5nCiphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcyOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMikgZm9yIGlmRWxzZUlmRWxzZUlmRWxzZSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMTogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzEpIGZvciBpZkVsc2VJZkVsc2VJZkVsc2UgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGFyZzA6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAyIChhcmcwKSBmb3IgaWZFbHNlSWZFbHNlSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgaWZFbHNlSWZFbHNlSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlmRWxzZUlmRWxzZUlmRWxzZShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuLCBhcmcyOiBib29sZWFuKTogc3RyaW5nCmlmRWxzZUlmRWxzZUlmRWxzZToKCXByb3RvIDMgMQoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1NQoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjVfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY1X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU2CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU3CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmNV9lbHNlaWYyX2NvbmRpdGlvbgoKCS8vICppZjVfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo1OAoJLy8gcmV0dXJuICdlbHNlIGlmIDEnOwoJYnl0ZWMgNiAvLyAgImVsc2UgaWYgMSIKCXJldHN1YgoJYiAqaWY1X2VuZAoKKmlmNV9lbHNlaWYyX2NvbmRpdGlvbjoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjU5CgkvLyBhcmcyCglmcmFtZV9kaWcgLTMgLy8gYXJnMjogYm9vbGVhbgoJYnogKmlmNV9lbHNlCgoJLy8gKmlmNV9lbHNlaWYyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjYwCgkvLyByZXR1cm4gJ2Vsc2UgaWYgMic7CglieXRlYyA3IC8vICAiZWxzZSBpZiAyIgoJcmV0c3ViCgliICppZjVfZW5kCgoqaWY1X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2MgoJLy8gcmV0dXJuICdlbHNlJzsKCWJ5dGVjIDIgLy8gICJlbHNlIgoJcmV0c3ViCgoqaWY1X2VuZDoKCXJldHN1YgoKLy8gbmVzdGVkSWYoYm9vbCxib29sKXN0cmluZwoqYWJpX3JvdXRlX25lc3RlZElmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcxOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMSkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYXJnMCkgZm9yIG5lc3RlZElmIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWYKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkSWYoYXJnMDogYm9vbGVhbiwgYXJnMTogYm9vbGVhbik6IHN0cmluZwpuZXN0ZWRJZjoKCXByb3RvIDIgMQoKCS8vICppZjZfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo2NwoJLy8gYXJnMAoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICppZjZfZWxzZQoKCS8vICppZjZfY29uc2VxdWVudAoJLy8gKmlmN19jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY4CgkvLyBhcmcxCglmcmFtZV9kaWcgLTIgLy8gYXJnMTogYm9vbGVhbgoJYnogKmlmN19lbmQKCgkvLyAqaWY3X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjY5CgkvLyByZXR1cm4gJ25lc3RlZCBpZic7CglwdXNoYnl0ZXMgMHg2ZTY1NzM3NDY1NjQyMDY5NjYgLy8gIm5lc3RlZCBpZiIKCXJldHN1YgoKKmlmN19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo3MQoJLy8gcmV0dXJuICdpZic7CglieXRlYyAxIC8vICAiaWYiCglyZXRzdWIKCWIgKmlmNl9lbmQKCippZjZfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjczCgkvLyByZXR1cm4gJ2Vsc2UnOwoJYnl0ZWMgMiAvLyAgImVsc2UiCglyZXRzdWIKCippZjZfZW5kOgoJcmV0c3ViCgovLyBicmFja2V0bGVzc0lmRWxzZShib29sKXN0cmluZwoqYWJpX3JvdXRlX2JyYWNrZXRsZXNzSWZFbHNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYXJnMCkgZm9yIGJyYWNrZXRsZXNzSWZFbHNlIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIGJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nCgljYWxsc3ViIGJyYWNrZXRsZXNzSWZFbHNlCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyYWNrZXRsZXNzSWZFbHNlKGFyZzA6IGJvb2xlYW4pOiBzdHJpbmcKYnJhY2tldGxlc3NJZkVsc2U6Cglwcm90byAxIDEKCgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzgKCS8vIGFyZzAKCWZyYW1lX2RpZyAtMSAvLyBhcmcwOiBib29sZWFuCglieiAqaWY4X2Vsc2UKCgkvLyAqaWY4X2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjc4CgkvLyByZXR1cm4gJ2lmJzsKCWJ5dGVjIDEgLy8gICJpZiIKCXJldHN1YgoJYiAqaWY4X2VuZAoKKmlmOF9lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6NzkKCS8vIHJldHVybiAnZWxzZSc7CglieXRlYyAyIC8vICAiZWxzZSIKCXJldHN1YgoKKmlmOF9lbmQ6CglyZXRzdWIKCi8vIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAwIChhcmcxKSBmb3IgbmVzdGVkVGVybmFyeSBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gYXJnMDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGFyZzApIGZvciBuZXN0ZWRUZXJuYXJ5IG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMSAvLyAwCglnZXRiaXQKCgkvLyBleGVjdXRlIG5lc3RlZFRlcm5hcnkoYm9vbCxib29sKXVpbnQ2NAoJY2FsbHN1YiBuZXN0ZWRUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbmVzdGVkVGVybmFyeShhcmcwOiBib29sZWFuLCBhcmcxOiBib29sZWFuKTogdWludDY0Cm5lc3RlZFRlcm5hcnk6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4NAoJLy8gcmV0dXJuIGFyZzAgPyAxIDogYXJnMSA/IDIgOiAzOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MF9mYWxzZQoJaW50YyAwIC8vIDEKCWIgKnRlcm5hcnkwX2VuZAoKKnRlcm5hcnkwX2ZhbHNlOgoJZnJhbWVfZGlnIC0yIC8vIGFyZzE6IGJvb2xlYW4KCWJ6ICp0ZXJuYXJ5MV9mYWxzZQoJaW50YyAyIC8vIDIKCWIgKnRlcm5hcnkxX2VuZAoKKnRlcm5hcnkxX2ZhbHNlOgoJcHVzaGludCAzCgoqdGVybmFyeTFfZW5kOgoKKnRlcm5hcnkwX2VuZDoKCXJldHN1YgoKLy8gc3RyaW5nSWYoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ0lmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBhcmcwOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzdHJpbmdJZihzdHJpbmcpdWludDY0CgljYWxsc3ViIHN0cmluZ0lmCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nSWYoYXJnMDogc3RyaW5nKTogdWludDY0CnN0cmluZ0lmOgoJcHJvdG8gMSAxCgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjg4CgkvLyBhcmcwCglmcmFtZV9kaWcgLTEgLy8gYXJnMDogc3RyaW5nCglieXRlYyA1IC8vIDB4CgliIT0KCWJ6ICppZjlfZW5kCgoJLy8gKmlmOV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czo4OQoJLy8gcmV0dXJuIDE7CglpbnRjIDAgLy8gMQoJcmV0c3ViCgoqaWY5X2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjkyCgkvLyByZXR1cm4gMjsKCWludGMgMiAvLyAyCglyZXRzdWIKCi8vIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnk6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGFyZzA6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIHN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NAoJY2FsbHN1YiBzdHJpbmdUZXJuYXJ5CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3RyaW5nVGVybmFyeShhcmcwOiBzdHJpbmcpOiB1aW50NjQKc3RyaW5nVGVybmFyeToKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjk2CgkvLyByZXR1cm4gYXJnMCA/IDEgOiAyOwoJZnJhbWVfZGlnIC0xIC8vIGFyZzA6IHN0cmluZwoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqdGVybmFyeTJfZmFsc2UKCWludGMgMCAvLyAxCgliICp0ZXJuYXJ5Ml9lbmQKCip0ZXJuYXJ5Ml9mYWxzZToKCWludGMgMiAvLyAyCgoqdGVybmFyeTJfZW5kOgoJcmV0c3ViCgovLyBzbWFsbFVpbnRDb25kaXRpb25hbCh1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbmRpdGlvbmFsOgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIHNtYWxsVWludENvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MTYKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgc21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29uZGl0aW9uYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNtYWxsVWludENvbmRpdGlvbmFsKGE6IHVpbnQxNik6IHZvaWQKc21hbGxVaW50Q29uZGl0aW9uYWw6Cglwcm90byAxIDAKCgkvLyAqaWYxMF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjEwMAoJLy8gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQxNgoJYnl0ZWMgNSAvLyAweAoJYiE9CglieiAqaWYxMF9lbmQKCgkvLyAqaWYxMF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDEKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjEwX2VuZDoKCXJldHN1YgoKLy8gc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsKHVpbnQxNix1aW50MTYpdm9pZAoqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCS8vIGI6IHVpbnQxNgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMiAvLyAyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwgbXVzdCBiZSBhIHVpbnQxNgoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDE2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAyIC8vIDIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCBtdXN0IGJlIGEgdWludDE2Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQKCWNhbGxzdWIgc21hbGxVaW50Q29tcGFyaXNvbkNvbmRpdGlvbmFsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzbWFsbFVpbnRDb21wYXJpc29uQ29uZGl0aW9uYWwoYTogdWludDE2LCBiOiB1aW50MTYpOiB2b2lkCnNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbDoKCXByb3RvIDIgMAoKCS8vICppZjExX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTA2CgkvLyBhIDw9IGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MTYKCTw9CglieiAqaWYxMV9lbmQKCgkvLyAqaWYxMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMDcKCS8vIGxvZygnZm9vJykKCWJ5dGVjIDQgLy8gICJmb28iCglsb2cKCippZjExX2VuZDoKCXJldHN1YgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbCh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWw6CgkvLyBiOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGIpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAzIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQKCWNhbGxzdWIgdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDI1NkNvbXBhcnNpb25Db25kaXRpb25hbChhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyc2lvbkNvbmRpdGlvbmFsOgoJcHJvdG8gMiAwCgoJLy8gKmlmMTJfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMTIKCS8vIGEgPD0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliPD0KCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExMwoJLy8gbG9nKCdmb28nKQoJYnl0ZWMgNCAvLyAgImZvbyIKCWxvZwoKKmlmMTJfZW5kOgoJcmV0c3ViCgovLyBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiBib29sCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIG5lc3RlZElmSW5FbHNlSWYgbXVzdCBiZSBhIGJvb2wKCWFzc2VydAoJaW50YyAxIC8vIDAKCWdldGJpdAoKCS8vIGE6IGJvb2wKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgbmVzdGVkSWZJbkVsc2VJZiBtdXN0IGJlIGEgYm9vbAoJYXNzZXJ0CglpbnRjIDEgLy8gMAoJZ2V0Yml0CgoJLy8gZXhlY3V0ZSBuZXN0ZWRJZkluRWxzZUlmKGJvb2wsYm9vbClzdHJpbmcKCWNhbGxzdWIgbmVzdGVkSWZJbkVsc2VJZgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBuZXN0ZWRJZkluRWxzZUlmKGE6IGJvb2xlYW4sIGI6IGJvb2xlYW4pOiBzdHJpbmcKbmVzdGVkSWZJbkVsc2VJZjoKCXByb3RvIDIgMQoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTE4CgkvLyBhCglmcmFtZV9kaWcgLTEgLy8gYTogYm9vbGVhbgoJYnogKmlmMTNfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWYxM19jb25zZXF1ZW50CgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIHRlc3RzL2NvbnRyYWN0cy9pZi5hbGdvLnRzOjExOQoJLy8gYgoJZnJhbWVfZGlnIC0yIC8vIGI6IGJvb2xlYW4KCWJ6ICppZjE0X2Vsc2UKCgkvLyAqaWYxNF9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjAKCS8vIHJldHVybiAnYSBhbmQgYic7CglwdXNoYnl0ZXMgMHg2MTIwNjE2ZTY0MjA2MiAvLyAiYSBhbmQgYiIKCXJldHN1YgoJYiAqaWYxNF9lbmQKCippZjE0X2Vsc2U6CgkvLyB0ZXN0cy9jb250cmFjdHMvaWYuYWxnby50czoxMjIKCS8vIHJldHVybiAnYSc7CglwdXNoYnl0ZXMgMHg2MSAvLyAiYSIKCXJldHN1YgoKKmlmMTRfZW5kOgoJYiAqaWYxM19lbmQKCippZjEzX2Vsc2VpZjFfY29uZGl0aW9uOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI0CgkvLyBiCglmcmFtZV9kaWcgLTIgLy8gYjogYm9vbGVhbgoJYnogKmlmMTNfZWxzZQoKCS8vICppZjEzX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI1CgkvLyByZXR1cm4gJ2InOwoJcHVzaGJ5dGVzIDB4NjIgLy8gImIiCglyZXRzdWIKCWIgKmlmMTNfZW5kCgoqaWYxM19lbHNlOgoJLy8gdGVzdHMvY29udHJhY3RzL2lmLmFsZ28udHM6MTI3CgkvLyByZXR1cm4gJ25laXRoZXInOwoJcHVzaGJ5dGVzIDB4NmU2NTY5NzQ2ODY1NzIgLy8gIm5laXRoZXIiCglyZXRzdWIKCippZjEzX2VuZDoKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg0MzZlYzFjMiAvLyBtZXRob2QgInNpbmdsZUlmKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWM3YTBkNWUgLy8gbWV0aG9kICJpZkVsc2UoYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTBmYjZjZiAvLyBtZXRob2QgImlmRWxzZUlmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZTFjNmM1MCAvLyBtZXRob2QgImlmRWxzZUlmRWxzZShib29sLGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NThkMGJhOTIgLy8gbWV0aG9kICJpZkVsc2VJZkVsc2VJZihib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg1ZDJmNGYwMiAvLyBtZXRob2QgImlmRWxzZUlmRWxzZUlmRWxzZShib29sLGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4NDU3MjlkOSAvLyBtZXRob2QgIm5lc3RlZElmKGJvb2wsYm9vbClzdHJpbmciCglwdXNoYnl0ZXMgMHg4ZmU3NmNhOCAvLyBtZXRob2QgImJyYWNrZXRsZXNzSWZFbHNlKGJvb2wpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4MWEzYzc4NzggLy8gbWV0aG9kICJuZXN0ZWRUZXJuYXJ5KGJvb2wsYm9vbCl1aW50NjQiCglwdXNoYnl0ZXMgMHg3NGJjYzg2OCAvLyBtZXRob2QgInN0cmluZ0lmKHN0cmluZyl1aW50NjQiCglwdXNoYnl0ZXMgMHg0MjEyZjkwNSAvLyBtZXRob2QgInN0cmluZ1Rlcm5hcnkoc3RyaW5nKXVpbnQ2NCIKCXB1c2hieXRlcyAweDk1ZGRhZWJmIC8vIG1ldGhvZCAic21hbGxVaW50Q29uZGl0aW9uYWwodWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHgzMTQ3Yjg2NiAvLyBtZXRob2QgInNtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCh1aW50MTYsdWludDE2KXZvaWQiCglwdXNoYnl0ZXMgMHg0Mjg5N2Y2MSAvLyBtZXRob2QgInVpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg1MzRiZTJiNyAvLyBtZXRob2QgIm5lc3RlZElmSW5FbHNlSWYoYm9vbCxib29sKXN0cmluZyIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfc2luZ2xlSWYgKmFiaV9yb3V0ZV9pZkVsc2UgKmFiaV9yb3V0ZV9pZkVsc2VJZiAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZSAqYWJpX3JvdXRlX2lmRWxzZUlmRWxzZUlmICphYmlfcm91dGVfaWZFbHNlSWZFbHNlSWZFbHNlICphYmlfcm91dGVfbmVzdGVkSWYgKmFiaV9yb3V0ZV9icmFja2V0bGVzc0lmRWxzZSAqYWJpX3JvdXRlX25lc3RlZFRlcm5hcnkgKmFiaV9yb3V0ZV9zdHJpbmdJZiAqYWJpX3JvdXRlX3N0cmluZ1Rlcm5hcnkgKmFiaV9yb3V0ZV9zbWFsbFVpbnRDb25kaXRpb25hbCAqYWJpX3JvdXRlX3NtYWxsVWludENvbXBhcmlzb25Db25kaXRpb25hbCAqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJzaW9uQ29uZGl0aW9uYWwgKmFiaV9yb3V0ZV9uZXN0ZWRJZkluRWxzZUlmCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/IntcblockTest.approval.teal b/tests/contracts/artifacts/IntcblockTest.approval.teal index 00c17d888..af816ae9f 100644 --- a/tests/contracts/artifacts/IntcblockTest.approval.teal +++ b/tests/contracts/artifacts/IntcblockTest.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 6 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/IntcblockTest.arc32.json b/tests/contracts/artifacts/IntcblockTest.arc32.json index a7578b1f0..909238763 100644 --- a/tests/contracts/artifacts/IntcblockTest.arc32.json +++ b/tests/contracts/artifacts/IntcblockTest.arc32.json @@ -44,7 +44,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMSAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VJbnRjYmxvY2sKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZUludGNibG9jaygpOiB1aW50NjQKbGFyZ2VJbnRjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkKCS8vIGFzc2VydCgyKQoJcHVzaGludCAyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoMykKCXB1c2hpbnQgMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMQoJLy8gYXNzZXJ0KDQpCglwdXNoaW50IDQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTIKCS8vIGFzc2VydCg1KQoJcHVzaGludCA1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoNikKCWludGMgMSAvLyA2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoNykKCXB1c2hpbnQgNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNQoJLy8gYXNzZXJ0KDgpCglwdXNoaW50IDgKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTYKCS8vIGFzc2VydCg5KQoJcHVzaGludCA5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE3CgkvLyBhc3NlcnQoMTApCglwdXNoaW50IDEwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoMTEpCglwdXNoaW50IDExCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE5CgkvLyBhc3NlcnQoMTIpCglwdXNoaW50IDEyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIwCgkvLyBhc3NlcnQoMTMpCglwdXNoaW50IDEzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIxCgkvLyBhc3NlcnQoMTQpCglwdXNoaW50IDE0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoMTUpCglwdXNoaW50IDE1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIzCgkvLyBhc3NlcnQoMTYpCglwdXNoaW50IDE2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI0CgkvLyBhc3NlcnQoMTcpCglwdXNoaW50IDE3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI1CgkvLyBhc3NlcnQoMTgpCglwdXNoaW50IDE4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoMTkpCglwdXNoaW50IDE5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3CgkvLyBhc3NlcnQoMjApCglwdXNoaW50IDIwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4CgkvLyBhc3NlcnQoMjEpCglwdXNoaW50IDIxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5CgkvLyBhc3NlcnQoMjIpCglwdXNoaW50IDIyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwCgkvLyBhc3NlcnQoMjMpCglwdXNoaW50IDIzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoMjQpCglwdXNoaW50IDI0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoMjUpCglwdXNoaW50IDI1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzCgkvLyBhc3NlcnQoMjYpCglwdXNoaW50IDI2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoMjcpCglwdXNoaW50IDI3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1CgkvLyBhc3NlcnQoMjgpCglwdXNoaW50IDI4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoMjkpCglwdXNoaW50IDI5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoMzApCglwdXNoaW50IDMwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM4CgkvLyBhc3NlcnQoMzEpCglwdXNoaW50IDMxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM5CgkvLyBhc3NlcnQoMzIpCglwdXNoaW50IDMyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQwCgkvLyBhc3NlcnQoMzMpCglwdXNoaW50IDMzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQxCgkvLyBhc3NlcnQoMzQpCglwdXNoaW50IDM0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoMzUpCglwdXNoaW50IDM1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQzCgkvLyBhc3NlcnQoMzYpCglwdXNoaW50IDM2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ0CgkvLyBhc3NlcnQoMzcpCglwdXNoaW50IDM3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ1CgkvLyBhc3NlcnQoMzgpCglwdXNoaW50IDM4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoMzkpCglwdXNoaW50IDM5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQoNDApCglwdXNoaW50IDQwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ4CgkvLyBhc3NlcnQoNDEpCglwdXNoaW50IDQxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ5CgkvLyBhc3NlcnQoNDIpCglwdXNoaW50IDQyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoNDMpCglwdXNoaW50IDQzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoNDQpCglwdXNoaW50IDQ0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUyCgkvLyBhc3NlcnQoNDUpCglwdXNoaW50IDQ1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUzCgkvLyBhc3NlcnQoNDYpCglwdXNoaW50IDQ2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoNDcpCglwdXNoaW50IDQ3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU1CgkvLyBhc3NlcnQoNDgpCglwdXNoaW50IDQ4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU2CgkvLyBhc3NlcnQoNDkpCglwdXNoaW50IDQ5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU3CgkvLyBhc3NlcnQoNTApCglwdXNoaW50IDUwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoNTEpCglwdXNoaW50IDUxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU5CgkvLyBhc3NlcnQoNTIpCglwdXNoaW50IDUyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYwCgkvLyBhc3NlcnQoNTMpCglwdXNoaW50IDUzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYxCgkvLyBhc3NlcnQoNTQpCglwdXNoaW50IDU0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoNTUpCglwdXNoaW50IDU1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoNTYpCglwdXNoaW50IDU2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY0CgkvLyBhc3NlcnQoNTcpCglwdXNoaW50IDU3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY1CgkvLyBhc3NlcnQoNTgpCglwdXNoaW50IDU4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoNTkpCglwdXNoaW50IDU5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY3CgkvLyBhc3NlcnQoNjApCglwdXNoaW50IDYwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY4CgkvLyBhc3NlcnQoNjEpCglwdXNoaW50IDYxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY5CgkvLyBhc3NlcnQoNjIpCglwdXNoaW50IDYyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcwCgkvLyBhc3NlcnQoNjMpCglwdXNoaW50IDYzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcxCgkvLyBhc3NlcnQoNjQpCglwdXNoaW50IDY0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcyCgkvLyBhc3NlcnQoNjUpCglwdXNoaW50IDY1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjczCgkvLyBhc3NlcnQoNjYpCglwdXNoaW50IDY2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc0CgkvLyBhc3NlcnQoNjcpCglwdXNoaW50IDY3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc1CgkvLyBhc3NlcnQoNjgpCglwdXNoaW50IDY4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc2CgkvLyBhc3NlcnQoNjkpCglwdXNoaW50IDY5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc3CgkvLyBhc3NlcnQoNzApCglwdXNoaW50IDcwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc4CgkvLyBhc3NlcnQoNzEpCglwdXNoaW50IDcxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc5CgkvLyBhc3NlcnQoNzIpCglwdXNoaW50IDcyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgwCgkvLyBhc3NlcnQoNzMpCglwdXNoaW50IDczCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgxCgkvLyBhc3NlcnQoNzQpCglwdXNoaW50IDc0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgyCgkvLyBhc3NlcnQoNzUpCglwdXNoaW50IDc1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgzCgkvLyBhc3NlcnQoNzYpCglwdXNoaW50IDc2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg0CgkvLyBhc3NlcnQoNzcpCglwdXNoaW50IDc3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg1CgkvLyBhc3NlcnQoNzgpCglwdXNoaW50IDc4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg2CgkvLyBhc3NlcnQoNzkpCglwdXNoaW50IDc5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg3CgkvLyBhc3NlcnQoODApCglwdXNoaW50IDgwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoODEpCglwdXNoaW50IDgxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg5CgkvLyBhc3NlcnQoODIpCglwdXNoaW50IDgyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkwCgkvLyBhc3NlcnQoODMpCglwdXNoaW50IDgzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoODQpCglwdXNoaW50IDg0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkyCgkvLyBhc3NlcnQoODUpCglwdXNoaW50IDg1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkzCgkvLyBhc3NlcnQoODYpCglwdXNoaW50IDg2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoODcpCglwdXNoaW50IDg3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk1CgkvLyBhc3NlcnQoODgpCglwdXNoaW50IDg4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk2CgkvLyBhc3NlcnQoODkpCglwdXNoaW50IDg5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk3CgkvLyBhc3NlcnQoOTApCglwdXNoaW50IDkwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoOTEpCglwdXNoaW50IDkxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoOTIpCglwdXNoaW50IDkyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KDkzKQoJcHVzaGludCA5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDEKCS8vIGFzc2VydCg5NCkKCXB1c2hpbnQgOTQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoOTUpCglwdXNoaW50IDk1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMwoJLy8gYXNzZXJ0KDk2KQoJcHVzaGludCA5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDQKCS8vIGFzc2VydCg5NykKCXB1c2hpbnQgOTcKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTA1CgkvLyBhc3NlcnQoOTgpCglwdXNoaW50IDk4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwNgoJLy8gYXNzZXJ0KDk5KQoJcHVzaGludCA5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDcKCS8vIGFzc2VydCgxMDApCglwdXNoaW50IDEwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDgKCS8vIGFzc2VydCgxMDEpCglwdXNoaW50IDEwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDkKCS8vIGFzc2VydCgxMDIpCglwdXNoaW50IDEwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTAKCS8vIGFzc2VydCgxMDMpCglwdXNoaW50IDEwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTEKCS8vIGFzc2VydCgxMDQpCglwdXNoaW50IDEwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTIKCS8vIGFzc2VydCgxMDUpCglwdXNoaW50IDEwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTMKCS8vIGFzc2VydCgxMDYpCglwdXNoaW50IDEwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTQKCS8vIGFzc2VydCgxMDcpCglwdXNoaW50IDEwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTUKCS8vIGFzc2VydCgxMDgpCglwdXNoaW50IDEwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTYKCS8vIGFzc2VydCgxMDkpCglwdXNoaW50IDEwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTcKCS8vIGFzc2VydCgxMTApCglwdXNoaW50IDExMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTgKCS8vIGFzc2VydCgxMTEpCglwdXNoaW50IDExMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTkKCS8vIGFzc2VydCgxMTIpCglwdXNoaW50IDExMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjAKCS8vIGFzc2VydCgxMTMpCglwdXNoaW50IDExMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjEKCS8vIGFzc2VydCgxMTQpCglwdXNoaW50IDExNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjIKCS8vIGFzc2VydCgxMTUpCglwdXNoaW50IDExNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjMKCS8vIGFzc2VydCgxMTYpCglwdXNoaW50IDExNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjQKCS8vIGFzc2VydCgxMTcpCglwdXNoaW50IDExNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjUKCS8vIGFzc2VydCgxMTgpCglwdXNoaW50IDExOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjYKCS8vIGFzc2VydCgxMTkpCglwdXNoaW50IDExOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjcKCS8vIGFzc2VydCgxMjApCglwdXNoaW50IDEyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjgKCS8vIGFzc2VydCgxMjEpCglwdXNoaW50IDEyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjkKCS8vIGFzc2VydCgxMjIpCglwdXNoaW50IDEyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzAKCS8vIGFzc2VydCgxMjMpCglwdXNoaW50IDEyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzEKCS8vIGFzc2VydCgxMjQpCglwdXNoaW50IDEyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzIKCS8vIGFzc2VydCgxMjUpCglwdXNoaW50IDEyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzMKCS8vIGFzc2VydCgxMjYpCglwdXNoaW50IDEyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzQKCS8vIGFzc2VydCgxMjcpCglwdXNoaW50IDEyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzUKCS8vIGFzc2VydCgxMjgpCglwdXNoaW50IDEyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzYKCS8vIGFzc2VydCgxMjkpCglwdXNoaW50IDEyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzcKCS8vIGFzc2VydCgxMzApCglwdXNoaW50IDEzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzgKCS8vIGFzc2VydCgxMzEpCglwdXNoaW50IDEzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzkKCS8vIGFzc2VydCgxMzIpCglwdXNoaW50IDEzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDAKCS8vIGFzc2VydCgxMzMpCglwdXNoaW50IDEzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDEKCS8vIGFzc2VydCgxMzQpCglwdXNoaW50IDEzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDIKCS8vIGFzc2VydCgxMzUpCglwdXNoaW50IDEzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDMKCS8vIGFzc2VydCgxMzYpCglwdXNoaW50IDEzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDQKCS8vIGFzc2VydCgxMzcpCglwdXNoaW50IDEzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDUKCS8vIGFzc2VydCgxMzgpCglwdXNoaW50IDEzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDYKCS8vIGFzc2VydCgxMzkpCglwdXNoaW50IDEzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDcKCS8vIGFzc2VydCgxNDApCglwdXNoaW50IDE0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDgKCS8vIGFzc2VydCgxNDEpCglwdXNoaW50IDE0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDkKCS8vIGFzc2VydCgxNDIpCglwdXNoaW50IDE0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTAKCS8vIGFzc2VydCgxNDMpCglwdXNoaW50IDE0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTEKCS8vIGFzc2VydCgxNDQpCglwdXNoaW50IDE0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTIKCS8vIGFzc2VydCgxNDUpCglwdXNoaW50IDE0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTMKCS8vIGFzc2VydCgxNDYpCglwdXNoaW50IDE0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTQKCS8vIGFzc2VydCgxNDcpCglwdXNoaW50IDE0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTUKCS8vIGFzc2VydCgxNDgpCglwdXNoaW50IDE0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTYKCS8vIGFzc2VydCgxNDkpCglwdXNoaW50IDE0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTcKCS8vIGFzc2VydCgxNTApCglwdXNoaW50IDE1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTgKCS8vIGFzc2VydCgxNTEpCglwdXNoaW50IDE1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTkKCS8vIGFzc2VydCgxNTIpCglwdXNoaW50IDE1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjAKCS8vIGFzc2VydCgxNTMpCglwdXNoaW50IDE1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjEKCS8vIGFzc2VydCgxNTQpCglwdXNoaW50IDE1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjIKCS8vIGFzc2VydCgxNTUpCglwdXNoaW50IDE1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjMKCS8vIGFzc2VydCgxNTYpCglwdXNoaW50IDE1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjQKCS8vIGFzc2VydCgxNTcpCglwdXNoaW50IDE1NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjUKCS8vIGFzc2VydCgxNTgpCglwdXNoaW50IDE1OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjYKCS8vIGFzc2VydCgxNTkpCglwdXNoaW50IDE1OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjcKCS8vIGFzc2VydCgxNjApCglwdXNoaW50IDE2MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjgKCS8vIGFzc2VydCgxNjEpCglwdXNoaW50IDE2MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjkKCS8vIGFzc2VydCgxNjIpCglwdXNoaW50IDE2MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzAKCS8vIGFzc2VydCgxNjMpCglwdXNoaW50IDE2MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzEKCS8vIGFzc2VydCgxNjQpCglwdXNoaW50IDE2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzIKCS8vIGFzc2VydCgxNjUpCglwdXNoaW50IDE2NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzMKCS8vIGFzc2VydCgxNjYpCglwdXNoaW50IDE2NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzQKCS8vIGFzc2VydCgxNjcpCglwdXNoaW50IDE2NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzUKCS8vIGFzc2VydCgxNjgpCglwdXNoaW50IDE2OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzYKCS8vIGFzc2VydCgxNjkpCglwdXNoaW50IDE2OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzcKCS8vIGFzc2VydCgxNzApCglwdXNoaW50IDE3MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzgKCS8vIGFzc2VydCgxNzEpCglwdXNoaW50IDE3MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzkKCS8vIGFzc2VydCgxNzIpCglwdXNoaW50IDE3MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODAKCS8vIGFzc2VydCgxNzMpCglwdXNoaW50IDE3MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODEKCS8vIGFzc2VydCgxNzQpCglwdXNoaW50IDE3NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODIKCS8vIGFzc2VydCgxNzUpCglwdXNoaW50IDE3NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODMKCS8vIGFzc2VydCgxNzYpCglwdXNoaW50IDE3NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODQKCS8vIGFzc2VydCgxNzcpCglwdXNoaW50IDE3NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODUKCS8vIGFzc2VydCgxNzgpCglwdXNoaW50IDE3OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODYKCS8vIGFzc2VydCgxNzkpCglwdXNoaW50IDE3OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODcKCS8vIGFzc2VydCgxODApCglwdXNoaW50IDE4MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODgKCS8vIGFzc2VydCgxODEpCglwdXNoaW50IDE4MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODkKCS8vIGFzc2VydCgxODIpCglwdXNoaW50IDE4MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTAKCS8vIGFzc2VydCgxODMpCglwdXNoaW50IDE4MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTEKCS8vIGFzc2VydCgxODQpCglwdXNoaW50IDE4NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTIKCS8vIGFzc2VydCgxODUpCglwdXNoaW50IDE4NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTMKCS8vIGFzc2VydCgxODYpCglwdXNoaW50IDE4NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTQKCS8vIGFzc2VydCgxODcpCglwdXNoaW50IDE4NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTUKCS8vIGFzc2VydCgxODgpCglwdXNoaW50IDE4OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTYKCS8vIGFzc2VydCgxODkpCglwdXNoaW50IDE4OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTcKCS8vIGFzc2VydCgxOTApCglwdXNoaW50IDE5MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTgKCS8vIGFzc2VydCgxOTEpCglwdXNoaW50IDE5MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTkKCS8vIGFzc2VydCgxOTIpCglwdXNoaW50IDE5MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDAKCS8vIGFzc2VydCgxOTMpCglwdXNoaW50IDE5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDEKCS8vIGFzc2VydCgxOTQpCglwdXNoaW50IDE5NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDIKCS8vIGFzc2VydCgxOTUpCglwdXNoaW50IDE5NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDMKCS8vIGFzc2VydCgxOTYpCglwdXNoaW50IDE5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDQKCS8vIGFzc2VydCgxOTcpCglwdXNoaW50IDE5NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDUKCS8vIGFzc2VydCgxOTgpCglwdXNoaW50IDE5OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDYKCS8vIGFzc2VydCgxOTkpCglwdXNoaW50IDE5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDcKCS8vIGFzc2VydCgyMDApCglwdXNoaW50IDIwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDgKCS8vIGFzc2VydCgyMDEpCglwdXNoaW50IDIwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDkKCS8vIGFzc2VydCgyMDIpCglwdXNoaW50IDIwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTAKCS8vIGFzc2VydCgyMDMpCglwdXNoaW50IDIwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTEKCS8vIGFzc2VydCgyMDQpCglwdXNoaW50IDIwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTIKCS8vIGFzc2VydCgyMDUpCglwdXNoaW50IDIwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTMKCS8vIGFzc2VydCgyMDYpCglwdXNoaW50IDIwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTQKCS8vIGFzc2VydCgyMDcpCglwdXNoaW50IDIwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTUKCS8vIGFzc2VydCgyMDgpCglwdXNoaW50IDIwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTYKCS8vIGFzc2VydCgyMDkpCglwdXNoaW50IDIwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTcKCS8vIGFzc2VydCgyMTApCglwdXNoaW50IDIxMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTgKCS8vIGFzc2VydCgyMTEpCglwdXNoaW50IDIxMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTkKCS8vIGFzc2VydCgyMTIpCglwdXNoaW50IDIxMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjAKCS8vIGFzc2VydCgyMTMpCglwdXNoaW50IDIxMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjEKCS8vIGFzc2VydCgyMTQpCglwdXNoaW50IDIxNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjIKCS8vIGFzc2VydCgyMTUpCglwdXNoaW50IDIxNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjMKCS8vIGFzc2VydCgyMTYpCglwdXNoaW50IDIxNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjQKCS8vIGFzc2VydCgyMTcpCglwdXNoaW50IDIxNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjUKCS8vIGFzc2VydCgyMTgpCglwdXNoaW50IDIxOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjYKCS8vIGFzc2VydCgyMTkpCglwdXNoaW50IDIxOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjcKCS8vIGFzc2VydCgyMjApCglwdXNoaW50IDIyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjgKCS8vIGFzc2VydCgyMjEpCglwdXNoaW50IDIyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjkKCS8vIGFzc2VydCgyMjIpCglwdXNoaW50IDIyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzAKCS8vIGFzc2VydCgyMjMpCglwdXNoaW50IDIyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzEKCS8vIGFzc2VydCgyMjQpCglwdXNoaW50IDIyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzIKCS8vIGFzc2VydCgyMjUpCglwdXNoaW50IDIyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzMKCS8vIGFzc2VydCgyMjYpCglwdXNoaW50IDIyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzQKCS8vIGFzc2VydCgyMjcpCglwdXNoaW50IDIyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzUKCS8vIGFzc2VydCgyMjgpCglwdXNoaW50IDIyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzYKCS8vIGFzc2VydCgyMjkpCglwdXNoaW50IDIyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzcKCS8vIGFzc2VydCgyMzApCglwdXNoaW50IDIzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzgKCS8vIGFzc2VydCgyMzEpCglwdXNoaW50IDIzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzkKCS8vIGFzc2VydCgyMzIpCglwdXNoaW50IDIzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDAKCS8vIGFzc2VydCgyMzMpCglwdXNoaW50IDIzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDEKCS8vIGFzc2VydCgyMzQpCglwdXNoaW50IDIzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDIKCS8vIGFzc2VydCgyMzUpCglwdXNoaW50IDIzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDMKCS8vIGFzc2VydCgyMzYpCglwdXNoaW50IDIzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDQKCS8vIGFzc2VydCgyMzcpCglwdXNoaW50IDIzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDUKCS8vIGFzc2VydCgyMzgpCglwdXNoaW50IDIzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDYKCS8vIGFzc2VydCgyMzkpCglwdXNoaW50IDIzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDcKCS8vIGFzc2VydCgyNDApCglwdXNoaW50IDI0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDgKCS8vIGFzc2VydCgyNDEpCglwdXNoaW50IDI0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDkKCS8vIGFzc2VydCgyNDIpCglwdXNoaW50IDI0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTAKCS8vIGFzc2VydCgyNDMpCglwdXNoaW50IDI0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTEKCS8vIGFzc2VydCgyNDQpCglwdXNoaW50IDI0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTIKCS8vIGFzc2VydCgyNDUpCglwdXNoaW50IDI0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTMKCS8vIGFzc2VydCgyNDYpCglwdXNoaW50IDI0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTQKCS8vIGFzc2VydCgyNDcpCglwdXNoaW50IDI0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTUKCS8vIGFzc2VydCgyNDgpCglwdXNoaW50IDI0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTYKCS8vIGFzc2VydCgyNDkpCglwdXNoaW50IDI0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTcKCS8vIGFzc2VydCgyNTApCglwdXNoaW50IDI1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTgKCS8vIGFzc2VydCgyNTEpCglwdXNoaW50IDI1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTkKCS8vIGFzc2VydCgyNTIpCglwdXNoaW50IDI1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjAKCS8vIGFzc2VydCgyNTMpCglwdXNoaW50IDI1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjEKCS8vIGFzc2VydCgyNTQpCglwdXNoaW50IDI1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjIKCS8vIGFzc2VydCgyNTUpCglwdXNoaW50IDI1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjMKCS8vIGFzc2VydCgyNTYpCglwdXNoaW50IDI1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjYKCS8vIHJldHVybiBhICsgYjsKCXB1c2hpbnQgMjU4CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDE0ZTYxZGIgLy8gbWV0aG9kICJsYXJnZUludGNibG9jaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMSAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VJbnRjYmxvY2sKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZUludGNibG9jaygpOiB1aW50NjQKbGFyZ2VJbnRjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkKCS8vIGFzc2VydCgyKQoJcHVzaGludCAyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoMykKCXB1c2hpbnQgMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMQoJLy8gYXNzZXJ0KDQpCglwdXNoaW50IDQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTIKCS8vIGFzc2VydCg1KQoJcHVzaGludCA1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoNikKCWludGMgMSAvLyA2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoNykKCXB1c2hpbnQgNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNQoJLy8gYXNzZXJ0KDgpCglwdXNoaW50IDgKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTYKCS8vIGFzc2VydCg5KQoJcHVzaGludCA5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE3CgkvLyBhc3NlcnQoMTApCglwdXNoaW50IDEwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoMTEpCglwdXNoaW50IDExCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE5CgkvLyBhc3NlcnQoMTIpCglwdXNoaW50IDEyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIwCgkvLyBhc3NlcnQoMTMpCglwdXNoaW50IDEzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIxCgkvLyBhc3NlcnQoMTQpCglwdXNoaW50IDE0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoMTUpCglwdXNoaW50IDE1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIzCgkvLyBhc3NlcnQoMTYpCglwdXNoaW50IDE2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI0CgkvLyBhc3NlcnQoMTcpCglwdXNoaW50IDE3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI1CgkvLyBhc3NlcnQoMTgpCglwdXNoaW50IDE4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoMTkpCglwdXNoaW50IDE5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3CgkvLyBhc3NlcnQoMjApCglwdXNoaW50IDIwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4CgkvLyBhc3NlcnQoMjEpCglwdXNoaW50IDIxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5CgkvLyBhc3NlcnQoMjIpCglwdXNoaW50IDIyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwCgkvLyBhc3NlcnQoMjMpCglwdXNoaW50IDIzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoMjQpCglwdXNoaW50IDI0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoMjUpCglwdXNoaW50IDI1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzCgkvLyBhc3NlcnQoMjYpCglwdXNoaW50IDI2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoMjcpCglwdXNoaW50IDI3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1CgkvLyBhc3NlcnQoMjgpCglwdXNoaW50IDI4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoMjkpCglwdXNoaW50IDI5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoMzApCglwdXNoaW50IDMwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM4CgkvLyBhc3NlcnQoMzEpCglwdXNoaW50IDMxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM5CgkvLyBhc3NlcnQoMzIpCglwdXNoaW50IDMyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQwCgkvLyBhc3NlcnQoMzMpCglwdXNoaW50IDMzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQxCgkvLyBhc3NlcnQoMzQpCglwdXNoaW50IDM0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoMzUpCglwdXNoaW50IDM1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQzCgkvLyBhc3NlcnQoMzYpCglwdXNoaW50IDM2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ0CgkvLyBhc3NlcnQoMzcpCglwdXNoaW50IDM3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ1CgkvLyBhc3NlcnQoMzgpCglwdXNoaW50IDM4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoMzkpCglwdXNoaW50IDM5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQoNDApCglwdXNoaW50IDQwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ4CgkvLyBhc3NlcnQoNDEpCglwdXNoaW50IDQxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ5CgkvLyBhc3NlcnQoNDIpCglwdXNoaW50IDQyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoNDMpCglwdXNoaW50IDQzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoNDQpCglwdXNoaW50IDQ0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUyCgkvLyBhc3NlcnQoNDUpCglwdXNoaW50IDQ1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUzCgkvLyBhc3NlcnQoNDYpCglwdXNoaW50IDQ2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoNDcpCglwdXNoaW50IDQ3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU1CgkvLyBhc3NlcnQoNDgpCglwdXNoaW50IDQ4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU2CgkvLyBhc3NlcnQoNDkpCglwdXNoaW50IDQ5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU3CgkvLyBhc3NlcnQoNTApCglwdXNoaW50IDUwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoNTEpCglwdXNoaW50IDUxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU5CgkvLyBhc3NlcnQoNTIpCglwdXNoaW50IDUyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYwCgkvLyBhc3NlcnQoNTMpCglwdXNoaW50IDUzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYxCgkvLyBhc3NlcnQoNTQpCglwdXNoaW50IDU0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoNTUpCglwdXNoaW50IDU1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoNTYpCglwdXNoaW50IDU2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY0CgkvLyBhc3NlcnQoNTcpCglwdXNoaW50IDU3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY1CgkvLyBhc3NlcnQoNTgpCglwdXNoaW50IDU4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoNTkpCglwdXNoaW50IDU5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY3CgkvLyBhc3NlcnQoNjApCglwdXNoaW50IDYwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY4CgkvLyBhc3NlcnQoNjEpCglwdXNoaW50IDYxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY5CgkvLyBhc3NlcnQoNjIpCglwdXNoaW50IDYyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcwCgkvLyBhc3NlcnQoNjMpCglwdXNoaW50IDYzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcxCgkvLyBhc3NlcnQoNjQpCglwdXNoaW50IDY0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcyCgkvLyBhc3NlcnQoNjUpCglwdXNoaW50IDY1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjczCgkvLyBhc3NlcnQoNjYpCglwdXNoaW50IDY2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc0CgkvLyBhc3NlcnQoNjcpCglwdXNoaW50IDY3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc1CgkvLyBhc3NlcnQoNjgpCglwdXNoaW50IDY4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc2CgkvLyBhc3NlcnQoNjkpCglwdXNoaW50IDY5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc3CgkvLyBhc3NlcnQoNzApCglwdXNoaW50IDcwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc4CgkvLyBhc3NlcnQoNzEpCglwdXNoaW50IDcxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc5CgkvLyBhc3NlcnQoNzIpCglwdXNoaW50IDcyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgwCgkvLyBhc3NlcnQoNzMpCglwdXNoaW50IDczCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgxCgkvLyBhc3NlcnQoNzQpCglwdXNoaW50IDc0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgyCgkvLyBhc3NlcnQoNzUpCglwdXNoaW50IDc1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgzCgkvLyBhc3NlcnQoNzYpCglwdXNoaW50IDc2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg0CgkvLyBhc3NlcnQoNzcpCglwdXNoaW50IDc3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg1CgkvLyBhc3NlcnQoNzgpCglwdXNoaW50IDc4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg2CgkvLyBhc3NlcnQoNzkpCglwdXNoaW50IDc5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg3CgkvLyBhc3NlcnQoODApCglwdXNoaW50IDgwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoODEpCglwdXNoaW50IDgxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg5CgkvLyBhc3NlcnQoODIpCglwdXNoaW50IDgyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkwCgkvLyBhc3NlcnQoODMpCglwdXNoaW50IDgzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoODQpCglwdXNoaW50IDg0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkyCgkvLyBhc3NlcnQoODUpCglwdXNoaW50IDg1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkzCgkvLyBhc3NlcnQoODYpCglwdXNoaW50IDg2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoODcpCglwdXNoaW50IDg3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk1CgkvLyBhc3NlcnQoODgpCglwdXNoaW50IDg4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk2CgkvLyBhc3NlcnQoODkpCglwdXNoaW50IDg5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk3CgkvLyBhc3NlcnQoOTApCglwdXNoaW50IDkwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoOTEpCglwdXNoaW50IDkxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoOTIpCglwdXNoaW50IDkyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KDkzKQoJcHVzaGludCA5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDEKCS8vIGFzc2VydCg5NCkKCXB1c2hpbnQgOTQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoOTUpCglwdXNoaW50IDk1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMwoJLy8gYXNzZXJ0KDk2KQoJcHVzaGludCA5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDQKCS8vIGFzc2VydCg5NykKCXB1c2hpbnQgOTcKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTA1CgkvLyBhc3NlcnQoOTgpCglwdXNoaW50IDk4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwNgoJLy8gYXNzZXJ0KDk5KQoJcHVzaGludCA5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDcKCS8vIGFzc2VydCgxMDApCglwdXNoaW50IDEwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDgKCS8vIGFzc2VydCgxMDEpCglwdXNoaW50IDEwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDkKCS8vIGFzc2VydCgxMDIpCglwdXNoaW50IDEwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTAKCS8vIGFzc2VydCgxMDMpCglwdXNoaW50IDEwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTEKCS8vIGFzc2VydCgxMDQpCglwdXNoaW50IDEwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTIKCS8vIGFzc2VydCgxMDUpCglwdXNoaW50IDEwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTMKCS8vIGFzc2VydCgxMDYpCglwdXNoaW50IDEwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTQKCS8vIGFzc2VydCgxMDcpCglwdXNoaW50IDEwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTUKCS8vIGFzc2VydCgxMDgpCglwdXNoaW50IDEwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTYKCS8vIGFzc2VydCgxMDkpCglwdXNoaW50IDEwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTcKCS8vIGFzc2VydCgxMTApCglwdXNoaW50IDExMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTgKCS8vIGFzc2VydCgxMTEpCglwdXNoaW50IDExMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTkKCS8vIGFzc2VydCgxMTIpCglwdXNoaW50IDExMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjAKCS8vIGFzc2VydCgxMTMpCglwdXNoaW50IDExMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjEKCS8vIGFzc2VydCgxMTQpCglwdXNoaW50IDExNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjIKCS8vIGFzc2VydCgxMTUpCglwdXNoaW50IDExNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjMKCS8vIGFzc2VydCgxMTYpCglwdXNoaW50IDExNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjQKCS8vIGFzc2VydCgxMTcpCglwdXNoaW50IDExNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjUKCS8vIGFzc2VydCgxMTgpCglwdXNoaW50IDExOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjYKCS8vIGFzc2VydCgxMTkpCglwdXNoaW50IDExOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjcKCS8vIGFzc2VydCgxMjApCglwdXNoaW50IDEyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjgKCS8vIGFzc2VydCgxMjEpCglwdXNoaW50IDEyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjkKCS8vIGFzc2VydCgxMjIpCglwdXNoaW50IDEyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzAKCS8vIGFzc2VydCgxMjMpCglwdXNoaW50IDEyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzEKCS8vIGFzc2VydCgxMjQpCglwdXNoaW50IDEyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzIKCS8vIGFzc2VydCgxMjUpCglwdXNoaW50IDEyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzMKCS8vIGFzc2VydCgxMjYpCglwdXNoaW50IDEyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzQKCS8vIGFzc2VydCgxMjcpCglwdXNoaW50IDEyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzUKCS8vIGFzc2VydCgxMjgpCglwdXNoaW50IDEyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzYKCS8vIGFzc2VydCgxMjkpCglwdXNoaW50IDEyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzcKCS8vIGFzc2VydCgxMzApCglwdXNoaW50IDEzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzgKCS8vIGFzc2VydCgxMzEpCglwdXNoaW50IDEzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzkKCS8vIGFzc2VydCgxMzIpCglwdXNoaW50IDEzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDAKCS8vIGFzc2VydCgxMzMpCglwdXNoaW50IDEzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDEKCS8vIGFzc2VydCgxMzQpCglwdXNoaW50IDEzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDIKCS8vIGFzc2VydCgxMzUpCglwdXNoaW50IDEzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDMKCS8vIGFzc2VydCgxMzYpCglwdXNoaW50IDEzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDQKCS8vIGFzc2VydCgxMzcpCglwdXNoaW50IDEzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDUKCS8vIGFzc2VydCgxMzgpCglwdXNoaW50IDEzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDYKCS8vIGFzc2VydCgxMzkpCglwdXNoaW50IDEzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDcKCS8vIGFzc2VydCgxNDApCglwdXNoaW50IDE0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDgKCS8vIGFzc2VydCgxNDEpCglwdXNoaW50IDE0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDkKCS8vIGFzc2VydCgxNDIpCglwdXNoaW50IDE0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTAKCS8vIGFzc2VydCgxNDMpCglwdXNoaW50IDE0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTEKCS8vIGFzc2VydCgxNDQpCglwdXNoaW50IDE0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTIKCS8vIGFzc2VydCgxNDUpCglwdXNoaW50IDE0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTMKCS8vIGFzc2VydCgxNDYpCglwdXNoaW50IDE0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTQKCS8vIGFzc2VydCgxNDcpCglwdXNoaW50IDE0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTUKCS8vIGFzc2VydCgxNDgpCglwdXNoaW50IDE0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTYKCS8vIGFzc2VydCgxNDkpCglwdXNoaW50IDE0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTcKCS8vIGFzc2VydCgxNTApCglwdXNoaW50IDE1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTgKCS8vIGFzc2VydCgxNTEpCglwdXNoaW50IDE1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTkKCS8vIGFzc2VydCgxNTIpCglwdXNoaW50IDE1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjAKCS8vIGFzc2VydCgxNTMpCglwdXNoaW50IDE1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjEKCS8vIGFzc2VydCgxNTQpCglwdXNoaW50IDE1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjIKCS8vIGFzc2VydCgxNTUpCglwdXNoaW50IDE1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjMKCS8vIGFzc2VydCgxNTYpCglwdXNoaW50IDE1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjQKCS8vIGFzc2VydCgxNTcpCglwdXNoaW50IDE1NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjUKCS8vIGFzc2VydCgxNTgpCglwdXNoaW50IDE1OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjYKCS8vIGFzc2VydCgxNTkpCglwdXNoaW50IDE1OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjcKCS8vIGFzc2VydCgxNjApCglwdXNoaW50IDE2MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjgKCS8vIGFzc2VydCgxNjEpCglwdXNoaW50IDE2MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjkKCS8vIGFzc2VydCgxNjIpCglwdXNoaW50IDE2MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzAKCS8vIGFzc2VydCgxNjMpCglwdXNoaW50IDE2MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzEKCS8vIGFzc2VydCgxNjQpCglwdXNoaW50IDE2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzIKCS8vIGFzc2VydCgxNjUpCglwdXNoaW50IDE2NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzMKCS8vIGFzc2VydCgxNjYpCglwdXNoaW50IDE2NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzQKCS8vIGFzc2VydCgxNjcpCglwdXNoaW50IDE2NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzUKCS8vIGFzc2VydCgxNjgpCglwdXNoaW50IDE2OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzYKCS8vIGFzc2VydCgxNjkpCglwdXNoaW50IDE2OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzcKCS8vIGFzc2VydCgxNzApCglwdXNoaW50IDE3MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzgKCS8vIGFzc2VydCgxNzEpCglwdXNoaW50IDE3MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzkKCS8vIGFzc2VydCgxNzIpCglwdXNoaW50IDE3MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODAKCS8vIGFzc2VydCgxNzMpCglwdXNoaW50IDE3MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODEKCS8vIGFzc2VydCgxNzQpCglwdXNoaW50IDE3NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODIKCS8vIGFzc2VydCgxNzUpCglwdXNoaW50IDE3NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODMKCS8vIGFzc2VydCgxNzYpCglwdXNoaW50IDE3NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODQKCS8vIGFzc2VydCgxNzcpCglwdXNoaW50IDE3NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODUKCS8vIGFzc2VydCgxNzgpCglwdXNoaW50IDE3OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODYKCS8vIGFzc2VydCgxNzkpCglwdXNoaW50IDE3OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODcKCS8vIGFzc2VydCgxODApCglwdXNoaW50IDE4MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODgKCS8vIGFzc2VydCgxODEpCglwdXNoaW50IDE4MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODkKCS8vIGFzc2VydCgxODIpCglwdXNoaW50IDE4MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTAKCS8vIGFzc2VydCgxODMpCglwdXNoaW50IDE4MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTEKCS8vIGFzc2VydCgxODQpCglwdXNoaW50IDE4NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTIKCS8vIGFzc2VydCgxODUpCglwdXNoaW50IDE4NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTMKCS8vIGFzc2VydCgxODYpCglwdXNoaW50IDE4NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTQKCS8vIGFzc2VydCgxODcpCglwdXNoaW50IDE4NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTUKCS8vIGFzc2VydCgxODgpCglwdXNoaW50IDE4OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTYKCS8vIGFzc2VydCgxODkpCglwdXNoaW50IDE4OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTcKCS8vIGFzc2VydCgxOTApCglwdXNoaW50IDE5MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTgKCS8vIGFzc2VydCgxOTEpCglwdXNoaW50IDE5MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTkKCS8vIGFzc2VydCgxOTIpCglwdXNoaW50IDE5MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDAKCS8vIGFzc2VydCgxOTMpCglwdXNoaW50IDE5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDEKCS8vIGFzc2VydCgxOTQpCglwdXNoaW50IDE5NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDIKCS8vIGFzc2VydCgxOTUpCglwdXNoaW50IDE5NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDMKCS8vIGFzc2VydCgxOTYpCglwdXNoaW50IDE5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDQKCS8vIGFzc2VydCgxOTcpCglwdXNoaW50IDE5NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDUKCS8vIGFzc2VydCgxOTgpCglwdXNoaW50IDE5OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDYKCS8vIGFzc2VydCgxOTkpCglwdXNoaW50IDE5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDcKCS8vIGFzc2VydCgyMDApCglwdXNoaW50IDIwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDgKCS8vIGFzc2VydCgyMDEpCglwdXNoaW50IDIwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDkKCS8vIGFzc2VydCgyMDIpCglwdXNoaW50IDIwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTAKCS8vIGFzc2VydCgyMDMpCglwdXNoaW50IDIwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTEKCS8vIGFzc2VydCgyMDQpCglwdXNoaW50IDIwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTIKCS8vIGFzc2VydCgyMDUpCglwdXNoaW50IDIwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTMKCS8vIGFzc2VydCgyMDYpCglwdXNoaW50IDIwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTQKCS8vIGFzc2VydCgyMDcpCglwdXNoaW50IDIwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTUKCS8vIGFzc2VydCgyMDgpCglwdXNoaW50IDIwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTYKCS8vIGFzc2VydCgyMDkpCglwdXNoaW50IDIwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTcKCS8vIGFzc2VydCgyMTApCglwdXNoaW50IDIxMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTgKCS8vIGFzc2VydCgyMTEpCglwdXNoaW50IDIxMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTkKCS8vIGFzc2VydCgyMTIpCglwdXNoaW50IDIxMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjAKCS8vIGFzc2VydCgyMTMpCglwdXNoaW50IDIxMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjEKCS8vIGFzc2VydCgyMTQpCglwdXNoaW50IDIxNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjIKCS8vIGFzc2VydCgyMTUpCglwdXNoaW50IDIxNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjMKCS8vIGFzc2VydCgyMTYpCglwdXNoaW50IDIxNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjQKCS8vIGFzc2VydCgyMTcpCglwdXNoaW50IDIxNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjUKCS8vIGFzc2VydCgyMTgpCglwdXNoaW50IDIxOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjYKCS8vIGFzc2VydCgyMTkpCglwdXNoaW50IDIxOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjcKCS8vIGFzc2VydCgyMjApCglwdXNoaW50IDIyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjgKCS8vIGFzc2VydCgyMjEpCglwdXNoaW50IDIyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjkKCS8vIGFzc2VydCgyMjIpCglwdXNoaW50IDIyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzAKCS8vIGFzc2VydCgyMjMpCglwdXNoaW50IDIyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzEKCS8vIGFzc2VydCgyMjQpCglwdXNoaW50IDIyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzIKCS8vIGFzc2VydCgyMjUpCglwdXNoaW50IDIyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzMKCS8vIGFzc2VydCgyMjYpCglwdXNoaW50IDIyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzQKCS8vIGFzc2VydCgyMjcpCglwdXNoaW50IDIyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzUKCS8vIGFzc2VydCgyMjgpCglwdXNoaW50IDIyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzYKCS8vIGFzc2VydCgyMjkpCglwdXNoaW50IDIyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzcKCS8vIGFzc2VydCgyMzApCglwdXNoaW50IDIzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzgKCS8vIGFzc2VydCgyMzEpCglwdXNoaW50IDIzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzkKCS8vIGFzc2VydCgyMzIpCglwdXNoaW50IDIzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDAKCS8vIGFzc2VydCgyMzMpCglwdXNoaW50IDIzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDEKCS8vIGFzc2VydCgyMzQpCglwdXNoaW50IDIzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDIKCS8vIGFzc2VydCgyMzUpCglwdXNoaW50IDIzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDMKCS8vIGFzc2VydCgyMzYpCglwdXNoaW50IDIzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDQKCS8vIGFzc2VydCgyMzcpCglwdXNoaW50IDIzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDUKCS8vIGFzc2VydCgyMzgpCglwdXNoaW50IDIzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDYKCS8vIGFzc2VydCgyMzkpCglwdXNoaW50IDIzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDcKCS8vIGFzc2VydCgyNDApCglwdXNoaW50IDI0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDgKCS8vIGFzc2VydCgyNDEpCglwdXNoaW50IDI0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDkKCS8vIGFzc2VydCgyNDIpCglwdXNoaW50IDI0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTAKCS8vIGFzc2VydCgyNDMpCglwdXNoaW50IDI0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTEKCS8vIGFzc2VydCgyNDQpCglwdXNoaW50IDI0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTIKCS8vIGFzc2VydCgyNDUpCglwdXNoaW50IDI0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTMKCS8vIGFzc2VydCgyNDYpCglwdXNoaW50IDI0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTQKCS8vIGFzc2VydCgyNDcpCglwdXNoaW50IDI0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTUKCS8vIGFzc2VydCgyNDgpCglwdXNoaW50IDI0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTYKCS8vIGFzc2VydCgyNDkpCglwdXNoaW50IDI0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTcKCS8vIGFzc2VydCgyNTApCglwdXNoaW50IDI1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTgKCS8vIGFzc2VydCgyNTEpCglwdXNoaW50IDI1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTkKCS8vIGFzc2VydCgyNTIpCglwdXNoaW50IDI1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjAKCS8vIGFzc2VydCgyNTMpCglwdXNoaW50IDI1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjEKCS8vIGFzc2VydCgyNTQpCglwdXNoaW50IDI1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjIKCS8vIGFzc2VydCgyNTUpCglwdXNoaW50IDI1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjMKCS8vIGFzc2VydCgyNTYpCglwdXNoaW50IDI1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjYKCS8vIHJldHVybiBhICsgYjsKCXB1c2hpbnQgMjU4CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDE0ZTYxZGIgLy8gbWV0aG9kICJsYXJnZUludGNibG9jaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/IntcblockTest.arc56_draft.json b/tests/contracts/artifacts/IntcblockTest.arc56_draft.json index 28dfdd3e5..1c56c0f6c 100644 --- a/tests/contracts/artifacts/IntcblockTest.arc56_draft.json +++ b/tests/contracts/artifacts/IntcblockTest.arc56_draft.json @@ -4305,7 +4305,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMSAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VJbnRjYmxvY2sKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZUludGNibG9jaygpOiB1aW50NjQKbGFyZ2VJbnRjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkKCS8vIGFzc2VydCgyKQoJcHVzaGludCAyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoMykKCXB1c2hpbnQgMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMQoJLy8gYXNzZXJ0KDQpCglwdXNoaW50IDQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTIKCS8vIGFzc2VydCg1KQoJcHVzaGludCA1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoNikKCWludGMgMSAvLyA2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoNykKCXB1c2hpbnQgNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNQoJLy8gYXNzZXJ0KDgpCglwdXNoaW50IDgKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTYKCS8vIGFzc2VydCg5KQoJcHVzaGludCA5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE3CgkvLyBhc3NlcnQoMTApCglwdXNoaW50IDEwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoMTEpCglwdXNoaW50IDExCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE5CgkvLyBhc3NlcnQoMTIpCglwdXNoaW50IDEyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIwCgkvLyBhc3NlcnQoMTMpCglwdXNoaW50IDEzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIxCgkvLyBhc3NlcnQoMTQpCglwdXNoaW50IDE0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoMTUpCglwdXNoaW50IDE1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIzCgkvLyBhc3NlcnQoMTYpCglwdXNoaW50IDE2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI0CgkvLyBhc3NlcnQoMTcpCglwdXNoaW50IDE3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI1CgkvLyBhc3NlcnQoMTgpCglwdXNoaW50IDE4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoMTkpCglwdXNoaW50IDE5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3CgkvLyBhc3NlcnQoMjApCglwdXNoaW50IDIwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4CgkvLyBhc3NlcnQoMjEpCglwdXNoaW50IDIxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5CgkvLyBhc3NlcnQoMjIpCglwdXNoaW50IDIyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwCgkvLyBhc3NlcnQoMjMpCglwdXNoaW50IDIzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoMjQpCglwdXNoaW50IDI0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoMjUpCglwdXNoaW50IDI1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzCgkvLyBhc3NlcnQoMjYpCglwdXNoaW50IDI2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoMjcpCglwdXNoaW50IDI3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1CgkvLyBhc3NlcnQoMjgpCglwdXNoaW50IDI4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoMjkpCglwdXNoaW50IDI5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoMzApCglwdXNoaW50IDMwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM4CgkvLyBhc3NlcnQoMzEpCglwdXNoaW50IDMxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM5CgkvLyBhc3NlcnQoMzIpCglwdXNoaW50IDMyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQwCgkvLyBhc3NlcnQoMzMpCglwdXNoaW50IDMzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQxCgkvLyBhc3NlcnQoMzQpCglwdXNoaW50IDM0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoMzUpCglwdXNoaW50IDM1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQzCgkvLyBhc3NlcnQoMzYpCglwdXNoaW50IDM2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ0CgkvLyBhc3NlcnQoMzcpCglwdXNoaW50IDM3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ1CgkvLyBhc3NlcnQoMzgpCglwdXNoaW50IDM4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoMzkpCglwdXNoaW50IDM5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQoNDApCglwdXNoaW50IDQwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ4CgkvLyBhc3NlcnQoNDEpCglwdXNoaW50IDQxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ5CgkvLyBhc3NlcnQoNDIpCglwdXNoaW50IDQyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoNDMpCglwdXNoaW50IDQzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoNDQpCglwdXNoaW50IDQ0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUyCgkvLyBhc3NlcnQoNDUpCglwdXNoaW50IDQ1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUzCgkvLyBhc3NlcnQoNDYpCglwdXNoaW50IDQ2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoNDcpCglwdXNoaW50IDQ3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU1CgkvLyBhc3NlcnQoNDgpCglwdXNoaW50IDQ4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU2CgkvLyBhc3NlcnQoNDkpCglwdXNoaW50IDQ5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU3CgkvLyBhc3NlcnQoNTApCglwdXNoaW50IDUwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoNTEpCglwdXNoaW50IDUxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU5CgkvLyBhc3NlcnQoNTIpCglwdXNoaW50IDUyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYwCgkvLyBhc3NlcnQoNTMpCglwdXNoaW50IDUzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYxCgkvLyBhc3NlcnQoNTQpCglwdXNoaW50IDU0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoNTUpCglwdXNoaW50IDU1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoNTYpCglwdXNoaW50IDU2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY0CgkvLyBhc3NlcnQoNTcpCglwdXNoaW50IDU3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY1CgkvLyBhc3NlcnQoNTgpCglwdXNoaW50IDU4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoNTkpCglwdXNoaW50IDU5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY3CgkvLyBhc3NlcnQoNjApCglwdXNoaW50IDYwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY4CgkvLyBhc3NlcnQoNjEpCglwdXNoaW50IDYxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY5CgkvLyBhc3NlcnQoNjIpCglwdXNoaW50IDYyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcwCgkvLyBhc3NlcnQoNjMpCglwdXNoaW50IDYzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcxCgkvLyBhc3NlcnQoNjQpCglwdXNoaW50IDY0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcyCgkvLyBhc3NlcnQoNjUpCglwdXNoaW50IDY1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjczCgkvLyBhc3NlcnQoNjYpCglwdXNoaW50IDY2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc0CgkvLyBhc3NlcnQoNjcpCglwdXNoaW50IDY3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc1CgkvLyBhc3NlcnQoNjgpCglwdXNoaW50IDY4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc2CgkvLyBhc3NlcnQoNjkpCglwdXNoaW50IDY5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc3CgkvLyBhc3NlcnQoNzApCglwdXNoaW50IDcwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc4CgkvLyBhc3NlcnQoNzEpCglwdXNoaW50IDcxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc5CgkvLyBhc3NlcnQoNzIpCglwdXNoaW50IDcyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgwCgkvLyBhc3NlcnQoNzMpCglwdXNoaW50IDczCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgxCgkvLyBhc3NlcnQoNzQpCglwdXNoaW50IDc0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgyCgkvLyBhc3NlcnQoNzUpCglwdXNoaW50IDc1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgzCgkvLyBhc3NlcnQoNzYpCglwdXNoaW50IDc2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg0CgkvLyBhc3NlcnQoNzcpCglwdXNoaW50IDc3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg1CgkvLyBhc3NlcnQoNzgpCglwdXNoaW50IDc4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg2CgkvLyBhc3NlcnQoNzkpCglwdXNoaW50IDc5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg3CgkvLyBhc3NlcnQoODApCglwdXNoaW50IDgwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoODEpCglwdXNoaW50IDgxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg5CgkvLyBhc3NlcnQoODIpCglwdXNoaW50IDgyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkwCgkvLyBhc3NlcnQoODMpCglwdXNoaW50IDgzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoODQpCglwdXNoaW50IDg0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkyCgkvLyBhc3NlcnQoODUpCglwdXNoaW50IDg1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkzCgkvLyBhc3NlcnQoODYpCglwdXNoaW50IDg2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoODcpCglwdXNoaW50IDg3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk1CgkvLyBhc3NlcnQoODgpCglwdXNoaW50IDg4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk2CgkvLyBhc3NlcnQoODkpCglwdXNoaW50IDg5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk3CgkvLyBhc3NlcnQoOTApCglwdXNoaW50IDkwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoOTEpCglwdXNoaW50IDkxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoOTIpCglwdXNoaW50IDkyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KDkzKQoJcHVzaGludCA5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDEKCS8vIGFzc2VydCg5NCkKCXB1c2hpbnQgOTQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoOTUpCglwdXNoaW50IDk1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMwoJLy8gYXNzZXJ0KDk2KQoJcHVzaGludCA5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDQKCS8vIGFzc2VydCg5NykKCXB1c2hpbnQgOTcKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTA1CgkvLyBhc3NlcnQoOTgpCglwdXNoaW50IDk4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwNgoJLy8gYXNzZXJ0KDk5KQoJcHVzaGludCA5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDcKCS8vIGFzc2VydCgxMDApCglwdXNoaW50IDEwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDgKCS8vIGFzc2VydCgxMDEpCglwdXNoaW50IDEwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDkKCS8vIGFzc2VydCgxMDIpCglwdXNoaW50IDEwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTAKCS8vIGFzc2VydCgxMDMpCglwdXNoaW50IDEwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTEKCS8vIGFzc2VydCgxMDQpCglwdXNoaW50IDEwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTIKCS8vIGFzc2VydCgxMDUpCglwdXNoaW50IDEwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTMKCS8vIGFzc2VydCgxMDYpCglwdXNoaW50IDEwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTQKCS8vIGFzc2VydCgxMDcpCglwdXNoaW50IDEwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTUKCS8vIGFzc2VydCgxMDgpCglwdXNoaW50IDEwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTYKCS8vIGFzc2VydCgxMDkpCglwdXNoaW50IDEwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTcKCS8vIGFzc2VydCgxMTApCglwdXNoaW50IDExMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTgKCS8vIGFzc2VydCgxMTEpCglwdXNoaW50IDExMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTkKCS8vIGFzc2VydCgxMTIpCglwdXNoaW50IDExMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjAKCS8vIGFzc2VydCgxMTMpCglwdXNoaW50IDExMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjEKCS8vIGFzc2VydCgxMTQpCglwdXNoaW50IDExNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjIKCS8vIGFzc2VydCgxMTUpCglwdXNoaW50IDExNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjMKCS8vIGFzc2VydCgxMTYpCglwdXNoaW50IDExNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjQKCS8vIGFzc2VydCgxMTcpCglwdXNoaW50IDExNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjUKCS8vIGFzc2VydCgxMTgpCglwdXNoaW50IDExOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjYKCS8vIGFzc2VydCgxMTkpCglwdXNoaW50IDExOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjcKCS8vIGFzc2VydCgxMjApCglwdXNoaW50IDEyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjgKCS8vIGFzc2VydCgxMjEpCglwdXNoaW50IDEyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjkKCS8vIGFzc2VydCgxMjIpCglwdXNoaW50IDEyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzAKCS8vIGFzc2VydCgxMjMpCglwdXNoaW50IDEyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzEKCS8vIGFzc2VydCgxMjQpCglwdXNoaW50IDEyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzIKCS8vIGFzc2VydCgxMjUpCglwdXNoaW50IDEyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzMKCS8vIGFzc2VydCgxMjYpCglwdXNoaW50IDEyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzQKCS8vIGFzc2VydCgxMjcpCglwdXNoaW50IDEyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzUKCS8vIGFzc2VydCgxMjgpCglwdXNoaW50IDEyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzYKCS8vIGFzc2VydCgxMjkpCglwdXNoaW50IDEyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzcKCS8vIGFzc2VydCgxMzApCglwdXNoaW50IDEzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzgKCS8vIGFzc2VydCgxMzEpCglwdXNoaW50IDEzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzkKCS8vIGFzc2VydCgxMzIpCglwdXNoaW50IDEzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDAKCS8vIGFzc2VydCgxMzMpCglwdXNoaW50IDEzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDEKCS8vIGFzc2VydCgxMzQpCglwdXNoaW50IDEzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDIKCS8vIGFzc2VydCgxMzUpCglwdXNoaW50IDEzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDMKCS8vIGFzc2VydCgxMzYpCglwdXNoaW50IDEzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDQKCS8vIGFzc2VydCgxMzcpCglwdXNoaW50IDEzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDUKCS8vIGFzc2VydCgxMzgpCglwdXNoaW50IDEzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDYKCS8vIGFzc2VydCgxMzkpCglwdXNoaW50IDEzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDcKCS8vIGFzc2VydCgxNDApCglwdXNoaW50IDE0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDgKCS8vIGFzc2VydCgxNDEpCglwdXNoaW50IDE0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDkKCS8vIGFzc2VydCgxNDIpCglwdXNoaW50IDE0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTAKCS8vIGFzc2VydCgxNDMpCglwdXNoaW50IDE0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTEKCS8vIGFzc2VydCgxNDQpCglwdXNoaW50IDE0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTIKCS8vIGFzc2VydCgxNDUpCglwdXNoaW50IDE0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTMKCS8vIGFzc2VydCgxNDYpCglwdXNoaW50IDE0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTQKCS8vIGFzc2VydCgxNDcpCglwdXNoaW50IDE0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTUKCS8vIGFzc2VydCgxNDgpCglwdXNoaW50IDE0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTYKCS8vIGFzc2VydCgxNDkpCglwdXNoaW50IDE0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTcKCS8vIGFzc2VydCgxNTApCglwdXNoaW50IDE1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTgKCS8vIGFzc2VydCgxNTEpCglwdXNoaW50IDE1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTkKCS8vIGFzc2VydCgxNTIpCglwdXNoaW50IDE1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjAKCS8vIGFzc2VydCgxNTMpCglwdXNoaW50IDE1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjEKCS8vIGFzc2VydCgxNTQpCglwdXNoaW50IDE1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjIKCS8vIGFzc2VydCgxNTUpCglwdXNoaW50IDE1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjMKCS8vIGFzc2VydCgxNTYpCglwdXNoaW50IDE1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjQKCS8vIGFzc2VydCgxNTcpCglwdXNoaW50IDE1NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjUKCS8vIGFzc2VydCgxNTgpCglwdXNoaW50IDE1OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjYKCS8vIGFzc2VydCgxNTkpCglwdXNoaW50IDE1OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjcKCS8vIGFzc2VydCgxNjApCglwdXNoaW50IDE2MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjgKCS8vIGFzc2VydCgxNjEpCglwdXNoaW50IDE2MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjkKCS8vIGFzc2VydCgxNjIpCglwdXNoaW50IDE2MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzAKCS8vIGFzc2VydCgxNjMpCglwdXNoaW50IDE2MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzEKCS8vIGFzc2VydCgxNjQpCglwdXNoaW50IDE2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzIKCS8vIGFzc2VydCgxNjUpCglwdXNoaW50IDE2NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzMKCS8vIGFzc2VydCgxNjYpCglwdXNoaW50IDE2NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzQKCS8vIGFzc2VydCgxNjcpCglwdXNoaW50IDE2NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzUKCS8vIGFzc2VydCgxNjgpCglwdXNoaW50IDE2OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzYKCS8vIGFzc2VydCgxNjkpCglwdXNoaW50IDE2OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzcKCS8vIGFzc2VydCgxNzApCglwdXNoaW50IDE3MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzgKCS8vIGFzc2VydCgxNzEpCglwdXNoaW50IDE3MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzkKCS8vIGFzc2VydCgxNzIpCglwdXNoaW50IDE3MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODAKCS8vIGFzc2VydCgxNzMpCglwdXNoaW50IDE3MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODEKCS8vIGFzc2VydCgxNzQpCglwdXNoaW50IDE3NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODIKCS8vIGFzc2VydCgxNzUpCglwdXNoaW50IDE3NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODMKCS8vIGFzc2VydCgxNzYpCglwdXNoaW50IDE3NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODQKCS8vIGFzc2VydCgxNzcpCglwdXNoaW50IDE3NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODUKCS8vIGFzc2VydCgxNzgpCglwdXNoaW50IDE3OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODYKCS8vIGFzc2VydCgxNzkpCglwdXNoaW50IDE3OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODcKCS8vIGFzc2VydCgxODApCglwdXNoaW50IDE4MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODgKCS8vIGFzc2VydCgxODEpCglwdXNoaW50IDE4MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODkKCS8vIGFzc2VydCgxODIpCglwdXNoaW50IDE4MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTAKCS8vIGFzc2VydCgxODMpCglwdXNoaW50IDE4MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTEKCS8vIGFzc2VydCgxODQpCglwdXNoaW50IDE4NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTIKCS8vIGFzc2VydCgxODUpCglwdXNoaW50IDE4NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTMKCS8vIGFzc2VydCgxODYpCglwdXNoaW50IDE4NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTQKCS8vIGFzc2VydCgxODcpCglwdXNoaW50IDE4NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTUKCS8vIGFzc2VydCgxODgpCglwdXNoaW50IDE4OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTYKCS8vIGFzc2VydCgxODkpCglwdXNoaW50IDE4OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTcKCS8vIGFzc2VydCgxOTApCglwdXNoaW50IDE5MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTgKCS8vIGFzc2VydCgxOTEpCglwdXNoaW50IDE5MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTkKCS8vIGFzc2VydCgxOTIpCglwdXNoaW50IDE5MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDAKCS8vIGFzc2VydCgxOTMpCglwdXNoaW50IDE5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDEKCS8vIGFzc2VydCgxOTQpCglwdXNoaW50IDE5NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDIKCS8vIGFzc2VydCgxOTUpCglwdXNoaW50IDE5NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDMKCS8vIGFzc2VydCgxOTYpCglwdXNoaW50IDE5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDQKCS8vIGFzc2VydCgxOTcpCglwdXNoaW50IDE5NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDUKCS8vIGFzc2VydCgxOTgpCglwdXNoaW50IDE5OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDYKCS8vIGFzc2VydCgxOTkpCglwdXNoaW50IDE5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDcKCS8vIGFzc2VydCgyMDApCglwdXNoaW50IDIwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDgKCS8vIGFzc2VydCgyMDEpCglwdXNoaW50IDIwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDkKCS8vIGFzc2VydCgyMDIpCglwdXNoaW50IDIwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTAKCS8vIGFzc2VydCgyMDMpCglwdXNoaW50IDIwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTEKCS8vIGFzc2VydCgyMDQpCglwdXNoaW50IDIwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTIKCS8vIGFzc2VydCgyMDUpCglwdXNoaW50IDIwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTMKCS8vIGFzc2VydCgyMDYpCglwdXNoaW50IDIwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTQKCS8vIGFzc2VydCgyMDcpCglwdXNoaW50IDIwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTUKCS8vIGFzc2VydCgyMDgpCglwdXNoaW50IDIwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTYKCS8vIGFzc2VydCgyMDkpCglwdXNoaW50IDIwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTcKCS8vIGFzc2VydCgyMTApCglwdXNoaW50IDIxMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTgKCS8vIGFzc2VydCgyMTEpCglwdXNoaW50IDIxMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTkKCS8vIGFzc2VydCgyMTIpCglwdXNoaW50IDIxMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjAKCS8vIGFzc2VydCgyMTMpCglwdXNoaW50IDIxMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjEKCS8vIGFzc2VydCgyMTQpCglwdXNoaW50IDIxNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjIKCS8vIGFzc2VydCgyMTUpCglwdXNoaW50IDIxNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjMKCS8vIGFzc2VydCgyMTYpCglwdXNoaW50IDIxNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjQKCS8vIGFzc2VydCgyMTcpCglwdXNoaW50IDIxNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjUKCS8vIGFzc2VydCgyMTgpCglwdXNoaW50IDIxOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjYKCS8vIGFzc2VydCgyMTkpCglwdXNoaW50IDIxOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjcKCS8vIGFzc2VydCgyMjApCglwdXNoaW50IDIyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjgKCS8vIGFzc2VydCgyMjEpCglwdXNoaW50IDIyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjkKCS8vIGFzc2VydCgyMjIpCglwdXNoaW50IDIyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzAKCS8vIGFzc2VydCgyMjMpCglwdXNoaW50IDIyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzEKCS8vIGFzc2VydCgyMjQpCglwdXNoaW50IDIyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzIKCS8vIGFzc2VydCgyMjUpCglwdXNoaW50IDIyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzMKCS8vIGFzc2VydCgyMjYpCglwdXNoaW50IDIyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzQKCS8vIGFzc2VydCgyMjcpCglwdXNoaW50IDIyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzUKCS8vIGFzc2VydCgyMjgpCglwdXNoaW50IDIyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzYKCS8vIGFzc2VydCgyMjkpCglwdXNoaW50IDIyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzcKCS8vIGFzc2VydCgyMzApCglwdXNoaW50IDIzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzgKCS8vIGFzc2VydCgyMzEpCglwdXNoaW50IDIzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzkKCS8vIGFzc2VydCgyMzIpCglwdXNoaW50IDIzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDAKCS8vIGFzc2VydCgyMzMpCglwdXNoaW50IDIzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDEKCS8vIGFzc2VydCgyMzQpCglwdXNoaW50IDIzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDIKCS8vIGFzc2VydCgyMzUpCglwdXNoaW50IDIzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDMKCS8vIGFzc2VydCgyMzYpCglwdXNoaW50IDIzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDQKCS8vIGFzc2VydCgyMzcpCglwdXNoaW50IDIzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDUKCS8vIGFzc2VydCgyMzgpCglwdXNoaW50IDIzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDYKCS8vIGFzc2VydCgyMzkpCglwdXNoaW50IDIzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDcKCS8vIGFzc2VydCgyNDApCglwdXNoaW50IDI0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDgKCS8vIGFzc2VydCgyNDEpCglwdXNoaW50IDI0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDkKCS8vIGFzc2VydCgyNDIpCglwdXNoaW50IDI0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTAKCS8vIGFzc2VydCgyNDMpCglwdXNoaW50IDI0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTEKCS8vIGFzc2VydCgyNDQpCglwdXNoaW50IDI0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTIKCS8vIGFzc2VydCgyNDUpCglwdXNoaW50IDI0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTMKCS8vIGFzc2VydCgyNDYpCglwdXNoaW50IDI0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTQKCS8vIGFzc2VydCgyNDcpCglwdXNoaW50IDI0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTUKCS8vIGFzc2VydCgyNDgpCglwdXNoaW50IDI0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTYKCS8vIGFzc2VydCgyNDkpCglwdXNoaW50IDI0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTcKCS8vIGFzc2VydCgyNTApCglwdXNoaW50IDI1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTgKCS8vIGFzc2VydCgyNTEpCglwdXNoaW50IDI1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTkKCS8vIGFzc2VydCgyNTIpCglwdXNoaW50IDI1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjAKCS8vIGFzc2VydCgyNTMpCglwdXNoaW50IDI1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjEKCS8vIGFzc2VydCgyNTQpCglwdXNoaW50IDI1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjIKCS8vIGFzc2VydCgyNTUpCglwdXNoaW50IDI1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjMKCS8vIGFzc2VydCgyNTYpCglwdXNoaW50IDI1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjYKCS8vIHJldHVybiBhICsgYjsKCXB1c2hpbnQgMjU4CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDE0ZTYxZGIgLy8gbWV0aG9kICJsYXJnZUludGNibG9jaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCmludGMgMSAvLyA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jazoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGxhcmdlSW50Y2Jsb2NrKCl1aW50NjQKCWNhbGxzdWIgbGFyZ2VJbnRjYmxvY2sKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsYXJnZUludGNibG9jaygpOiB1aW50NjQKbGFyZ2VJbnRjYmxvY2s6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkKCS8vIGFzc2VydCgyKQoJcHVzaGludCAyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwCgkvLyBhc3NlcnQoMykKCXB1c2hpbnQgMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMQoJLy8gYXNzZXJ0KDQpCglwdXNoaW50IDQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTIKCS8vIGFzc2VydCg1KQoJcHVzaGludCA1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEzCgkvLyBhc3NlcnQoNikKCWludGMgMSAvLyA2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE0CgkvLyBhc3NlcnQoNykKCXB1c2hpbnQgNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNQoJLy8gYXNzZXJ0KDgpCglwdXNoaW50IDgKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTYKCS8vIGFzc2VydCg5KQoJcHVzaGludCA5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE3CgkvLyBhc3NlcnQoMTApCglwdXNoaW50IDEwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE4CgkvLyBhc3NlcnQoMTEpCglwdXNoaW50IDExCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjE5CgkvLyBhc3NlcnQoMTIpCglwdXNoaW50IDEyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIwCgkvLyBhc3NlcnQoMTMpCglwdXNoaW50IDEzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIxCgkvLyBhc3NlcnQoMTQpCglwdXNoaW50IDE0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIyCgkvLyBhc3NlcnQoMTUpCglwdXNoaW50IDE1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjIzCgkvLyBhc3NlcnQoMTYpCglwdXNoaW50IDE2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI0CgkvLyBhc3NlcnQoMTcpCglwdXNoaW50IDE3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI1CgkvLyBhc3NlcnQoMTgpCglwdXNoaW50IDE4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI2CgkvLyBhc3NlcnQoMTkpCglwdXNoaW50IDE5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI3CgkvLyBhc3NlcnQoMjApCglwdXNoaW50IDIwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI4CgkvLyBhc3NlcnQoMjEpCglwdXNoaW50IDIxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjI5CgkvLyBhc3NlcnQoMjIpCglwdXNoaW50IDIyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMwCgkvLyBhc3NlcnQoMjMpCglwdXNoaW50IDIzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMxCgkvLyBhc3NlcnQoMjQpCglwdXNoaW50IDI0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMyCgkvLyBhc3NlcnQoMjUpCglwdXNoaW50IDI1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjMzCgkvLyBhc3NlcnQoMjYpCglwdXNoaW50IDI2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM0CgkvLyBhc3NlcnQoMjcpCglwdXNoaW50IDI3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM1CgkvLyBhc3NlcnQoMjgpCglwdXNoaW50IDI4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM2CgkvLyBhc3NlcnQoMjkpCglwdXNoaW50IDI5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM3CgkvLyBhc3NlcnQoMzApCglwdXNoaW50IDMwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM4CgkvLyBhc3NlcnQoMzEpCglwdXNoaW50IDMxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjM5CgkvLyBhc3NlcnQoMzIpCglwdXNoaW50IDMyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQwCgkvLyBhc3NlcnQoMzMpCglwdXNoaW50IDMzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQxCgkvLyBhc3NlcnQoMzQpCglwdXNoaW50IDM0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQyCgkvLyBhc3NlcnQoMzUpCglwdXNoaW50IDM1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQzCgkvLyBhc3NlcnQoMzYpCglwdXNoaW50IDM2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ0CgkvLyBhc3NlcnQoMzcpCglwdXNoaW50IDM3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ1CgkvLyBhc3NlcnQoMzgpCglwdXNoaW50IDM4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ2CgkvLyBhc3NlcnQoMzkpCglwdXNoaW50IDM5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ3CgkvLyBhc3NlcnQoNDApCglwdXNoaW50IDQwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ4CgkvLyBhc3NlcnQoNDEpCglwdXNoaW50IDQxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjQ5CgkvLyBhc3NlcnQoNDIpCglwdXNoaW50IDQyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUwCgkvLyBhc3NlcnQoNDMpCglwdXNoaW50IDQzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUxCgkvLyBhc3NlcnQoNDQpCglwdXNoaW50IDQ0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUyCgkvLyBhc3NlcnQoNDUpCglwdXNoaW50IDQ1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjUzCgkvLyBhc3NlcnQoNDYpCglwdXNoaW50IDQ2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU0CgkvLyBhc3NlcnQoNDcpCglwdXNoaW50IDQ3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU1CgkvLyBhc3NlcnQoNDgpCglwdXNoaW50IDQ4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU2CgkvLyBhc3NlcnQoNDkpCglwdXNoaW50IDQ5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU3CgkvLyBhc3NlcnQoNTApCglwdXNoaW50IDUwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU4CgkvLyBhc3NlcnQoNTEpCglwdXNoaW50IDUxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjU5CgkvLyBhc3NlcnQoNTIpCglwdXNoaW50IDUyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYwCgkvLyBhc3NlcnQoNTMpCglwdXNoaW50IDUzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYxCgkvLyBhc3NlcnQoNTQpCglwdXNoaW50IDU0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYyCgkvLyBhc3NlcnQoNTUpCglwdXNoaW50IDU1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjYzCgkvLyBhc3NlcnQoNTYpCglwdXNoaW50IDU2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY0CgkvLyBhc3NlcnQoNTcpCglwdXNoaW50IDU3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY1CgkvLyBhc3NlcnQoNTgpCglwdXNoaW50IDU4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY2CgkvLyBhc3NlcnQoNTkpCglwdXNoaW50IDU5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY3CgkvLyBhc3NlcnQoNjApCglwdXNoaW50IDYwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY4CgkvLyBhc3NlcnQoNjEpCglwdXNoaW50IDYxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjY5CgkvLyBhc3NlcnQoNjIpCglwdXNoaW50IDYyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcwCgkvLyBhc3NlcnQoNjMpCglwdXNoaW50IDYzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcxCgkvLyBhc3NlcnQoNjQpCglwdXNoaW50IDY0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjcyCgkvLyBhc3NlcnQoNjUpCglwdXNoaW50IDY1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjczCgkvLyBhc3NlcnQoNjYpCglwdXNoaW50IDY2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc0CgkvLyBhc3NlcnQoNjcpCglwdXNoaW50IDY3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc1CgkvLyBhc3NlcnQoNjgpCglwdXNoaW50IDY4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc2CgkvLyBhc3NlcnQoNjkpCglwdXNoaW50IDY5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc3CgkvLyBhc3NlcnQoNzApCglwdXNoaW50IDcwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc4CgkvLyBhc3NlcnQoNzEpCglwdXNoaW50IDcxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjc5CgkvLyBhc3NlcnQoNzIpCglwdXNoaW50IDcyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgwCgkvLyBhc3NlcnQoNzMpCglwdXNoaW50IDczCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgxCgkvLyBhc3NlcnQoNzQpCglwdXNoaW50IDc0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgyCgkvLyBhc3NlcnQoNzUpCglwdXNoaW50IDc1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjgzCgkvLyBhc3NlcnQoNzYpCglwdXNoaW50IDc2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg0CgkvLyBhc3NlcnQoNzcpCglwdXNoaW50IDc3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg1CgkvLyBhc3NlcnQoNzgpCglwdXNoaW50IDc4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg2CgkvLyBhc3NlcnQoNzkpCglwdXNoaW50IDc5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg3CgkvLyBhc3NlcnQoODApCglwdXNoaW50IDgwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg4CgkvLyBhc3NlcnQoODEpCglwdXNoaW50IDgxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjg5CgkvLyBhc3NlcnQoODIpCglwdXNoaW50IDgyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkwCgkvLyBhc3NlcnQoODMpCglwdXNoaW50IDgzCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkxCgkvLyBhc3NlcnQoODQpCglwdXNoaW50IDg0Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkyCgkvLyBhc3NlcnQoODUpCglwdXNoaW50IDg1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjkzCgkvLyBhc3NlcnQoODYpCglwdXNoaW50IDg2Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk0CgkvLyBhc3NlcnQoODcpCglwdXNoaW50IDg3Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk1CgkvLyBhc3NlcnQoODgpCglwdXNoaW50IDg4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk2CgkvLyBhc3NlcnQoODkpCglwdXNoaW50IDg5Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk3CgkvLyBhc3NlcnQoOTApCglwdXNoaW50IDkwCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk4CgkvLyBhc3NlcnQoOTEpCglwdXNoaW50IDkxCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjk5CgkvLyBhc3NlcnQoOTIpCglwdXNoaW50IDkyCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMAoJLy8gYXNzZXJ0KDkzKQoJcHVzaGludCA5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDEKCS8vIGFzc2VydCg5NCkKCXB1c2hpbnQgOTQKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTAyCgkvLyBhc3NlcnQoOTUpCglwdXNoaW50IDk1Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwMwoJLy8gYXNzZXJ0KDk2KQoJcHVzaGludCA5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDQKCS8vIGFzc2VydCg5NykKCXB1c2hpbnQgOTcKCWFzc2VydAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9jYmxvY2tzLmFsZ28udHM6MTA1CgkvLyBhc3NlcnQoOTgpCglwdXNoaW50IDk4Cglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvY2Jsb2Nrcy5hbGdvLnRzOjEwNgoJLy8gYXNzZXJ0KDk5KQoJcHVzaGludCA5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDcKCS8vIGFzc2VydCgxMDApCglwdXNoaW50IDEwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDgKCS8vIGFzc2VydCgxMDEpCglwdXNoaW50IDEwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMDkKCS8vIGFzc2VydCgxMDIpCglwdXNoaW50IDEwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTAKCS8vIGFzc2VydCgxMDMpCglwdXNoaW50IDEwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTEKCS8vIGFzc2VydCgxMDQpCglwdXNoaW50IDEwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTIKCS8vIGFzc2VydCgxMDUpCglwdXNoaW50IDEwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTMKCS8vIGFzc2VydCgxMDYpCglwdXNoaW50IDEwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTQKCS8vIGFzc2VydCgxMDcpCglwdXNoaW50IDEwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTUKCS8vIGFzc2VydCgxMDgpCglwdXNoaW50IDEwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTYKCS8vIGFzc2VydCgxMDkpCglwdXNoaW50IDEwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTcKCS8vIGFzc2VydCgxMTApCglwdXNoaW50IDExMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTgKCS8vIGFzc2VydCgxMTEpCglwdXNoaW50IDExMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMTkKCS8vIGFzc2VydCgxMTIpCglwdXNoaW50IDExMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjAKCS8vIGFzc2VydCgxMTMpCglwdXNoaW50IDExMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjEKCS8vIGFzc2VydCgxMTQpCglwdXNoaW50IDExNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjIKCS8vIGFzc2VydCgxMTUpCglwdXNoaW50IDExNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjMKCS8vIGFzc2VydCgxMTYpCglwdXNoaW50IDExNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjQKCS8vIGFzc2VydCgxMTcpCglwdXNoaW50IDExNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjUKCS8vIGFzc2VydCgxMTgpCglwdXNoaW50IDExOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjYKCS8vIGFzc2VydCgxMTkpCglwdXNoaW50IDExOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjcKCS8vIGFzc2VydCgxMjApCglwdXNoaW50IDEyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjgKCS8vIGFzc2VydCgxMjEpCglwdXNoaW50IDEyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMjkKCS8vIGFzc2VydCgxMjIpCglwdXNoaW50IDEyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzAKCS8vIGFzc2VydCgxMjMpCglwdXNoaW50IDEyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzEKCS8vIGFzc2VydCgxMjQpCglwdXNoaW50IDEyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzIKCS8vIGFzc2VydCgxMjUpCglwdXNoaW50IDEyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzMKCS8vIGFzc2VydCgxMjYpCglwdXNoaW50IDEyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzQKCS8vIGFzc2VydCgxMjcpCglwdXNoaW50IDEyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzUKCS8vIGFzc2VydCgxMjgpCglwdXNoaW50IDEyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzYKCS8vIGFzc2VydCgxMjkpCglwdXNoaW50IDEyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzcKCS8vIGFzc2VydCgxMzApCglwdXNoaW50IDEzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzgKCS8vIGFzc2VydCgxMzEpCglwdXNoaW50IDEzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxMzkKCS8vIGFzc2VydCgxMzIpCglwdXNoaW50IDEzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDAKCS8vIGFzc2VydCgxMzMpCglwdXNoaW50IDEzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDEKCS8vIGFzc2VydCgxMzQpCglwdXNoaW50IDEzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDIKCS8vIGFzc2VydCgxMzUpCglwdXNoaW50IDEzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDMKCS8vIGFzc2VydCgxMzYpCglwdXNoaW50IDEzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDQKCS8vIGFzc2VydCgxMzcpCglwdXNoaW50IDEzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDUKCS8vIGFzc2VydCgxMzgpCglwdXNoaW50IDEzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDYKCS8vIGFzc2VydCgxMzkpCglwdXNoaW50IDEzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDcKCS8vIGFzc2VydCgxNDApCglwdXNoaW50IDE0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDgKCS8vIGFzc2VydCgxNDEpCglwdXNoaW50IDE0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNDkKCS8vIGFzc2VydCgxNDIpCglwdXNoaW50IDE0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTAKCS8vIGFzc2VydCgxNDMpCglwdXNoaW50IDE0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTEKCS8vIGFzc2VydCgxNDQpCglwdXNoaW50IDE0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTIKCS8vIGFzc2VydCgxNDUpCglwdXNoaW50IDE0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTMKCS8vIGFzc2VydCgxNDYpCglwdXNoaW50IDE0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTQKCS8vIGFzc2VydCgxNDcpCglwdXNoaW50IDE0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTUKCS8vIGFzc2VydCgxNDgpCglwdXNoaW50IDE0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTYKCS8vIGFzc2VydCgxNDkpCglwdXNoaW50IDE0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTcKCS8vIGFzc2VydCgxNTApCglwdXNoaW50IDE1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTgKCS8vIGFzc2VydCgxNTEpCglwdXNoaW50IDE1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNTkKCS8vIGFzc2VydCgxNTIpCglwdXNoaW50IDE1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjAKCS8vIGFzc2VydCgxNTMpCglwdXNoaW50IDE1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjEKCS8vIGFzc2VydCgxNTQpCglwdXNoaW50IDE1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjIKCS8vIGFzc2VydCgxNTUpCglwdXNoaW50IDE1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjMKCS8vIGFzc2VydCgxNTYpCglwdXNoaW50IDE1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjQKCS8vIGFzc2VydCgxNTcpCglwdXNoaW50IDE1NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjUKCS8vIGFzc2VydCgxNTgpCglwdXNoaW50IDE1OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjYKCS8vIGFzc2VydCgxNTkpCglwdXNoaW50IDE1OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjcKCS8vIGFzc2VydCgxNjApCglwdXNoaW50IDE2MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjgKCS8vIGFzc2VydCgxNjEpCglwdXNoaW50IDE2MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNjkKCS8vIGFzc2VydCgxNjIpCglwdXNoaW50IDE2MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzAKCS8vIGFzc2VydCgxNjMpCglwdXNoaW50IDE2MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzEKCS8vIGFzc2VydCgxNjQpCglwdXNoaW50IDE2NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzIKCS8vIGFzc2VydCgxNjUpCglwdXNoaW50IDE2NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzMKCS8vIGFzc2VydCgxNjYpCglwdXNoaW50IDE2NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzQKCS8vIGFzc2VydCgxNjcpCglwdXNoaW50IDE2NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzUKCS8vIGFzc2VydCgxNjgpCglwdXNoaW50IDE2OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzYKCS8vIGFzc2VydCgxNjkpCglwdXNoaW50IDE2OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzcKCS8vIGFzc2VydCgxNzApCglwdXNoaW50IDE3MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzgKCS8vIGFzc2VydCgxNzEpCglwdXNoaW50IDE3MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxNzkKCS8vIGFzc2VydCgxNzIpCglwdXNoaW50IDE3MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODAKCS8vIGFzc2VydCgxNzMpCglwdXNoaW50IDE3MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODEKCS8vIGFzc2VydCgxNzQpCglwdXNoaW50IDE3NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODIKCS8vIGFzc2VydCgxNzUpCglwdXNoaW50IDE3NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODMKCS8vIGFzc2VydCgxNzYpCglwdXNoaW50IDE3NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODQKCS8vIGFzc2VydCgxNzcpCglwdXNoaW50IDE3NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODUKCS8vIGFzc2VydCgxNzgpCglwdXNoaW50IDE3OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODYKCS8vIGFzc2VydCgxNzkpCglwdXNoaW50IDE3OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODcKCS8vIGFzc2VydCgxODApCglwdXNoaW50IDE4MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODgKCS8vIGFzc2VydCgxODEpCglwdXNoaW50IDE4MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxODkKCS8vIGFzc2VydCgxODIpCglwdXNoaW50IDE4MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTAKCS8vIGFzc2VydCgxODMpCglwdXNoaW50IDE4MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTEKCS8vIGFzc2VydCgxODQpCglwdXNoaW50IDE4NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTIKCS8vIGFzc2VydCgxODUpCglwdXNoaW50IDE4NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTMKCS8vIGFzc2VydCgxODYpCglwdXNoaW50IDE4NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTQKCS8vIGFzc2VydCgxODcpCglwdXNoaW50IDE4NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTUKCS8vIGFzc2VydCgxODgpCglwdXNoaW50IDE4OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTYKCS8vIGFzc2VydCgxODkpCglwdXNoaW50IDE4OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTcKCS8vIGFzc2VydCgxOTApCglwdXNoaW50IDE5MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTgKCS8vIGFzc2VydCgxOTEpCglwdXNoaW50IDE5MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoxOTkKCS8vIGFzc2VydCgxOTIpCglwdXNoaW50IDE5MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDAKCS8vIGFzc2VydCgxOTMpCglwdXNoaW50IDE5MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDEKCS8vIGFzc2VydCgxOTQpCglwdXNoaW50IDE5NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDIKCS8vIGFzc2VydCgxOTUpCglwdXNoaW50IDE5NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDMKCS8vIGFzc2VydCgxOTYpCglwdXNoaW50IDE5NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDQKCS8vIGFzc2VydCgxOTcpCglwdXNoaW50IDE5NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDUKCS8vIGFzc2VydCgxOTgpCglwdXNoaW50IDE5OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDYKCS8vIGFzc2VydCgxOTkpCglwdXNoaW50IDE5OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDcKCS8vIGFzc2VydCgyMDApCglwdXNoaW50IDIwMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDgKCS8vIGFzc2VydCgyMDEpCglwdXNoaW50IDIwMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMDkKCS8vIGFzc2VydCgyMDIpCglwdXNoaW50IDIwMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTAKCS8vIGFzc2VydCgyMDMpCglwdXNoaW50IDIwMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTEKCS8vIGFzc2VydCgyMDQpCglwdXNoaW50IDIwNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTIKCS8vIGFzc2VydCgyMDUpCglwdXNoaW50IDIwNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTMKCS8vIGFzc2VydCgyMDYpCglwdXNoaW50IDIwNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTQKCS8vIGFzc2VydCgyMDcpCglwdXNoaW50IDIwNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTUKCS8vIGFzc2VydCgyMDgpCglwdXNoaW50IDIwOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTYKCS8vIGFzc2VydCgyMDkpCglwdXNoaW50IDIwOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTcKCS8vIGFzc2VydCgyMTApCglwdXNoaW50IDIxMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTgKCS8vIGFzc2VydCgyMTEpCglwdXNoaW50IDIxMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMTkKCS8vIGFzc2VydCgyMTIpCglwdXNoaW50IDIxMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjAKCS8vIGFzc2VydCgyMTMpCglwdXNoaW50IDIxMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjEKCS8vIGFzc2VydCgyMTQpCglwdXNoaW50IDIxNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjIKCS8vIGFzc2VydCgyMTUpCglwdXNoaW50IDIxNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjMKCS8vIGFzc2VydCgyMTYpCglwdXNoaW50IDIxNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjQKCS8vIGFzc2VydCgyMTcpCglwdXNoaW50IDIxNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjUKCS8vIGFzc2VydCgyMTgpCglwdXNoaW50IDIxOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjYKCS8vIGFzc2VydCgyMTkpCglwdXNoaW50IDIxOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjcKCS8vIGFzc2VydCgyMjApCglwdXNoaW50IDIyMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjgKCS8vIGFzc2VydCgyMjEpCglwdXNoaW50IDIyMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMjkKCS8vIGFzc2VydCgyMjIpCglwdXNoaW50IDIyMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzAKCS8vIGFzc2VydCgyMjMpCglwdXNoaW50IDIyMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzEKCS8vIGFzc2VydCgyMjQpCglwdXNoaW50IDIyNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzIKCS8vIGFzc2VydCgyMjUpCglwdXNoaW50IDIyNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzMKCS8vIGFzc2VydCgyMjYpCglwdXNoaW50IDIyNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzQKCS8vIGFzc2VydCgyMjcpCglwdXNoaW50IDIyNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzUKCS8vIGFzc2VydCgyMjgpCglwdXNoaW50IDIyOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzYKCS8vIGFzc2VydCgyMjkpCglwdXNoaW50IDIyOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzcKCS8vIGFzc2VydCgyMzApCglwdXNoaW50IDIzMAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzgKCS8vIGFzc2VydCgyMzEpCglwdXNoaW50IDIzMQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyMzkKCS8vIGFzc2VydCgyMzIpCglwdXNoaW50IDIzMgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDAKCS8vIGFzc2VydCgyMzMpCglwdXNoaW50IDIzMwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDEKCS8vIGFzc2VydCgyMzQpCglwdXNoaW50IDIzNAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDIKCS8vIGFzc2VydCgyMzUpCglwdXNoaW50IDIzNQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDMKCS8vIGFzc2VydCgyMzYpCglwdXNoaW50IDIzNgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDQKCS8vIGFzc2VydCgyMzcpCglwdXNoaW50IDIzNwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDUKCS8vIGFzc2VydCgyMzgpCglwdXNoaW50IDIzOAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDYKCS8vIGFzc2VydCgyMzkpCglwdXNoaW50IDIzOQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDcKCS8vIGFzc2VydCgyNDApCglwdXNoaW50IDI0MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDgKCS8vIGFzc2VydCgyNDEpCglwdXNoaW50IDI0MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNDkKCS8vIGFzc2VydCgyNDIpCglwdXNoaW50IDI0MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTAKCS8vIGFzc2VydCgyNDMpCglwdXNoaW50IDI0MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTEKCS8vIGFzc2VydCgyNDQpCglwdXNoaW50IDI0NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTIKCS8vIGFzc2VydCgyNDUpCglwdXNoaW50IDI0NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTMKCS8vIGFzc2VydCgyNDYpCglwdXNoaW50IDI0NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTQKCS8vIGFzc2VydCgyNDcpCglwdXNoaW50IDI0NwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTUKCS8vIGFzc2VydCgyNDgpCglwdXNoaW50IDI0OAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTYKCS8vIGFzc2VydCgyNDkpCglwdXNoaW50IDI0OQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTcKCS8vIGFzc2VydCgyNTApCglwdXNoaW50IDI1MAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTgKCS8vIGFzc2VydCgyNTEpCglwdXNoaW50IDI1MQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNTkKCS8vIGFzc2VydCgyNTIpCglwdXNoaW50IDI1MgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjAKCS8vIGFzc2VydCgyNTMpCglwdXNoaW50IDI1MwoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjEKCS8vIGFzc2VydCgyNTQpCglwdXNoaW50IDI1NAoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjIKCS8vIGFzc2VydCgyNTUpCglwdXNoaW50IDI1NQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjMKCS8vIGFzc2VydCgyNTYpCglwdXNoaW50IDI1NgoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2NibG9ja3MuYWxnby50czoyNjYKCS8vIHJldHVybiBhICsgYjsKCXB1c2hpbnQgMjU4CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ZDE0ZTYxZGIgLy8gbWV0aG9kICJsYXJnZUludGNibG9jaygpdWludDY0IgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9sYXJnZUludGNibG9jawoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ItxnsTest.approval.teal b/tests/contracts/artifacts/ItxnsTest.approval.teal index 40ea1362a..afb597fbb 100644 --- a/tests/contracts/artifacts/ItxnsTest.approval.teal +++ b/tests/contracts/artifacts/ItxnsTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 6 3 2 bytecblock 0x6161616161616161616161616161616161616161616161616161616161616161 0x151f7c75 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ItxnsTest.arc32.json b/tests/contracts/artifacts/ItxnsTest.arc32.json index 1f5a84e8b..51899c1a8 100644 --- a/tests/contracts/artifacts/ItxnsTest.arc32.json +++ b/tests/contracts/artifacts/ItxnsTest.arc32.json @@ -84,7 +84,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAzIDIKYnl0ZWNibG9jayAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGF5bWVudCgpdm9pZAoqYWJpX3JvdXRlX3BheW1lbnQ6CgkvLyBleGVjdXRlIHBheW1lbnQoKXZvaWQKCWNhbGxzdWIgcGF5bWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGF5bWVudCgpOiB2b2lkCnBheW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICBhbW91bnQ6IDEwMCwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHJla2V5VG86IGdsb2JhbHMuemVyb0FkZHJlc3MsCgkvLyAgICAgICBub3RlOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3CgkvLyBhbW91bnQ6IDEwMAoJcHVzaGludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENyZWF0aW9uKCl1aW50NjQKKmFiaV9yb3V0ZV9hc3NldENyZWF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFzc2V0Q3JlYXRpb24oKXVpbnQ2NAoJY2FsbHN1YiBhc3NldENyZWF0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRDcmVhdGlvbigpOiBBc3NldElECmFzc2V0Q3JlYXRpb246Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxNwoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ3VuaXQnLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMCwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWV0YWRhdGFIYXNoOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglwdXNoYnl0ZXMgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTkKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JwoJcHVzaGJ5dGVzIDB4NzU2ZTY5NzQgLy8gInVuaXQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyMAoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIxCgkvLyBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TWFuYWdlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIzCgkvLyBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRGcmVlemUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyNAoJLy8gY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRDbGF3YmFjawoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI1CgkvLyBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI2CgkvLyBjb25maWdBc3NldFVSTDogJ3VybCcKCXB1c2hieXRlcyAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhY2NvdW50czogW3RoaXMuYXBwLmFkZHJlc3NdCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBY2NvdW50cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM0CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnYXJnMScsICdhcmcyJ10KCXB1c2hieXRlcyAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDYxNzI2NzMyIC8vICJhcmcyIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNQoJLy8gYXBwbGljYXRpb25JRDogdGhpcy5hcHAKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM2CgkvLyBhcHBsaWNhdGlvbnM6IFt0aGlzLmFwcF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzcKCS8vIGFwcHJvdmFsUHJvZ3JhbTogJ2FwcHJvdmFsJwoJcHVzaGJ5dGVzIDB4NjE3MDcwNzI2Zjc2NjE2YyAvLyAiYXBwcm92YWwiCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhc3NldHM6IFtBc3NldElELnplcm9JbmRleF0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM5CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogJ2NsZWFyJwoJcHVzaGJ5dGVzIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJcHVzaGJ5dGVzIDB4NmU2Zjc0NjUgLy8gIm5vdGUiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2V0Q29uZmlnKCl2b2lkCiphYmlfcm91dGVfYXNzZXRDb25maWc6CgkvLyBleGVjdXRlIGFzc2V0Q29uZmlnKCl2b2lkCgljYWxsc3ViIGFzc2V0Q29uZmlnCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldENvbmZpZygpOiB2b2lkCmFzc2V0Q29uZmlnOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDkKCS8vIHNlbmRBc3NldENvbmZpZyh7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNSAvLyBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNCAvLyBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGE2NmQ1NTljIC8vIG1ldGhvZCAibWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3OQoJLy8gbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAwIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODUKCS8vIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlYyAwIC8vICAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFNlbGVjdGlvblBLCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODYKCS8vIHN0YXRlUHJvb2ZQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NwoJLy8gdm90ZUZpcnN0OiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OAoJLy8gdm90ZUtleURpbHV0aW9uOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OQoJLy8gdm90ZUxhc3Q6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTAKCS8vIHZvdGVQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJLy8gZXhlY3V0ZSBvZmZsaW5lS2V5UmVnaXN0cmF0aW9uKCl2b2lkCgljYWxsc3ViIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKTogdm9pZApvZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTUKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50YyA0IC8vICBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGlubmVyR2VuZXJpYygpdm9pZAoqYWJpX3JvdXRlX2lubmVyR2VuZXJpYzoKCS8vIGV4ZWN1dGUgaW5uZXJHZW5lcmljKCl2b2lkCgljYWxsc3ViIGlubmVyR2VuZXJpYwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5uZXJHZW5lcmljKCk6IHZvaWQKaW5uZXJHZW5lcmljOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTkKCS8vIHNlbmRNZXRob2RDYWxsPFtJbm5lclR4bjxJbm5lckFzc2V0Q3JlYXRpb24+XSwgdm9pZD4oewoJLy8gICAgICAgbmFtZTogJ2ZvbycsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHgwOTA5MjRlOCAvLyBtZXRob2QgImZvbyh0eG4pdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTAxCgkvLyBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2EyZWNiMWMgLy8gbWV0aG9kICJwYXltZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY5YjM4YWQgLy8gbWV0aG9kICJhc3NldENyZWF0aW9uKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2OTBjZThiNiAvLyBtZXRob2QgImFwcENhbGwoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZjMxMDUzNCAvLyBtZXRob2QgImFzc2V0Q29uZmlnKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjgzNGJlZTggLy8gbWV0aG9kICJhc3NldEZyZWV6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDFmNDQxOGI3IC8vIG1ldGhvZCAiYXNzZXRUcmFuc2Zlcigpdm9pZCIKCXB1c2hieXRlcyAweDcwYWRmYTIzIC8vIG1ldGhvZCAibWV0aG9kQ2FsbCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTZlYzQ2ZmMgLy8gbWV0aG9kICJvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHgxMTcyMzAxYSAvLyBtZXRob2QgIm9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHg3YTMzODk3ZCAvLyBtZXRob2QgImlubmVyR2VuZXJpYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGF5bWVudCAqYWJpX3JvdXRlX2Fzc2V0Q3JlYXRpb24gKmFiaV9yb3V0ZV9hcHBDYWxsICphYmlfcm91dGVfYXNzZXRDb25maWcgKmFiaV9yb3V0ZV9hc3NldEZyZWV6ZSAqYWJpX3JvdXRlX2Fzc2V0VHJhbnNmZXIgKmFiaV9yb3V0ZV9tZXRob2RDYWxsICphYmlfcm91dGVfb25saW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfb2ZmbGluZUtleVJlZ2lzdHJhdGlvbiAqYWJpX3JvdXRlX2lubmVyR2VuZXJpYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAzIDIKYnl0ZWNibG9jayAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGF5bWVudCgpdm9pZAoqYWJpX3JvdXRlX3BheW1lbnQ6CgkvLyBleGVjdXRlIHBheW1lbnQoKXZvaWQKCWNhbGxzdWIgcGF5bWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGF5bWVudCgpOiB2b2lkCnBheW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICBhbW91bnQ6IDEwMCwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHJla2V5VG86IGdsb2JhbHMuemVyb0FkZHJlc3MsCgkvLyAgICAgICBub3RlOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3CgkvLyBhbW91bnQ6IDEwMAoJcHVzaGludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENyZWF0aW9uKCl1aW50NjQKKmFiaV9yb3V0ZV9hc3NldENyZWF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFzc2V0Q3JlYXRpb24oKXVpbnQ2NAoJY2FsbHN1YiBhc3NldENyZWF0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRDcmVhdGlvbigpOiBBc3NldElECmFzc2V0Q3JlYXRpb246Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxNwoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ3VuaXQnLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMCwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWV0YWRhdGFIYXNoOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglwdXNoYnl0ZXMgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTkKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JwoJcHVzaGJ5dGVzIDB4NzU2ZTY5NzQgLy8gInVuaXQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyMAoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIxCgkvLyBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TWFuYWdlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIzCgkvLyBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRGcmVlemUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyNAoJLy8gY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRDbGF3YmFjawoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI1CgkvLyBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI2CgkvLyBjb25maWdBc3NldFVSTDogJ3VybCcKCXB1c2hieXRlcyAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhY2NvdW50czogW3RoaXMuYXBwLmFkZHJlc3NdCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBY2NvdW50cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM0CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnYXJnMScsICdhcmcyJ10KCXB1c2hieXRlcyAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDYxNzI2NzMyIC8vICJhcmcyIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNQoJLy8gYXBwbGljYXRpb25JRDogdGhpcy5hcHAKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM2CgkvLyBhcHBsaWNhdGlvbnM6IFt0aGlzLmFwcF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzcKCS8vIGFwcHJvdmFsUHJvZ3JhbTogJ2FwcHJvdmFsJwoJcHVzaGJ5dGVzIDB4NjE3MDcwNzI2Zjc2NjE2YyAvLyAiYXBwcm92YWwiCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhc3NldHM6IFtBc3NldElELnplcm9JbmRleF0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM5CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogJ2NsZWFyJwoJcHVzaGJ5dGVzIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJcHVzaGJ5dGVzIDB4NmU2Zjc0NjUgLy8gIm5vdGUiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2V0Q29uZmlnKCl2b2lkCiphYmlfcm91dGVfYXNzZXRDb25maWc6CgkvLyBleGVjdXRlIGFzc2V0Q29uZmlnKCl2b2lkCgljYWxsc3ViIGFzc2V0Q29uZmlnCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldENvbmZpZygpOiB2b2lkCmFzc2V0Q29uZmlnOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDkKCS8vIHNlbmRBc3NldENvbmZpZyh7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNSAvLyBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNCAvLyBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGE2NmQ1NTljIC8vIG1ldGhvZCAibWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3OQoJLy8gbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAwIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODUKCS8vIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlYyAwIC8vICAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFNlbGVjdGlvblBLCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODYKCS8vIHN0YXRlUHJvb2ZQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NwoJLy8gdm90ZUZpcnN0OiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OAoJLy8gdm90ZUtleURpbHV0aW9uOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OQoJLy8gdm90ZUxhc3Q6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTAKCS8vIHZvdGVQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJLy8gZXhlY3V0ZSBvZmZsaW5lS2V5UmVnaXN0cmF0aW9uKCl2b2lkCgljYWxsc3ViIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKTogdm9pZApvZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTUKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50YyA0IC8vICBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGlubmVyR2VuZXJpYygpdm9pZAoqYWJpX3JvdXRlX2lubmVyR2VuZXJpYzoKCS8vIGV4ZWN1dGUgaW5uZXJHZW5lcmljKCl2b2lkCgljYWxsc3ViIGlubmVyR2VuZXJpYwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5uZXJHZW5lcmljKCk6IHZvaWQKaW5uZXJHZW5lcmljOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTkKCS8vIHNlbmRNZXRob2RDYWxsPFtJbm5lclR4bjxJbm5lckFzc2V0Q3JlYXRpb24+XSwgdm9pZD4oewoJLy8gICAgICAgbmFtZTogJ2ZvbycsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHgwOTA5MjRlOCAvLyBtZXRob2QgImZvbyh0eG4pdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTAxCgkvLyBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2EyZWNiMWMgLy8gbWV0aG9kICJwYXltZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY5YjM4YWQgLy8gbWV0aG9kICJhc3NldENyZWF0aW9uKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2OTBjZThiNiAvLyBtZXRob2QgImFwcENhbGwoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZjMxMDUzNCAvLyBtZXRob2QgImFzc2V0Q29uZmlnKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjgzNGJlZTggLy8gbWV0aG9kICJhc3NldEZyZWV6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDFmNDQxOGI3IC8vIG1ldGhvZCAiYXNzZXRUcmFuc2Zlcigpdm9pZCIKCXB1c2hieXRlcyAweDcwYWRmYTIzIC8vIG1ldGhvZCAibWV0aG9kQ2FsbCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTZlYzQ2ZmMgLy8gbWV0aG9kICJvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHgxMTcyMzAxYSAvLyBtZXRob2QgIm9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHg3YTMzODk3ZCAvLyBtZXRob2QgImlubmVyR2VuZXJpYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGF5bWVudCAqYWJpX3JvdXRlX2Fzc2V0Q3JlYXRpb24gKmFiaV9yb3V0ZV9hcHBDYWxsICphYmlfcm91dGVfYXNzZXRDb25maWcgKmFiaV9yb3V0ZV9hc3NldEZyZWV6ZSAqYWJpX3JvdXRlX2Fzc2V0VHJhbnNmZXIgKmFiaV9yb3V0ZV9tZXRob2RDYWxsICphYmlfcm91dGVfb25saW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfb2ZmbGluZUtleVJlZ2lzdHJhdGlvbiAqYWJpX3JvdXRlX2lubmVyR2VuZXJpYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/ItxnsTest.arc56_draft.json b/tests/contracts/artifacts/ItxnsTest.arc56_draft.json index 60311bb18..40b9ad1f5 100644 --- a/tests/contracts/artifacts/ItxnsTest.arc56_draft.json +++ b/tests/contracts/artifacts/ItxnsTest.arc56_draft.json @@ -2440,7 +2440,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAzIDIKYnl0ZWNibG9jayAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGF5bWVudCgpdm9pZAoqYWJpX3JvdXRlX3BheW1lbnQ6CgkvLyBleGVjdXRlIHBheW1lbnQoKXZvaWQKCWNhbGxzdWIgcGF5bWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGF5bWVudCgpOiB2b2lkCnBheW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICBhbW91bnQ6IDEwMCwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHJla2V5VG86IGdsb2JhbHMuemVyb0FkZHJlc3MsCgkvLyAgICAgICBub3RlOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3CgkvLyBhbW91bnQ6IDEwMAoJcHVzaGludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENyZWF0aW9uKCl1aW50NjQKKmFiaV9yb3V0ZV9hc3NldENyZWF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFzc2V0Q3JlYXRpb24oKXVpbnQ2NAoJY2FsbHN1YiBhc3NldENyZWF0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRDcmVhdGlvbigpOiBBc3NldElECmFzc2V0Q3JlYXRpb246Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxNwoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ3VuaXQnLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMCwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWV0YWRhdGFIYXNoOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglwdXNoYnl0ZXMgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTkKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JwoJcHVzaGJ5dGVzIDB4NzU2ZTY5NzQgLy8gInVuaXQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyMAoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIxCgkvLyBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TWFuYWdlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIzCgkvLyBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRGcmVlemUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyNAoJLy8gY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRDbGF3YmFjawoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI1CgkvLyBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI2CgkvLyBjb25maWdBc3NldFVSTDogJ3VybCcKCXB1c2hieXRlcyAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhY2NvdW50czogW3RoaXMuYXBwLmFkZHJlc3NdCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBY2NvdW50cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM0CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnYXJnMScsICdhcmcyJ10KCXB1c2hieXRlcyAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDYxNzI2NzMyIC8vICJhcmcyIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNQoJLy8gYXBwbGljYXRpb25JRDogdGhpcy5hcHAKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM2CgkvLyBhcHBsaWNhdGlvbnM6IFt0aGlzLmFwcF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzcKCS8vIGFwcHJvdmFsUHJvZ3JhbTogJ2FwcHJvdmFsJwoJcHVzaGJ5dGVzIDB4NjE3MDcwNzI2Zjc2NjE2YyAvLyAiYXBwcm92YWwiCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhc3NldHM6IFtBc3NldElELnplcm9JbmRleF0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM5CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogJ2NsZWFyJwoJcHVzaGJ5dGVzIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJcHVzaGJ5dGVzIDB4NmU2Zjc0NjUgLy8gIm5vdGUiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2V0Q29uZmlnKCl2b2lkCiphYmlfcm91dGVfYXNzZXRDb25maWc6CgkvLyBleGVjdXRlIGFzc2V0Q29uZmlnKCl2b2lkCgljYWxsc3ViIGFzc2V0Q29uZmlnCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldENvbmZpZygpOiB2b2lkCmFzc2V0Q29uZmlnOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDkKCS8vIHNlbmRBc3NldENvbmZpZyh7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNSAvLyBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNCAvLyBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGE2NmQ1NTljIC8vIG1ldGhvZCAibWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3OQoJLy8gbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAwIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODUKCS8vIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlYyAwIC8vICAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFNlbGVjdGlvblBLCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODYKCS8vIHN0YXRlUHJvb2ZQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NwoJLy8gdm90ZUZpcnN0OiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OAoJLy8gdm90ZUtleURpbHV0aW9uOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OQoJLy8gdm90ZUxhc3Q6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTAKCS8vIHZvdGVQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJLy8gZXhlY3V0ZSBvZmZsaW5lS2V5UmVnaXN0cmF0aW9uKCl2b2lkCgljYWxsc3ViIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKTogdm9pZApvZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTUKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50YyA0IC8vICBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGlubmVyR2VuZXJpYygpdm9pZAoqYWJpX3JvdXRlX2lubmVyR2VuZXJpYzoKCS8vIGV4ZWN1dGUgaW5uZXJHZW5lcmljKCl2b2lkCgljYWxsc3ViIGlubmVyR2VuZXJpYwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5uZXJHZW5lcmljKCk6IHZvaWQKaW5uZXJHZW5lcmljOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTkKCS8vIHNlbmRNZXRob2RDYWxsPFtJbm5lclR4bjxJbm5lckFzc2V0Q3JlYXRpb24+XSwgdm9pZD4oewoJLy8gICAgICAgbmFtZTogJ2ZvbycsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHgwOTA5MjRlOCAvLyBtZXRob2QgImZvbyh0eG4pdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTAxCgkvLyBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2EyZWNiMWMgLy8gbWV0aG9kICJwYXltZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY5YjM4YWQgLy8gbWV0aG9kICJhc3NldENyZWF0aW9uKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2OTBjZThiNiAvLyBtZXRob2QgImFwcENhbGwoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZjMxMDUzNCAvLyBtZXRob2QgImFzc2V0Q29uZmlnKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjgzNGJlZTggLy8gbWV0aG9kICJhc3NldEZyZWV6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDFmNDQxOGI3IC8vIG1ldGhvZCAiYXNzZXRUcmFuc2Zlcigpdm9pZCIKCXB1c2hieXRlcyAweDcwYWRmYTIzIC8vIG1ldGhvZCAibWV0aG9kQ2FsbCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTZlYzQ2ZmMgLy8gbWV0aG9kICJvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHgxMTcyMzAxYSAvLyBtZXRob2QgIm9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHg3YTMzODk3ZCAvLyBtZXRob2QgImlubmVyR2VuZXJpYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGF5bWVudCAqYWJpX3JvdXRlX2Fzc2V0Q3JlYXRpb24gKmFiaV9yb3V0ZV9hcHBDYWxsICphYmlfcm91dGVfYXNzZXRDb25maWcgKmFiaV9yb3V0ZV9hc3NldEZyZWV6ZSAqYWJpX3JvdXRlX2Fzc2V0VHJhbnNmZXIgKmFiaV9yb3V0ZV9tZXRob2RDYWxsICphYmlfcm91dGVfb25saW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfb2ZmbGluZUtleVJlZ2lzdHJhdGlvbiAqYWJpX3JvdXRlX2lubmVyR2VuZXJpYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNiAzIDIKYnl0ZWNibG9jayAweDYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjE2MTYxNjEgMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKaW50YyAyIC8vIDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcGF5bWVudCgpdm9pZAoqYWJpX3JvdXRlX3BheW1lbnQ6CgkvLyBleGVjdXRlIHBheW1lbnQoKXZvaWQKCWNhbGxzdWIgcGF5bWVudAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGF5bWVudCgpOiB2b2lkCnBheW1lbnQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2CgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICBhbW91bnQ6IDEwMCwKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcywKCS8vICAgICAgIHNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHJla2V5VG86IGdsb2JhbHMuemVyb0FkZHJlc3MsCgkvLyAgICAgICBub3RlOiAnSGVsbG8gV29ybGQhJywKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3CgkvLyBhbW91bnQ6IDEwMAoJcHVzaGludCAxMDAKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OAoJLy8gcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OQoJLy8gY2xvc2VSZW1haW5kZXJUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIENsb3NlUmVtYWluZGVyVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMAoJLy8gc2VuZGVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMQoJLy8gcmVrZXlUbzogZ2xvYmFscy56ZXJvQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCglpdHhuX2ZpZWxkIFJla2V5VG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMgoJLy8gbm90ZTogJ0hlbGxvIFdvcmxkIScKCXB1c2hieXRlcyAweDQ4NjU2YzZjNmYyMDU3NmY3MjZjNjQyMSAvLyAiSGVsbG8gV29ybGQhIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldENyZWF0aW9uKCl1aW50NjQKKmFiaV9yb3V0ZV9hc3NldENyZWF0aW9uOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGFzc2V0Q3JlYXRpb24oKXVpbnQ2NAoJY2FsbHN1YiBhc3NldENyZWF0aW9uCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRDcmVhdGlvbigpOiBBc3NldElECmFzc2V0Q3JlYXRpb246Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxNwoJLy8gcmV0dXJuIHNlbmRBc3NldENyZWF0aW9uKHsKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnLAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ3VuaXQnLAoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMSwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzLAoJLy8gICAgICAgY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMCwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0VVJMOiAndXJsJywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0TWV0YWRhdGFIYXNoOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgIH0pOwoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhY2ZnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTgKCS8vIGNvbmZpZ0Fzc2V0TmFtZTogJ25hbWUnCglwdXNoYnl0ZXMgMHg2ZTYxNmQ2NSAvLyAibmFtZSIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTkKCS8vIGNvbmZpZ0Fzc2V0VW5pdE5hbWU6ICd1bml0JwoJcHVzaGJ5dGVzIDB4NzU2ZTY5NzQgLy8gInVuaXQiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyMAoJLy8gY29uZmlnQXNzZXRUb3RhbDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIxCgkvLyBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0TWFuYWdlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIyCgkvLyBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0UmVzZXJ2ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjIzCgkvLyBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRGcmVlemUKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoyNAoJLy8gY29uZmlnQXNzZXRDbGF3YmFjazogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRDbGF3YmFjawoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI1CgkvLyBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI2CgkvLyBjb25maWdBc3NldFVSTDogJ3VybCcKCXB1c2hieXRlcyAweDc1NzI2YyAvLyAidXJsIgoJaXR4bl9maWVsZCBDb25maWdBc3NldFVSTAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjI3CgkvLyBjb25maWdBc3NldE1ldGFkYXRhSGFzaDogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBDb25maWdBc3NldE1ldGFkYXRhSGFzaAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCXJldHN1YgoKLy8gYXBwQ2FsbCgpdm9pZAoqYWJpX3JvdXRlX2FwcENhbGw6CgkvLyBleGVjdXRlIGFwcENhbGwoKXZvaWQKCWNhbGxzdWIgYXBwQ2FsbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXBwQ2FsbCgpOiB2b2lkCmFwcENhbGw6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozMgoJLy8gc2VuZEFwcENhbGwoewoJLy8gICAgICAgYWNjb3VudHM6IFt0aGlzLmFwcC5hZGRyZXNzXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uQXJnczogWydhcmcxJywgJ2FyZzInXSwKCS8vICAgICAgIGFwcGxpY2F0aW9uSUQ6IHRoaXMuYXBwLAoJLy8gICAgICAgYXBwbGljYXRpb25zOiBbdGhpcy5hcHBdLAoJLy8gICAgICAgYXBwcm92YWxQcm9ncmFtOiAnYXBwcm92YWwnLAoJLy8gICAgICAgYXNzZXRzOiBbQXNzZXRJRC56ZXJvSW5kZXhdLAoJLy8gICAgICAgY2xlYXJTdGF0ZVByb2dyYW06ICdjbGVhcicsCgkvLyAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBnbG9iYWxOdW1VaW50OiAxLAoJLy8gICAgICAgbG9jYWxOdW1CeXRlU2xpY2U6IDEsCgkvLyAgICAgICBsb2NhbE51bVVpbnQ6IDEsCgkvLyAgICAgICBub3RlOiAnbm90ZScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMiAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjMzCgkvLyBhY2NvdW50czogW3RoaXMuYXBwLmFkZHJlc3NdCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBY2NvdW50cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM0CgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsnYXJnMScsICdhcmcyJ10KCXB1c2hieXRlcyAweDYxNzI2NzMxIC8vICJhcmcxIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCXB1c2hieXRlcyAweDYxNzI2NzMyIC8vICJhcmcyIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czozNQoJLy8gYXBwbGljYXRpb25JRDogdGhpcy5hcHAKCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM2CgkvLyBhcHBsaWNhdGlvbnM6IFt0aGlzLmFwcF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0eG5fZmllbGQgQXBwbGljYXRpb25zCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MzcKCS8vIGFwcHJvdmFsUHJvZ3JhbTogJ2FwcHJvdmFsJwoJcHVzaGJ5dGVzIDB4NjE3MDcwNzI2Zjc2NjE2YyAvLyAiYXBwcm92YWwiCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM4CgkvLyBhc3NldHM6IFtBc3NldElELnplcm9JbmRleF0KCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEFzc2V0cwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjM5CgkvLyBjbGVhclN0YXRlUHJvZ3JhbTogJ2NsZWFyJwoJcHVzaGJ5dGVzIDB4NjM2YzY1NjE3MiAvLyAiY2xlYXIiCglpdHhuX2ZpZWxkIENsZWFyU3RhdGVQcm9ncmFtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDAKCS8vIGdsb2JhbE51bUJ5dGVTbGljZTogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgR2xvYmFsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDEKCS8vIGdsb2JhbE51bVVpbnQ6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIEdsb2JhbE51bVVpbnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo0MgoJLy8gbG9jYWxOdW1CeXRlU2xpY2U6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIExvY2FsTnVtQnl0ZVNsaWNlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDMKCS8vIGxvY2FsTnVtVWludDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgTG9jYWxOdW1VaW50CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDQKCS8vIG5vdGU6ICdub3RlJwoJcHVzaGJ5dGVzIDB4NmU2Zjc0NjUgLy8gIm5vdGUiCglpdHhuX2ZpZWxkIE5vdGUKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGFzc2V0Q29uZmlnKCl2b2lkCiphYmlfcm91dGVfYXNzZXRDb25maWc6CgkvLyBleGVjdXRlIGFzc2V0Q29uZmlnKCl2b2lkCgljYWxsc3ViIGFzc2V0Q29uZmlnCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldENvbmZpZygpOiB2b2lkCmFzc2V0Q29uZmlnOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NDkKCS8vIHNlbmRBc3NldENvbmZpZyh7CgkvLyAgICAgICBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYWNmZwoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjUwCgkvLyBjb25maWdBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTEKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTIKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NTMKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU0CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldEZyZWV6ZSgpdm9pZAoqYWJpX3JvdXRlX2Fzc2V0RnJlZXplOgoJLy8gZXhlY3V0ZSBhc3NldEZyZWV6ZSgpdm9pZAoJY2FsbHN1YiBhc3NldEZyZWV6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYXNzZXRGcmVlemUoKTogdm9pZAphc3NldEZyZWV6ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjU5CgkvLyBzZW5kQXNzZXRGcmVlemUoewoJLy8gICAgICAgZnJlZXplQXNzZXRGcm96ZW46IHRydWUsCgkvLyAgICAgICBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNSAvLyBhZnJ6CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6NjAKCS8vIGZyZWV6ZUFzc2V0RnJvemVuOiB0cnVlCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBGcmVlemVBc3NldEZyb3plbgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYxCgkvLyBmcmVlemVBc3NldEFjY291bnQ6IHRoaXMuYXBwLmFkZHJlc3MKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0QWNjb3VudAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjYyCgkvLyBmcmVlemVBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZyZWV6ZUFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBhc3NldFRyYW5zZmVyKCl2b2lkCiphYmlfcm91dGVfYXNzZXRUcmFuc2ZlcjoKCS8vIGV4ZWN1dGUgYXNzZXRUcmFuc2Zlcigpdm9pZAoJY2FsbHN1YiBhc3NldFRyYW5zZmVyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhc3NldFRyYW5zZmVyKCk6IHZvaWQKYXNzZXRUcmFuc2ZlcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY3CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICBhc3NldEFtb3VudDogMSwKCS8vICAgICAgIGFzc2V0Q2xvc2VUbzogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0UmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIHhmZXJBc3NldDogQXNzZXRJRC56ZXJvSW5kZXgsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCXB1c2hpbnQgNCAvLyBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjY4CgkvLyBhc3NldEFtb3VudDogMQoJaW50YyAwIC8vIDEKCWl0eG5fZmllbGQgQXNzZXRBbW91bnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo2OQoJLy8gYXNzZXRDbG9zZVRvOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldENsb3NlVG8KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MAoJLy8gYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjcxCgkvLyBhc3NldFNlbmRlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQXNzZXRTZW5kZXIKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3MgoJLy8geGZlckFzc2V0OiBBc3NldElELnplcm9JbmRleAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBtZXRob2RDYWxsKCl1aW50NjQKKmFiaV9yb3V0ZV9tZXRob2RDYWxsOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1ldGhvZENhbGwoKXVpbnQ2NAoJY2FsbHN1YiBtZXRob2RDYWxsCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbWV0aG9kQ2FsbCgpOiBBc3NldElECm1ldGhvZENhbGw6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3NwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPFtBcHBJRCwgQXNzZXRJRF0sIEFzc2V0SUQ+KHsKCS8vICAgICAgIG5hbWU6ICdtZXRob2QnLAoJLy8gICAgICAgbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0sCgkvLyAgICAgfSk7CglpdHhuX2JlZ2luCglpbnRjIDIgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGE2NmQ1NTljIC8vIG1ldGhvZCAibWV0aG9kKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo3OQoJLy8gbWV0aG9kQXJnczogW3RoaXMuYXBwLCBBc3NldElELnplcm9JbmRleF0KCXR4bmEgQXBwbGljYXRpb25zIDAKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAwIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJYnRvaQoJcmV0c3ViCgovLyBvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vbmxpbmVLZXlSZWdpc3RyYXRpb246CgkvLyBleGVjdXRlIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpdm9pZAoJY2FsbHN1YiBvbmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9ubGluZUtleVJlZ2lzdHJhdGlvbigpOiB2b2lkCm9ubGluZUtleVJlZ2lzdHJhdGlvbjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9pdHhucy5hbGdvLnRzOjg0CgkvLyBzZW5kT25saW5lS2V5UmVnaXN0cmF0aW9uKHsKCS8vICAgICAgIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgc3RhdGVQcm9vZlBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnLAoJLy8gICAgICAgdm90ZUZpcnN0OiAxLAoJLy8gICAgICAgdm90ZUtleURpbHV0aW9uOiAxLAoJLy8gICAgICAgdm90ZUxhc3Q6IDEsCgkvLyAgICAgICB2b3RlUEs6ICdhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYScsCgkvLyAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgNCAvLyAga2V5cmVnCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODUKCS8vIHNlbGVjdGlvblBLOiAnYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEnCglieXRlYyAwIC8vICAiYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEiCglpdHhuX2ZpZWxkIFNlbGVjdGlvblBLCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6ODYKCS8vIHN0YXRlUHJvb2ZQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBTdGF0ZVByb29mUEsKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4NwoJLy8gdm90ZUZpcnN0OiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlRmlyc3QKCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OAoJLy8gdm90ZUtleURpbHV0aW9uOiAxCglpbnRjIDAgLy8gMQoJaXR4bl9maWVsZCBWb3RlS2V5RGlsdXRpb24KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czo4OQoJLy8gdm90ZUxhc3Q6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIFZvdGVMYXN0CgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTAKCS8vIHZvdGVQSzogJ2FhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhJwoJYnl0ZWMgMCAvLyAgImFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIgoJaXR4bl9maWVsZCBWb3RlUEsKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV9vZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJLy8gZXhlY3V0ZSBvZmZsaW5lS2V5UmVnaXN0cmF0aW9uKCl2b2lkCgljYWxsc3ViIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKTogdm9pZApvZmZsaW5lS2V5UmVnaXN0cmF0aW9uOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTUKCS8vIHNlbmRPZmZsaW5lS2V5UmVnaXN0cmF0aW9uKHt9KQoJaXR4bl9iZWdpbgoJaW50YyA0IC8vICBrZXlyZWcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIGlubmVyR2VuZXJpYygpdm9pZAoqYWJpX3JvdXRlX2lubmVyR2VuZXJpYzoKCS8vIGV4ZWN1dGUgaW5uZXJHZW5lcmljKCl2b2lkCgljYWxsc3ViIGlubmVyR2VuZXJpYwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaW5uZXJHZW5lcmljKCk6IHZvaWQKaW5uZXJHZW5lcmljOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6OTkKCS8vIHNlbmRNZXRob2RDYWxsPFtJbm5lclR4bjxJbm5lckFzc2V0Q3JlYXRpb24+XSwgdm9pZD4oewoJLy8gICAgICAgbmFtZTogJ2ZvbycsCgkvLyAgICAgICBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyB0ZXN0cy9jb250cmFjdHMvaXR4bnMuYWxnby50czoxMDEKCS8vIGNvbmZpZ0Fzc2V0VG90YWw6IDEKCWludGMgMCAvLyAxCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VG90YWwKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWl0eG5fbmV4dAoJaW50YyAyIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHgwOTA5MjRlOCAvLyBtZXRob2QgImZvbyh0eG4pdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gdGVzdHMvY29udHJhY3RzL2l0eG5zLmFsZ28udHM6MTAxCgkvLyBtZXRob2RBcmdzOiBbeyBjb25maWdBc3NldFRvdGFsOiAxIH1dCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4N2EyZWNiMWMgLy8gbWV0aG9kICJwYXltZW50KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY5YjM4YWQgLy8gbWV0aG9kICJhc3NldENyZWF0aW9uKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2OTBjZThiNiAvLyBtZXRob2QgImFwcENhbGwoKXZvaWQiCglwdXNoYnl0ZXMgMHg4ZjMxMDUzNCAvLyBtZXRob2QgImFzc2V0Q29uZmlnKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZjgzNGJlZTggLy8gbWV0aG9kICJhc3NldEZyZWV6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDFmNDQxOGI3IC8vIG1ldGhvZCAiYXNzZXRUcmFuc2Zlcigpdm9pZCIKCXB1c2hieXRlcyAweDcwYWRmYTIzIC8vIG1ldGhvZCAibWV0aG9kQ2FsbCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTZlYzQ2ZmMgLy8gbWV0aG9kICJvbmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHgxMTcyMzAxYSAvLyBtZXRob2QgIm9mZmxpbmVLZXlSZWdpc3RyYXRpb24oKXZvaWQiCglwdXNoYnl0ZXMgMHg3YTMzODk3ZCAvLyBtZXRob2QgImlubmVyR2VuZXJpYygpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfcGF5bWVudCAqYWJpX3JvdXRlX2Fzc2V0Q3JlYXRpb24gKmFiaV9yb3V0ZV9hcHBDYWxsICphYmlfcm91dGVfYXNzZXRDb25maWcgKmFiaV9yb3V0ZV9hc3NldEZyZWV6ZSAqYWJpX3JvdXRlX2Fzc2V0VHJhbnNmZXIgKmFiaV9yb3V0ZV9tZXRob2RDYWxsICphYmlfcm91dGVfb25saW5lS2V5UmVnaXN0cmF0aW9uICphYmlfcm91dGVfb2ZmbGluZUtleVJlZ2lzdHJhdGlvbiAqYWJpX3JvdXRlX2lubmVyR2VuZXJpYwoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/LoopsTest.approval.teal b/tests/contracts/artifacts/LoopsTest.approval.teal index 9f2ef18d8..20940ff80 100644 --- a/tests/contracts/artifacts/LoopsTest.approval.teal +++ b/tests/contracts/artifacts/LoopsTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 0 10 5 1337 bytecblock 0x 0x151f7c75 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/LoopsTest.arc32.json b/tests/contracts/artifacts/LoopsTest.arc32.json index ed8eae844..baebe0560 100644 --- a/tests/contracts/artifacts/LoopsTest.arc32.json +++ b/tests/contracts/artifacts/LoopsTest.arc32.json @@ -79,7 +79,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTAgNSAxMzM3CmJ5dGVjYmxvY2sgMHggMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfd2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIHdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHdoaWxlTG9vcCgpOiB1aW50NjQKd2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCip3aGlsZV8wOgoKKndoaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglieiAqd2hpbGVfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8wCgoqd2hpbGVfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZm9yTG9vcCgpdWludDY0CiphYmlfcm91dGVfZm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBmb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgZm9yTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZvckxvb3AoKTogdWludDY0CmZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTcKCS8vIGkgPSAwCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjIzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2RvV2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgZG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb1doaWxlTG9vcCgpOiB1aW50NjQKZG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjI3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wOgoKKmRvX3doaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYm56ICpkb193aGlsZV8wX3N0YXRlbWVudAoKKmRvX3doaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGJyZWFrV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYnJlYWtXaGlsZUxvb3AoKTogdWludDY0CmJyZWFrV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozNwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMToKCip3aGlsZV8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzkKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJYiAqd2hpbGVfMV9lbmQKCippZjBfZW5kOgoJYiAqd2hpbGVfMQoKKndoaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZVdoaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29udGludWVXaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0OAoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMjoKCip3aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTAKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8yX2VuZAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MQoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MgoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yX2NvbnRpbnVlCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKndoaWxlXzIKCip3aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU4CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha0Zvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0Zvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha0Zvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBicmVha0Zvckxvb3AoKTogdWludDY0CmJyZWFrRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2MgoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJYiAqZm9yXzFfZW5kCgoqaWYyX2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBqID0gaiArIDEKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjkKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZUZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjb250aW51ZUZvckxvb3AoKTogdWludDY0CmNvbnRpbnVlRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3MwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzI6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NgoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NwoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMl9jb250aW51ZQoKKmlmM19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjgzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0RvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyZWFrRG9XaGlsZUxvb3AoKTogdWludDY0CmJyZWFrRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjg3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8xX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJYiAqZG9fd2hpbGVfMV9lbmQKCippZjRfZW5kOgoKKmRvX3doaWxlXzE6CgoqZG9fd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkyCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglibnogKmRvX3doaWxlXzFfc3RhdGVtZW50CgoqZG9fd2hpbGVfMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5NAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjk4CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yX3N0YXRlbWVudDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAyCgkvLyBpID0gMTMzNwoJaW50YyA0IC8vIDEzMzcKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmRvX3doaWxlXzJfY29udGludWUKCippZjVfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yOgoKKmRvX3doaWxlXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDYKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJueiAqZG9fd2hpbGVfMl9zdGF0ZW1lbnQKCipkb193aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwOAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMTY0YmJkOSAvLyBtZXRob2QgIndoaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWIzZWQ5ZjYgLy8gbWV0aG9kICJmb3JMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHgxZDg2MWEzZCAvLyBtZXRob2QgImRvV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4MjFmZTgyOSAvLyBtZXRob2QgImJyZWFrV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4ZDE1MjgwYSAvLyBtZXRob2QgImNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2ODk3Y2Y1ZSAvLyBtZXRob2QgImJyZWFrRm9yTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTljYmFjYWIgLy8gbWV0aG9kICJjb250aW51ZUZvckxvb3AoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDg2ZDVlZGQzIC8vIG1ldGhvZCAiYnJlYWtEb1doaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTAxZDlkNDIgLy8gbWV0aG9kICJjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3doaWxlTG9vcCAqYWJpX3JvdXRlX2Zvckxvb3AgKmFiaV9yb3V0ZV9kb1doaWxlTG9vcCAqYWJpX3JvdXRlX2JyZWFrV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha0Zvckxvb3AgKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3AgKmFiaV9yb3V0ZV9icmVha0RvV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTAgNSAxMzM3CmJ5dGVjYmxvY2sgMHggMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfd2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIHdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHdoaWxlTG9vcCgpOiB1aW50NjQKd2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCip3aGlsZV8wOgoKKndoaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglieiAqd2hpbGVfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8wCgoqd2hpbGVfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZm9yTG9vcCgpdWludDY0CiphYmlfcm91dGVfZm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBmb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgZm9yTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZvckxvb3AoKTogdWludDY0CmZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTcKCS8vIGkgPSAwCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjIzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2RvV2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgZG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb1doaWxlTG9vcCgpOiB1aW50NjQKZG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjI3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wOgoKKmRvX3doaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYm56ICpkb193aGlsZV8wX3N0YXRlbWVudAoKKmRvX3doaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGJyZWFrV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYnJlYWtXaGlsZUxvb3AoKTogdWludDY0CmJyZWFrV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozNwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMToKCip3aGlsZV8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzkKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJYiAqd2hpbGVfMV9lbmQKCippZjBfZW5kOgoJYiAqd2hpbGVfMQoKKndoaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZVdoaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29udGludWVXaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0OAoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMjoKCip3aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTAKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8yX2VuZAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MQoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MgoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yX2NvbnRpbnVlCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKndoaWxlXzIKCip3aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU4CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha0Zvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0Zvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha0Zvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBicmVha0Zvckxvb3AoKTogdWludDY0CmJyZWFrRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2MgoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJYiAqZm9yXzFfZW5kCgoqaWYyX2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBqID0gaiArIDEKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjkKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZUZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjb250aW51ZUZvckxvb3AoKTogdWludDY0CmNvbnRpbnVlRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3MwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzI6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NgoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NwoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMl9jb250aW51ZQoKKmlmM19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjgzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0RvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyZWFrRG9XaGlsZUxvb3AoKTogdWludDY0CmJyZWFrRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjg3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8xX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJYiAqZG9fd2hpbGVfMV9lbmQKCippZjRfZW5kOgoKKmRvX3doaWxlXzE6CgoqZG9fd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkyCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglibnogKmRvX3doaWxlXzFfc3RhdGVtZW50CgoqZG9fd2hpbGVfMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5NAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjk4CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yX3N0YXRlbWVudDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAyCgkvLyBpID0gMTMzNwoJaW50YyA0IC8vIDEzMzcKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmRvX3doaWxlXzJfY29udGludWUKCippZjVfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yOgoKKmRvX3doaWxlXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDYKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJueiAqZG9fd2hpbGVfMl9zdGF0ZW1lbnQKCipkb193aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwOAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMTY0YmJkOSAvLyBtZXRob2QgIndoaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWIzZWQ5ZjYgLy8gbWV0aG9kICJmb3JMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHgxZDg2MWEzZCAvLyBtZXRob2QgImRvV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4MjFmZTgyOSAvLyBtZXRob2QgImJyZWFrV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4ZDE1MjgwYSAvLyBtZXRob2QgImNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2ODk3Y2Y1ZSAvLyBtZXRob2QgImJyZWFrRm9yTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTljYmFjYWIgLy8gbWV0aG9kICJjb250aW51ZUZvckxvb3AoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDg2ZDVlZGQzIC8vIG1ldGhvZCAiYnJlYWtEb1doaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTAxZDlkNDIgLy8gbWV0aG9kICJjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3doaWxlTG9vcCAqYWJpX3JvdXRlX2Zvckxvb3AgKmFiaV9yb3V0ZV9kb1doaWxlTG9vcCAqYWJpX3JvdXRlX2JyZWFrV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha0Zvckxvb3AgKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3AgKmFiaV9yb3V0ZV9icmVha0RvV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/LoopsTest.arc56_draft.json b/tests/contracts/artifacts/LoopsTest.arc56_draft.json index fe925bcc0..2dba6a0a1 100644 --- a/tests/contracts/artifacts/LoopsTest.arc56_draft.json +++ b/tests/contracts/artifacts/LoopsTest.arc56_draft.json @@ -2516,7 +2516,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTAgNSAxMzM3CmJ5dGVjYmxvY2sgMHggMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfd2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIHdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHdoaWxlTG9vcCgpOiB1aW50NjQKd2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCip3aGlsZV8wOgoKKndoaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglieiAqd2hpbGVfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8wCgoqd2hpbGVfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZm9yTG9vcCgpdWludDY0CiphYmlfcm91dGVfZm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBmb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgZm9yTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZvckxvb3AoKTogdWludDY0CmZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTcKCS8vIGkgPSAwCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjIzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2RvV2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgZG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb1doaWxlTG9vcCgpOiB1aW50NjQKZG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjI3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wOgoKKmRvX3doaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYm56ICpkb193aGlsZV8wX3N0YXRlbWVudAoKKmRvX3doaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGJyZWFrV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYnJlYWtXaGlsZUxvb3AoKTogdWludDY0CmJyZWFrV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozNwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMToKCip3aGlsZV8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzkKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJYiAqd2hpbGVfMV9lbmQKCippZjBfZW5kOgoJYiAqd2hpbGVfMQoKKndoaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZVdoaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29udGludWVXaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0OAoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMjoKCip3aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTAKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8yX2VuZAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MQoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MgoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yX2NvbnRpbnVlCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKndoaWxlXzIKCip3aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU4CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha0Zvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0Zvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha0Zvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBicmVha0Zvckxvb3AoKTogdWludDY0CmJyZWFrRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2MgoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJYiAqZm9yXzFfZW5kCgoqaWYyX2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBqID0gaiArIDEKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjkKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZUZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjb250aW51ZUZvckxvb3AoKTogdWludDY0CmNvbnRpbnVlRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3MwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzI6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NgoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NwoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMl9jb250aW51ZQoKKmlmM19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjgzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0RvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyZWFrRG9XaGlsZUxvb3AoKTogdWludDY0CmJyZWFrRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjg3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8xX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJYiAqZG9fd2hpbGVfMV9lbmQKCippZjRfZW5kOgoKKmRvX3doaWxlXzE6CgoqZG9fd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkyCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglibnogKmRvX3doaWxlXzFfc3RhdGVtZW50CgoqZG9fd2hpbGVfMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5NAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjk4CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yX3N0YXRlbWVudDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAyCgkvLyBpID0gMTMzNwoJaW50YyA0IC8vIDEzMzcKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmRvX3doaWxlXzJfY29udGludWUKCippZjVfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yOgoKKmRvX3doaWxlXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDYKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJueiAqZG9fd2hpbGVfMl9zdGF0ZW1lbnQKCipkb193aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwOAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMTY0YmJkOSAvLyBtZXRob2QgIndoaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWIzZWQ5ZjYgLy8gbWV0aG9kICJmb3JMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHgxZDg2MWEzZCAvLyBtZXRob2QgImRvV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4MjFmZTgyOSAvLyBtZXRob2QgImJyZWFrV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4ZDE1MjgwYSAvLyBtZXRob2QgImNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2ODk3Y2Y1ZSAvLyBtZXRob2QgImJyZWFrRm9yTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTljYmFjYWIgLy8gbWV0aG9kICJjb250aW51ZUZvckxvb3AoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDg2ZDVlZGQzIC8vIG1ldGhvZCAiYnJlYWtEb1doaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTAxZDlkNDIgLy8gbWV0aG9kICJjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3doaWxlTG9vcCAqYWJpX3JvdXRlX2Zvckxvb3AgKmFiaV9yb3V0ZV9kb1doaWxlTG9vcCAqYWJpX3JvdXRlX2JyZWFrV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha0Zvckxvb3AgKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3AgKmFiaV9yb3V0ZV9icmVha0RvV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMTAgNSAxMzM3CmJ5dGVjYmxvY2sgMHggMHgxNTFmN2M3NQoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHdoaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfd2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIHdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIHdoaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHdoaWxlTG9vcCgpOiB1aW50NjQKd2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCip3aGlsZV8wOgoKKndoaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5CgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglieiAqd2hpbGVfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8wCgoqd2hpbGVfMF9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMwoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZm9yTG9vcCgpdWludDY0CiphYmlfcm91dGVfZm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBmb3JMb29wKCl1aW50NjQKCWNhbGxzdWIgZm9yTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGZvckxvb3AoKTogdWludDY0CmZvckxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTcKCS8vIGkgPSAwCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAwIC8vIGk6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjE5CgkvLyBmb3IgKGxldCBqID0gMDsgaiA8IDEwOyBqID0gaiArIDEpCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIGo6IHVpbnQ2NAoKKmZvcl8wOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTkKCS8vIGogPCAxMAoJZnJhbWVfZGlnIDEgLy8gajogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoyMAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxOQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMAoKKmZvcl8wX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjIzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZG9XaGlsZUxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2RvV2hpbGVMb29wOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGRvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgZG9XaGlsZUxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkb1doaWxlTG9vcCgpOiB1aW50NjQKZG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjI3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjMwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8wOgoKKmRvX3doaWxlXzBfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozMQoJLy8gaSA8IDEwCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYm56ICpkb193aGlsZV8wX3N0YXRlbWVudAoKKmRvX3doaWxlXzBfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzMKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGJyZWFrV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9icmVha1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha1doaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGJyZWFrV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYnJlYWtXaGlsZUxvb3AoKTogdWludDY0CmJyZWFrV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czozNwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMToKCip3aGlsZV8xX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MzkKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjQwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYwX2VuZAoKCS8vICppZjBfY29uc2VxdWVudAoJYiAqd2hpbGVfMV9lbmQKCippZjBfZW5kOgoJYiAqd2hpbGVfMQoKKndoaWxlXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NDQKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQKKmFiaV9yb3V0ZV9jb250aW51ZVdoaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZVdoaWxlTG9vcCgpdWludDY0CgljYWxsc3ViIGNvbnRpbnVlV2hpbGVMb29wCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY29udGludWVXaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlV2hpbGVMb29wOgoJcHJvdG8gMCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo0OAoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0Cgoqd2hpbGVfMjoKCip3aGlsZV8yX2NvbnRpbnVlOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NTAKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJ6ICp3aGlsZV8yX2VuZAoKCS8vICppZjFfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MQoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo1MgoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICp3aGlsZV8yX2NvbnRpbnVlCgoqaWYxX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKndoaWxlXzIKCip3aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjU4CgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBicmVha0Zvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2JyZWFrRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0Zvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBicmVha0Zvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBicmVha0Zvckxvb3AoKTogdWludDY0CmJyZWFrRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2MgoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjQKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzE6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo2NAoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8xX2VuZAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjYKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWYyX2VuZAoKCS8vICppZjJfY29uc2VxdWVudAoJYiAqZm9yXzFfZW5kCgoqaWYyX2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjY0CgkvLyBqID0gaiArIDEKCWZyYW1lX2RpZyAxIC8vIGo6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMSAvLyBqOiB1aW50NjQKCWIgKmZvcl8xCgoqZm9yXzFfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NjkKCS8vIHJldHVybiBpOwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoqYWJpX3JvdXRlX2NvbnRpbnVlRm9yTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZUZvckxvb3AoKXVpbnQ2NAoJY2FsbHN1YiBjb250aW51ZUZvckxvb3AKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBjb250aW51ZUZvckxvb3AoKTogdWludDY0CmNvbnRpbnVlRm9yTG9vcDoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3MwoJLy8gaSA9IDAKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6NzUKCS8vIGZvciAobGV0IGogPSAwOyBqIDwgMTA7IGogPSBqICsgMSkKCWludGMgMSAvLyAwCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgoqZm9yXzI6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA8IDEwCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMiAvLyAxMAoJPAoJYnogKmZvcl8yX2VuZAoKCS8vICppZjNfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NgoJLy8gaSA9PT0gNQoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDMgLy8gNQoJPT0KCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NwoJLy8gaSA9IDEzMzcKCWludGMgNCAvLyAxMzM3CglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgliICpmb3JfMl9jb250aW51ZQoKKmlmM19lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo4MAoJLy8gaSA9IGkgKyAxCglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo3NQoJLy8gaiA9IGogKyAxCglmcmFtZV9kaWcgMSAvLyBqOiB1aW50NjQKCWludGMgMCAvLyAxCgkrCglmcmFtZV9idXJ5IDEgLy8gajogdWludDY0CgliICpmb3JfMgoKKmZvcl8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjgzCgkvLyByZXR1cm4gaTsKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYnJlYWtEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfYnJlYWtEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBicmVha0RvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgYnJlYWtEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJyZWFrRG9XaGlsZUxvb3AoKTogdWludDY0CmJyZWFrRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjg3CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8xX3N0YXRlbWVudDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkwCgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6OTEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY0X2VuZAoKCS8vICppZjRfY29uc2VxdWVudAoJYiAqZG9fd2hpbGVfMV9lbmQKCippZjRfZW5kOgoKKmRvX3doaWxlXzE6CgoqZG9fd2hpbGVfMV9jb250aW51ZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjkyCgkvLyBpIDwgMTAKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDEwCgk8CglibnogKmRvX3doaWxlXzFfc3RhdGVtZW50CgoqZG9fd2hpbGVfMV9lbmQ6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czo5NAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29udGludWVEb1doaWxlTG9vcCgpdWludDY0CiphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQKCWNhbGxzdWIgY29udGludWVEb1doaWxlTG9vcAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNvbnRpbnVlRG9XaGlsZUxvb3AoKTogdWludDY0CmNvbnRpbnVlRG9XaGlsZUxvb3A6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjk4CgkvLyBpID0gMAoJaW50YyAxIC8vIDAKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yX3N0YXRlbWVudDoKCS8vICppZjVfY29uZGl0aW9uCgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDEKCS8vIGkgPT09IDUKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAzIC8vIDUKCT09CglieiAqaWY1X2VuZAoKCS8vICppZjVfY29uc2VxdWVudAoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTAyCgkvLyBpID0gMTMzNwoJaW50YyA0IC8vIDEzMzcKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmRvX3doaWxlXzJfY29udGludWUKCippZjVfZW5kOgoJLy8gdGVzdHMvY29udHJhY3RzL2xvb3BzLmFsZ28udHM6MTA1CgkvLyBpID0gaSArIDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAwIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCipkb193aGlsZV8yOgoKKmRvX3doaWxlXzJfY29udGludWU6CgkvLyB0ZXN0cy9jb250cmFjdHMvbG9vcHMuYWxnby50czoxMDYKCS8vIGkgPCAxMAoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglpbnRjIDIgLy8gMTAKCTwKCWJueiAqZG9fd2hpbGVfMl9zdGF0ZW1lbnQKCipkb193aGlsZV8yX2VuZDoKCS8vIHRlc3RzL2NvbnRyYWN0cy9sb29wcy5hbGdvLnRzOjEwOAoJLy8gcmV0dXJuIGk7CglmcmFtZV9kaWcgMCAvLyBpOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHhlMTY0YmJkOSAvLyBtZXRob2QgIndoaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWIzZWQ5ZjYgLy8gbWV0aG9kICJmb3JMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHgxZDg2MWEzZCAvLyBtZXRob2QgImRvV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4MjFmZTgyOSAvLyBtZXRob2QgImJyZWFrV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg4ZDE1MjgwYSAvLyBtZXRob2QgImNvbnRpbnVlV2hpbGVMb29wKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2ODk3Y2Y1ZSAvLyBtZXRob2QgImJyZWFrRm9yTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTljYmFjYWIgLy8gbWV0aG9kICJjb250aW51ZUZvckxvb3AoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDg2ZDVlZGQzIC8vIG1ldGhvZCAiYnJlYWtEb1doaWxlTG9vcCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4ZTAxZDlkNDIgLy8gbWV0aG9kICJjb250aW51ZURvV2hpbGVMb29wKCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3doaWxlTG9vcCAqYWJpX3JvdXRlX2Zvckxvb3AgKmFiaV9yb3V0ZV9kb1doaWxlTG9vcCAqYWJpX3JvdXRlX2JyZWFrV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVXaGlsZUxvb3AgKmFiaV9yb3V0ZV9icmVha0Zvckxvb3AgKmFiaV9yb3V0ZV9jb250aW51ZUZvckxvb3AgKmFiaV9yb3V0ZV9icmVha0RvV2hpbGVMb29wICphYmlfcm91dGVfY29udGludWVEb1doaWxlTG9vcAoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/LsigWithArgs.lsig.teal b/tests/contracts/artifacts/LsigWithArgs.lsig.teal index 0b3724ee8..872f27677 100644 --- a/tests/contracts/artifacts/LsigWithArgs.lsig.teal +++ b/tests/contracts/artifacts/LsigWithArgs.lsig.teal @@ -2,7 +2,7 @@ //#pragma mode logicsig intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // The address of this logic signature is W6DDEFBKZB2HZYJ6WYJ3S3RSK57IRNV4LACOOLBGVDEWJ524RQWF5EBMTU diff --git a/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal b/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal index c7ee2315f..4cf019649 100644 --- a/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal +++ b/tests/contracts/artifacts/LsigWithPrivateMethod.lsig.teal @@ -2,7 +2,7 @@ //#pragma mode logicsig intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // The address of this logic signature is 2G7X6ZCAOFJOVGTOAGVL2ZKKJSLUSV2XFG4SKH3JRUIZ7EY7JWY3T7EQGI diff --git a/tests/contracts/artifacts/MathTest.approval.teal b/tests/contracts/artifacts/MathTest.approval.teal index 823c11e60..0fbaed7ec 100644 --- a/tests/contracts/artifacts/MathTest.approval.teal +++ b/tests/contracts/artifacts/MathTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 32 256 8 0 16 18446744073709551615 2 3 4 5 64 128 bytecblock 0x151f7c75 0x 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0x626f784b6579 0x674b6579 0x0000000000000000000000000000000000000000000000000000000000000001 0x00000000000000000000000000000000000000000000000000000000000003e8 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0xFFFFFFFFFFFFFFFF -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/MathTest.arc32.json b/tests/contracts/artifacts/MathTest.arc32.json index db6de84a3..c96fe528f 100644 --- a/tests/contracts/artifacts/MathTest.arc32.json +++ b/tests/contracts/artifacts/MathTest.arc32.json @@ -249,7 +249,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDI1NiA4IDAgMTYgMTg0NDY3NDQwNzM3MDk1NTE2MTUgMiAzIDQgNSA2NCAxMjgKYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4IDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweDYyNmY3ODRiNjU3OSAweDY3NGI2NTc5IDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweEZGRkZGRkZGRkZGRkZGRkYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50YyA2IC8vIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgNSAvLyAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgMyAvLyA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZWMgNCAvLyAgImdLZXkiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NzYKCS8vIHRoaXMuZ0tleS52YWx1ZSArPSBiCglieXRlYyA0IC8vICAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglieXRlYyA0IC8vICAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGVjIDQgLy8gICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYm94VGVzdCgpdWludDI1NgoqYWJpX3JvdXRlX2JveFRlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94VGVzdCgpdWludDI1NgoJY2FsbHN1YiBib3hUZXN0CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBib3hUZXN0IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94VGVzdCgpOiB1aW50MjU2CmJveFRlc3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjg0CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9IDx1aW50MjU2PjEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYisKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB0aGlzLmJveEtleS52YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCglzd2FwCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NwoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnZhbHVlOwoJYnl0ZWMgMyAvLyAgImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWI+CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAzCgkvLyBsb2coJ25vblplcm8nKQoJcHVzaGJ5dGVzIDB4NmU2ZjZlNWE2NTcyNmYgLy8gIm5vblplcm8iCglsb2cKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTA1CgkvLyBsb2coJ3plcm8nKQoJcHVzaGJ5dGVzIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglwdXNoYnl0ZXMgMHgwMAoJaW50YyA0IC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHI6IEFkZHJlc3MpOiBib29sZWFuCmFkZHJlc3NUb0JpZ0ludDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTE4CgkvLyByZXR1cm4gYnRvYmlnaW50KGFkZHIpID4gYnRvYmlnaW50KHRoaXMudHhuLnNlbmRlcik7CglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJYj4KCXJldHN1YgoKLy8gdThUb3U2NCgpdWludDY0CiphYmlfcm91dGVfdThUb3U2NDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1OFRvdTY0KCl1aW50NjQKCWNhbGxzdWIgdThUb3U2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU4VG91NjQoKTogdWludDY0CnU4VG91NjQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTIyCgkvLyB4OiB1aW50OCA9IDcKCXB1c2hpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglwdXNoaW50IDEzMzcKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gPHVpbnQ4Pnggb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAzMSAxCglidG9pCgljYWxsc3ViIHByaXZhdGVGdW5jTmFtZQoJcmV0c3ViCgovLyBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYmlnaW50UGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJpZ2ludFBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaWdpbnRQbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpZ2ludFBsdXM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzUKCS8vIHggPSBpdG9iKGEpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzYKCS8vIHkgPSBpdG9iKGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzcKCS8vIHJldHVybiAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgMCAvLyB4OiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVbXQoJYisKCWR1cAoJYml0bGVuCglpbnRjIDExIC8vIDY0Cgk8PQoKCS8vIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDMgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYml0d2lzZU9yKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlT3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXR3aXNlT3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZU9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDEKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCXJldHN1YgoKLy8gYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VBbmQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlQW5kCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZUFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlQW5kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDUKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCXJldHN1YgoKLy8gYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VYb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlWG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZVhvcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlWG9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDkKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCXJldHN1YgoKLy8gYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlT3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlT3JVMjU2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZU9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlT3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTMKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYnwKCXJldHN1YgoKLy8gYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZUFuZFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VBbmRVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlQW5kVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmRVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VBbmRVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTcKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYiYKCXJldHN1YgoKLy8gYml0d2lzZVhvclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZVhvclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VYb3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlWG9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3JVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VYb3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjEKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYl4KCXJldHN1YgoKLy8gYml0d2lzZU5vdCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU5vdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU5vdAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3QoYTogdWludDY0KTogdWludDY0CmJpdHdpc2VOb3Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuIH5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJfgoJcmV0c3ViCgovLyBiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlTm90VTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYml0d2lzZU5vdFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VOb3RVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlTm90VTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3RVMjU2KGE6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VOb3RVMjU2OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjkKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglifgoJcmV0c3ViCgovLyBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfbXVsdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIG11bHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtdWx3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm11bHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzMKCS8vIHAgPSBtdWx3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgltdWx3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzcKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWRkdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFkZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGR3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmFkZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODEKCS8vIHAgPSBhZGR3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglhZGR3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODUKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGV4cHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHB3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4cHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODkKCS8vIHAgPSBleHB3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHB3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTMKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2dzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdncKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZ3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdnc6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE5NwoJLy8gcmV0dXJuIGRpdncoMCwgYSwgYik7CglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZGl2dwoJcmV0c3ViCgovLyBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2bW9kdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdm1vZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZtb2R3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdm1vZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDEKCS8vIHAgPSBkaXZtb2R3KDAsIGEsIDAsIGIpCglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyA0IC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdm1vZHcKCWZyYW1lX2J1cnkgMCAvLyBwIHJlbWFpbmRlckxvdzogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gcCByZW1haW5kZXJIaWdoOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMyAvLyBwIHF1b3RpZW50SGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDUKCS8vIHJldHVybiBwMi5xdW90aWVudExvdzsKCWZyYW1lX2RpZyAyIC8vIHAgcXVvdGllbnRMb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKLy8gdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKCWNhbGxzdWIgdW5zYWZlVmFyaWFibGVzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlVmFyaWFibGVzKCk6IHVpbnQ2NAp1bnNhZmVWYXJpYWJsZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDkKCS8vIEEgPSA8dWludDI1Nj4yNTAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGVlNmIyODAKCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjEwCgkvLyBCID0gPHVpbnQyNTY+MTAwMAoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTgKCWZyYW1lX2J1cnkgMSAvLyBCOiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTIKCS8vIEEgPSBBIC8gQgoJZnJhbWVfZGlnIDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCWJ5dGVjIDYgLy8gIEI6IHVpbnQyNTYKCWIvCglmcmFtZV9idXJ5IDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNAoJLy8gYyA9IEEgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJZHVwCgliaXRsZW4KCWludGMgMTEgLy8gNjQKCTw9CgoJLy8gQSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAzIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBjOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNgoJLy8gcmV0dXJuIGM7CglmcmFtZV9kaWcgMiAvLyBjOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGZvb2Jhcih1aW50MTI4KXVpbnQxMjgKKmFiaV9yb3V0ZV9mb29iYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIHg6IHVpbnQxMjgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDUgLy8gMTYKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZvb2JhciBtdXN0IGJlIGEgdWludDEyOAoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBmb29iYXIodWludDEyOCl1aW50MTI4CgljYWxsc3ViIGZvb2JhcgoJZHVwCgliaXRsZW4KCWludGMgMTIgLy8gMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA3IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1MzAKCWIvCglkdXAKCWJpdGxlbgoJaW50YyAxMiAvLyAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDcgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmCglyZXRzdWIKCi8vIHdpZGVSYXRpb1Rlc3QoKXVpbnQ2NAoqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgd2lkZVJhdGlvVGVzdCgpdWludDY0CgljYWxsc3ViIHdpZGVSYXRpb1Rlc3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB3aWRlUmF0aW9UZXN0KCk6IHVpbnQ2NAp3aWRlUmF0aW9UZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMzAKCS8vIHJldHVybiB3aWRlUmF0aW8oW1VpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpLCAyLCAzLCA0LCA1XSwgWzIsIDMsIDQsIDVdKTsKCWludGMgNiAvLyAxODQ0Njc0NDA3MzcwOTU1MTYxNQoJaW50YyA3IC8vIDIKCW11bHcKCWludGMgOCAvLyAzCgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDkgLy8gNAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAxMCAvLyA1Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDcgLy8gMgoJaW50YyA4IC8vIDMKCW11bHcKCWludGMgOSAvLyA0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDEwIC8vIDUKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2NlNmYxYWYgLy8gbWV0aG9kICJ1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDAzMWExODYgLy8gbWV0aG9kICJ1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGU1MmU0Mzk0IC8vIG1ldGhvZCAidTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTUwZDQ3ODkgLy8gbWV0aG9kICJ1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2NWJkZGE2ZSAvLyBtZXRob2QgInUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4MGE2YWQyODQgLy8gbWV0aG9kICJ1MjU2bWludXModWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMDQ0YmYyNCAvLyBtZXRob2QgInUyNTZtdWwodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhjNDhmOGMwNSAvLyBtZXRob2QgInUyNTZkaXYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMmUxZDYzMiAvLyBtZXRob2QgInU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgzOGIxYTM5ZSAvLyBtZXRob2QgIm1heFU2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NmMxMzZmMWQgLy8gbWV0aG9kICJleHBvbmVudCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyZGEyNTAyIC8vIG1ldGhvZCAidmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYiCglwdXNoYnl0ZXMgMHhhMmZlYWQ2YyAvLyBtZXRob2QgInVpbnQ4cGx1cyh1aW50OCx1aW50OCl1aW50OCIKCXB1c2hieXRlcyAweGQyMjU2ZjdhIC8vIG1ldGhvZCAidWludDhleHAodWludDgsdWludDgpdWludDgiCglwdXNoYnl0ZXMgMHhjMTdkNjI0ZSAvLyBtZXRob2QgInBsdXNFcXVhbHModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1Y2FiMDQzOCAvLyBtZXRob2QgInBsdXNFcXVhbHNGcm9tR2xvYmFsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTg5ODljY2QgLy8gbWV0aG9kICJib3hUZXN0KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NDgzMGI0ZGUgLy8gbWV0aG9kICJ1bnNhZmVNZXRob2RBcmdzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTFjNTVjZTUgLy8gbWV0aG9kICJ1aW50MjU2Q29tcGFyaXNvblR5cGUodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZDFkNDI2ZSAvLyBtZXRob2QgInNxdWFyZVJvb3QyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgxYzI5ODFmMSAvLyBtZXRob2QgInNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3Y2EwNGI5IC8vIG1ldGhvZCAiYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbCIKCXB1c2hieXRlcyAweGJiOTUyMzM4IC8vIG1ldGhvZCAidThUb3U2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDEyOGUyN2IgLy8gbWV0aG9kICJmdW5jTmFtZSh1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHhmOTE2Y2RiMyAvLyBtZXRob2QgImJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1MjczNzU0NSAvLyBtZXRob2QgImJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDc5YzFhZGMwIC8vIG1ldGhvZCAiYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyNDc0YWJjIC8vIG1ldGhvZCAiYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDA1OTNmZGY4IC8vIG1ldGhvZCAiYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDA2ZmI5MzM3IC8vIG1ldGhvZCAiYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgyNjQ5M2Q3OCAvLyBtZXRob2QgImJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTljMjJlZWEgLy8gbWV0aG9kICJiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhlZGUzZTliYyAvLyBtZXRob2QgImJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDJlNGEyMTY0IC8vIG1ldGhvZCAibXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDUwMTM0YjVhIC8vIG1ldGhvZCAiYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGY1M2FmZjliIC8vIG1ldGhvZCAiZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGNhZjcxMTBkIC8vIG1ldGhvZCAiZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGJlZDBlMzg2IC8vIG1ldGhvZCAiZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI3NGQ3NzA1IC8vIG1ldGhvZCAidW5zYWZlVmFyaWFibGVzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5MjQ2NWQwOCAvLyBtZXRob2QgImZvb2Jhcih1aW50MTI4KXVpbnQxMjgiCglwdXNoYnl0ZXMgMHhmMDFmYWNjZSAvLyBtZXRob2QgInVpbnRGcm9tSGV4KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NWFjOGEwYTAgLy8gbWV0aG9kICJ3aWRlUmF0aW9UZXN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3U2NHBsdXMgKmFiaV9yb3V0ZV91NjRtaW51cyAqYWJpX3JvdXRlX3U2NG11bCAqYWJpX3JvdXRlX3U2NGRpdiAqYWJpX3JvdXRlX3UyNTZwbHVzICphYmlfcm91dGVfdTI1Nm1pbnVzICphYmlfcm91dGVfdTI1Nm11bCAqYWJpX3JvdXRlX3UyNTZkaXYgKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTYgKmFiaV9yb3V0ZV9tYXhVNjQgKmFiaV9yb3V0ZV9leHBvbmVudCAqYWJpX3JvdXRlX3ZhcmlhYmxlVHlwZUhpbnQgKmFiaV9yb3V0ZV91aW50OHBsdXMgKmFiaV9yb3V0ZV91aW50OGV4cCAqYWJpX3JvdXRlX3BsdXNFcXVhbHMgKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbCAqYWJpX3JvdXRlX2JveFRlc3QgKmFiaV9yb3V0ZV91bnNhZmVNZXRob2RBcmdzICphYmlfcm91dGVfdWludDI1NkNvbXBhcmlzb25UeXBlICphYmlfcm91dGVfc3F1YXJlUm9vdDI1NiAqYWJpX3JvdXRlX3NxdWFyZVJvb3Q2NCAqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludCAqYWJpX3JvdXRlX3U4VG91NjQgKmFiaV9yb3V0ZV9mdW5jTmFtZSAqYWJpX3JvdXRlX2JpZ2ludFBsdXMgKmFiaV9yb3V0ZV9iaXR3aXNlT3IgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kICphYmlfcm91dGVfYml0d2lzZVhvciAqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VYb3JVMjU2ICphYmlfcm91dGVfYml0d2lzZU5vdCAqYWJpX3JvdXRlX2JpdHdpc2VOb3RVMjU2ICphYmlfcm91dGVfbXVsdyAqYWJpX3JvdXRlX2FkZHcgKmFiaV9yb3V0ZV9leHB3ICphYmlfcm91dGVfZGl2dyAqYWJpX3JvdXRlX2Rpdm1vZHcgKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXMgKmFiaV9yb3V0ZV9mb29iYXIgKmFiaV9yb3V0ZV91aW50RnJvbUhleCAqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDI1NiA4IDAgMTYgMTg0NDY3NDQwNzM3MDk1NTE2MTUgMiAzIDQgNSA2NCAxMjgKYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4IDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweDYyNmY3ODRiNjU3OSAweDY3NGI2NTc5IDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweEZGRkZGRkZGRkZGRkZGRkYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50YyA2IC8vIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgNSAvLyAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgMyAvLyA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZWMgNCAvLyAgImdLZXkiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NzYKCS8vIHRoaXMuZ0tleS52YWx1ZSArPSBiCglieXRlYyA0IC8vICAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglieXRlYyA0IC8vICAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGVjIDQgLy8gICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYm94VGVzdCgpdWludDI1NgoqYWJpX3JvdXRlX2JveFRlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94VGVzdCgpdWludDI1NgoJY2FsbHN1YiBib3hUZXN0CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBib3hUZXN0IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94VGVzdCgpOiB1aW50MjU2CmJveFRlc3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjg0CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9IDx1aW50MjU2PjEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYisKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB0aGlzLmJveEtleS52YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCglzd2FwCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NwoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnZhbHVlOwoJYnl0ZWMgMyAvLyAgImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWI+CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAzCgkvLyBsb2coJ25vblplcm8nKQoJcHVzaGJ5dGVzIDB4NmU2ZjZlNWE2NTcyNmYgLy8gIm5vblplcm8iCglsb2cKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTA1CgkvLyBsb2coJ3plcm8nKQoJcHVzaGJ5dGVzIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglwdXNoYnl0ZXMgMHgwMAoJaW50YyA0IC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHI6IEFkZHJlc3MpOiBib29sZWFuCmFkZHJlc3NUb0JpZ0ludDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTE4CgkvLyByZXR1cm4gYnRvYmlnaW50KGFkZHIpID4gYnRvYmlnaW50KHRoaXMudHhuLnNlbmRlcik7CglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJYj4KCXJldHN1YgoKLy8gdThUb3U2NCgpdWludDY0CiphYmlfcm91dGVfdThUb3U2NDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1OFRvdTY0KCl1aW50NjQKCWNhbGxzdWIgdThUb3U2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU4VG91NjQoKTogdWludDY0CnU4VG91NjQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTIyCgkvLyB4OiB1aW50OCA9IDcKCXB1c2hpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglwdXNoaW50IDEzMzcKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gPHVpbnQ4Pnggb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAzMSAxCglidG9pCgljYWxsc3ViIHByaXZhdGVGdW5jTmFtZQoJcmV0c3ViCgovLyBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYmlnaW50UGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJpZ2ludFBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaWdpbnRQbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpZ2ludFBsdXM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzUKCS8vIHggPSBpdG9iKGEpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzYKCS8vIHkgPSBpdG9iKGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzcKCS8vIHJldHVybiAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgMCAvLyB4OiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVbXQoJYisKCWR1cAoJYml0bGVuCglpbnRjIDExIC8vIDY0Cgk8PQoKCS8vIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDMgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYml0d2lzZU9yKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlT3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXR3aXNlT3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZU9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDEKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCXJldHN1YgoKLy8gYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VBbmQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlQW5kCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZUFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlQW5kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDUKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCXJldHN1YgoKLy8gYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VYb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlWG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZVhvcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlWG9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDkKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCXJldHN1YgoKLy8gYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlT3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlT3JVMjU2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZU9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlT3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTMKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYnwKCXJldHN1YgoKLy8gYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZUFuZFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VBbmRVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlQW5kVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmRVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VBbmRVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTcKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYiYKCXJldHN1YgoKLy8gYml0d2lzZVhvclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZVhvclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VYb3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlWG9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3JVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VYb3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjEKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYl4KCXJldHN1YgoKLy8gYml0d2lzZU5vdCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU5vdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU5vdAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3QoYTogdWludDY0KTogdWludDY0CmJpdHdpc2VOb3Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuIH5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJfgoJcmV0c3ViCgovLyBiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlTm90VTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYml0d2lzZU5vdFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VOb3RVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlTm90VTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3RVMjU2KGE6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VOb3RVMjU2OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjkKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglifgoJcmV0c3ViCgovLyBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfbXVsdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIG11bHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtdWx3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm11bHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzMKCS8vIHAgPSBtdWx3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgltdWx3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzcKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWRkdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFkZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGR3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmFkZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODEKCS8vIHAgPSBhZGR3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglhZGR3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODUKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGV4cHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHB3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4cHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODkKCS8vIHAgPSBleHB3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHB3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTMKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2dzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdncKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZ3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdnc6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE5NwoJLy8gcmV0dXJuIGRpdncoMCwgYSwgYik7CglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZGl2dwoJcmV0c3ViCgovLyBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2bW9kdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdm1vZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZtb2R3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdm1vZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDEKCS8vIHAgPSBkaXZtb2R3KDAsIGEsIDAsIGIpCglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyA0IC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdm1vZHcKCWZyYW1lX2J1cnkgMCAvLyBwIHJlbWFpbmRlckxvdzogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gcCByZW1haW5kZXJIaWdoOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMyAvLyBwIHF1b3RpZW50SGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDUKCS8vIHJldHVybiBwMi5xdW90aWVudExvdzsKCWZyYW1lX2RpZyAyIC8vIHAgcXVvdGllbnRMb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKLy8gdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKCWNhbGxzdWIgdW5zYWZlVmFyaWFibGVzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlVmFyaWFibGVzKCk6IHVpbnQ2NAp1bnNhZmVWYXJpYWJsZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDkKCS8vIEEgPSA8dWludDI1Nj4yNTAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGVlNmIyODAKCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjEwCgkvLyBCID0gPHVpbnQyNTY+MTAwMAoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTgKCWZyYW1lX2J1cnkgMSAvLyBCOiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTIKCS8vIEEgPSBBIC8gQgoJZnJhbWVfZGlnIDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCWJ5dGVjIDYgLy8gIEI6IHVpbnQyNTYKCWIvCglmcmFtZV9idXJ5IDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNAoJLy8gYyA9IEEgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJZHVwCgliaXRsZW4KCWludGMgMTEgLy8gNjQKCTw9CgoJLy8gQSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAzIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBjOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNgoJLy8gcmV0dXJuIGM7CglmcmFtZV9kaWcgMiAvLyBjOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGZvb2Jhcih1aW50MTI4KXVpbnQxMjgKKmFiaV9yb3V0ZV9mb29iYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIHg6IHVpbnQxMjgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDUgLy8gMTYKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZvb2JhciBtdXN0IGJlIGEgdWludDEyOAoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBmb29iYXIodWludDEyOCl1aW50MTI4CgljYWxsc3ViIGZvb2JhcgoJZHVwCgliaXRsZW4KCWludGMgMTIgLy8gMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA3IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1MzAKCWIvCglkdXAKCWJpdGxlbgoJaW50YyAxMiAvLyAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDcgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmCglyZXRzdWIKCi8vIHdpZGVSYXRpb1Rlc3QoKXVpbnQ2NAoqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgd2lkZVJhdGlvVGVzdCgpdWludDY0CgljYWxsc3ViIHdpZGVSYXRpb1Rlc3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB3aWRlUmF0aW9UZXN0KCk6IHVpbnQ2NAp3aWRlUmF0aW9UZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMzAKCS8vIHJldHVybiB3aWRlUmF0aW8oW1VpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpLCAyLCAzLCA0LCA1XSwgWzIsIDMsIDQsIDVdKTsKCWludGMgNiAvLyAxODQ0Njc0NDA3MzcwOTU1MTYxNQoJaW50YyA3IC8vIDIKCW11bHcKCWludGMgOCAvLyAzCgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDkgLy8gNAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAxMCAvLyA1Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDcgLy8gMgoJaW50YyA4IC8vIDMKCW11bHcKCWludGMgOSAvLyA0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDEwIC8vIDUKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2NlNmYxYWYgLy8gbWV0aG9kICJ1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDAzMWExODYgLy8gbWV0aG9kICJ1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGU1MmU0Mzk0IC8vIG1ldGhvZCAidTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTUwZDQ3ODkgLy8gbWV0aG9kICJ1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2NWJkZGE2ZSAvLyBtZXRob2QgInUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4MGE2YWQyODQgLy8gbWV0aG9kICJ1MjU2bWludXModWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMDQ0YmYyNCAvLyBtZXRob2QgInUyNTZtdWwodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhjNDhmOGMwNSAvLyBtZXRob2QgInUyNTZkaXYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMmUxZDYzMiAvLyBtZXRob2QgInU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgzOGIxYTM5ZSAvLyBtZXRob2QgIm1heFU2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NmMxMzZmMWQgLy8gbWV0aG9kICJleHBvbmVudCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyZGEyNTAyIC8vIG1ldGhvZCAidmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYiCglwdXNoYnl0ZXMgMHhhMmZlYWQ2YyAvLyBtZXRob2QgInVpbnQ4cGx1cyh1aW50OCx1aW50OCl1aW50OCIKCXB1c2hieXRlcyAweGQyMjU2ZjdhIC8vIG1ldGhvZCAidWludDhleHAodWludDgsdWludDgpdWludDgiCglwdXNoYnl0ZXMgMHhjMTdkNjI0ZSAvLyBtZXRob2QgInBsdXNFcXVhbHModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1Y2FiMDQzOCAvLyBtZXRob2QgInBsdXNFcXVhbHNGcm9tR2xvYmFsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTg5ODljY2QgLy8gbWV0aG9kICJib3hUZXN0KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NDgzMGI0ZGUgLy8gbWV0aG9kICJ1bnNhZmVNZXRob2RBcmdzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTFjNTVjZTUgLy8gbWV0aG9kICJ1aW50MjU2Q29tcGFyaXNvblR5cGUodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZDFkNDI2ZSAvLyBtZXRob2QgInNxdWFyZVJvb3QyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgxYzI5ODFmMSAvLyBtZXRob2QgInNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3Y2EwNGI5IC8vIG1ldGhvZCAiYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbCIKCXB1c2hieXRlcyAweGJiOTUyMzM4IC8vIG1ldGhvZCAidThUb3U2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDEyOGUyN2IgLy8gbWV0aG9kICJmdW5jTmFtZSh1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHhmOTE2Y2RiMyAvLyBtZXRob2QgImJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1MjczNzU0NSAvLyBtZXRob2QgImJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDc5YzFhZGMwIC8vIG1ldGhvZCAiYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyNDc0YWJjIC8vIG1ldGhvZCAiYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDA1OTNmZGY4IC8vIG1ldGhvZCAiYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDA2ZmI5MzM3IC8vIG1ldGhvZCAiYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgyNjQ5M2Q3OCAvLyBtZXRob2QgImJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTljMjJlZWEgLy8gbWV0aG9kICJiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhlZGUzZTliYyAvLyBtZXRob2QgImJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDJlNGEyMTY0IC8vIG1ldGhvZCAibXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDUwMTM0YjVhIC8vIG1ldGhvZCAiYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGY1M2FmZjliIC8vIG1ldGhvZCAiZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGNhZjcxMTBkIC8vIG1ldGhvZCAiZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGJlZDBlMzg2IC8vIG1ldGhvZCAiZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI3NGQ3NzA1IC8vIG1ldGhvZCAidW5zYWZlVmFyaWFibGVzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5MjQ2NWQwOCAvLyBtZXRob2QgImZvb2Jhcih1aW50MTI4KXVpbnQxMjgiCglwdXNoYnl0ZXMgMHhmMDFmYWNjZSAvLyBtZXRob2QgInVpbnRGcm9tSGV4KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NWFjOGEwYTAgLy8gbWV0aG9kICJ3aWRlUmF0aW9UZXN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3U2NHBsdXMgKmFiaV9yb3V0ZV91NjRtaW51cyAqYWJpX3JvdXRlX3U2NG11bCAqYWJpX3JvdXRlX3U2NGRpdiAqYWJpX3JvdXRlX3UyNTZwbHVzICphYmlfcm91dGVfdTI1Nm1pbnVzICphYmlfcm91dGVfdTI1Nm11bCAqYWJpX3JvdXRlX3UyNTZkaXYgKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTYgKmFiaV9yb3V0ZV9tYXhVNjQgKmFiaV9yb3V0ZV9leHBvbmVudCAqYWJpX3JvdXRlX3ZhcmlhYmxlVHlwZUhpbnQgKmFiaV9yb3V0ZV91aW50OHBsdXMgKmFiaV9yb3V0ZV91aW50OGV4cCAqYWJpX3JvdXRlX3BsdXNFcXVhbHMgKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbCAqYWJpX3JvdXRlX2JveFRlc3QgKmFiaV9yb3V0ZV91bnNhZmVNZXRob2RBcmdzICphYmlfcm91dGVfdWludDI1NkNvbXBhcmlzb25UeXBlICphYmlfcm91dGVfc3F1YXJlUm9vdDI1NiAqYWJpX3JvdXRlX3NxdWFyZVJvb3Q2NCAqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludCAqYWJpX3JvdXRlX3U4VG91NjQgKmFiaV9yb3V0ZV9mdW5jTmFtZSAqYWJpX3JvdXRlX2JpZ2ludFBsdXMgKmFiaV9yb3V0ZV9iaXR3aXNlT3IgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kICphYmlfcm91dGVfYml0d2lzZVhvciAqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VYb3JVMjU2ICphYmlfcm91dGVfYml0d2lzZU5vdCAqYWJpX3JvdXRlX2JpdHdpc2VOb3RVMjU2ICphYmlfcm91dGVfbXVsdyAqYWJpX3JvdXRlX2FkZHcgKmFiaV9yb3V0ZV9leHB3ICphYmlfcm91dGVfZGl2dyAqYWJpX3JvdXRlX2Rpdm1vZHcgKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXMgKmFiaV9yb3V0ZV9mb29iYXIgKmFiaV9yb3V0ZV91aW50RnJvbUhleCAqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/MathTest.arc56_draft.json b/tests/contracts/artifacts/MathTest.arc56_draft.json index 65feab323..60b47c0be 100644 --- a/tests/contracts/artifacts/MathTest.arc56_draft.json +++ b/tests/contracts/artifacts/MathTest.arc56_draft.json @@ -10993,7 +10993,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDI1NiA4IDAgMTYgMTg0NDY3NDQwNzM3MDk1NTE2MTUgMiAzIDQgNSA2NCAxMjgKYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4IDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweDYyNmY3ODRiNjU3OSAweDY3NGI2NTc5IDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweEZGRkZGRkZGRkZGRkZGRkYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50YyA2IC8vIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgNSAvLyAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgMyAvLyA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZWMgNCAvLyAgImdLZXkiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NzYKCS8vIHRoaXMuZ0tleS52YWx1ZSArPSBiCglieXRlYyA0IC8vICAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglieXRlYyA0IC8vICAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGVjIDQgLy8gICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYm94VGVzdCgpdWludDI1NgoqYWJpX3JvdXRlX2JveFRlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94VGVzdCgpdWludDI1NgoJY2FsbHN1YiBib3hUZXN0CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBib3hUZXN0IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94VGVzdCgpOiB1aW50MjU2CmJveFRlc3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjg0CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9IDx1aW50MjU2PjEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYisKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB0aGlzLmJveEtleS52YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCglzd2FwCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NwoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnZhbHVlOwoJYnl0ZWMgMyAvLyAgImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWI+CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAzCgkvLyBsb2coJ25vblplcm8nKQoJcHVzaGJ5dGVzIDB4NmU2ZjZlNWE2NTcyNmYgLy8gIm5vblplcm8iCglsb2cKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTA1CgkvLyBsb2coJ3plcm8nKQoJcHVzaGJ5dGVzIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglwdXNoYnl0ZXMgMHgwMAoJaW50YyA0IC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHI6IEFkZHJlc3MpOiBib29sZWFuCmFkZHJlc3NUb0JpZ0ludDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTE4CgkvLyByZXR1cm4gYnRvYmlnaW50KGFkZHIpID4gYnRvYmlnaW50KHRoaXMudHhuLnNlbmRlcik7CglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJYj4KCXJldHN1YgoKLy8gdThUb3U2NCgpdWludDY0CiphYmlfcm91dGVfdThUb3U2NDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1OFRvdTY0KCl1aW50NjQKCWNhbGxzdWIgdThUb3U2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU4VG91NjQoKTogdWludDY0CnU4VG91NjQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTIyCgkvLyB4OiB1aW50OCA9IDcKCXB1c2hpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglwdXNoaW50IDEzMzcKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gPHVpbnQ4Pnggb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAzMSAxCglidG9pCgljYWxsc3ViIHByaXZhdGVGdW5jTmFtZQoJcmV0c3ViCgovLyBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYmlnaW50UGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJpZ2ludFBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaWdpbnRQbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpZ2ludFBsdXM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzUKCS8vIHggPSBpdG9iKGEpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzYKCS8vIHkgPSBpdG9iKGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzcKCS8vIHJldHVybiAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgMCAvLyB4OiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVbXQoJYisKCWR1cAoJYml0bGVuCglpbnRjIDExIC8vIDY0Cgk8PQoKCS8vIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDMgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYml0d2lzZU9yKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlT3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXR3aXNlT3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZU9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDEKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCXJldHN1YgoKLy8gYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VBbmQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlQW5kCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZUFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlQW5kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDUKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCXJldHN1YgoKLy8gYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VYb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlWG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZVhvcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlWG9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDkKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCXJldHN1YgoKLy8gYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlT3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlT3JVMjU2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZU9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlT3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTMKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYnwKCXJldHN1YgoKLy8gYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZUFuZFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VBbmRVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlQW5kVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmRVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VBbmRVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTcKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYiYKCXJldHN1YgoKLy8gYml0d2lzZVhvclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZVhvclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VYb3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlWG9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3JVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VYb3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjEKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYl4KCXJldHN1YgoKLy8gYml0d2lzZU5vdCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU5vdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU5vdAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3QoYTogdWludDY0KTogdWludDY0CmJpdHdpc2VOb3Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuIH5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJfgoJcmV0c3ViCgovLyBiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlTm90VTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYml0d2lzZU5vdFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VOb3RVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlTm90VTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3RVMjU2KGE6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VOb3RVMjU2OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjkKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglifgoJcmV0c3ViCgovLyBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfbXVsdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIG11bHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtdWx3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm11bHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzMKCS8vIHAgPSBtdWx3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgltdWx3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzcKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWRkdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFkZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGR3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmFkZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODEKCS8vIHAgPSBhZGR3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglhZGR3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODUKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGV4cHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHB3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4cHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODkKCS8vIHAgPSBleHB3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHB3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTMKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2dzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdncKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZ3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdnc6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE5NwoJLy8gcmV0dXJuIGRpdncoMCwgYSwgYik7CglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZGl2dwoJcmV0c3ViCgovLyBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2bW9kdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdm1vZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZtb2R3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdm1vZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDEKCS8vIHAgPSBkaXZtb2R3KDAsIGEsIDAsIGIpCglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyA0IC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdm1vZHcKCWZyYW1lX2J1cnkgMCAvLyBwIHJlbWFpbmRlckxvdzogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gcCByZW1haW5kZXJIaWdoOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMyAvLyBwIHF1b3RpZW50SGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDUKCS8vIHJldHVybiBwMi5xdW90aWVudExvdzsKCWZyYW1lX2RpZyAyIC8vIHAgcXVvdGllbnRMb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKLy8gdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKCWNhbGxzdWIgdW5zYWZlVmFyaWFibGVzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlVmFyaWFibGVzKCk6IHVpbnQ2NAp1bnNhZmVWYXJpYWJsZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDkKCS8vIEEgPSA8dWludDI1Nj4yNTAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGVlNmIyODAKCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjEwCgkvLyBCID0gPHVpbnQyNTY+MTAwMAoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTgKCWZyYW1lX2J1cnkgMSAvLyBCOiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTIKCS8vIEEgPSBBIC8gQgoJZnJhbWVfZGlnIDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCWJ5dGVjIDYgLy8gIEI6IHVpbnQyNTYKCWIvCglmcmFtZV9idXJ5IDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNAoJLy8gYyA9IEEgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJZHVwCgliaXRsZW4KCWludGMgMTEgLy8gNjQKCTw9CgoJLy8gQSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAzIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBjOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNgoJLy8gcmV0dXJuIGM7CglmcmFtZV9kaWcgMiAvLyBjOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGZvb2Jhcih1aW50MTI4KXVpbnQxMjgKKmFiaV9yb3V0ZV9mb29iYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIHg6IHVpbnQxMjgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDUgLy8gMTYKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZvb2JhciBtdXN0IGJlIGEgdWludDEyOAoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBmb29iYXIodWludDEyOCl1aW50MTI4CgljYWxsc3ViIGZvb2JhcgoJZHVwCgliaXRsZW4KCWludGMgMTIgLy8gMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA3IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1MzAKCWIvCglkdXAKCWJpdGxlbgoJaW50YyAxMiAvLyAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDcgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmCglyZXRzdWIKCi8vIHdpZGVSYXRpb1Rlc3QoKXVpbnQ2NAoqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgd2lkZVJhdGlvVGVzdCgpdWludDY0CgljYWxsc3ViIHdpZGVSYXRpb1Rlc3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB3aWRlUmF0aW9UZXN0KCk6IHVpbnQ2NAp3aWRlUmF0aW9UZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMzAKCS8vIHJldHVybiB3aWRlUmF0aW8oW1VpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpLCAyLCAzLCA0LCA1XSwgWzIsIDMsIDQsIDVdKTsKCWludGMgNiAvLyAxODQ0Njc0NDA3MzcwOTU1MTYxNQoJaW50YyA3IC8vIDIKCW11bHcKCWludGMgOCAvLyAzCgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDkgLy8gNAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAxMCAvLyA1Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDcgLy8gMgoJaW50YyA4IC8vIDMKCW11bHcKCWludGMgOSAvLyA0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDEwIC8vIDUKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2NlNmYxYWYgLy8gbWV0aG9kICJ1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDAzMWExODYgLy8gbWV0aG9kICJ1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGU1MmU0Mzk0IC8vIG1ldGhvZCAidTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTUwZDQ3ODkgLy8gbWV0aG9kICJ1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2NWJkZGE2ZSAvLyBtZXRob2QgInUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4MGE2YWQyODQgLy8gbWV0aG9kICJ1MjU2bWludXModWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMDQ0YmYyNCAvLyBtZXRob2QgInUyNTZtdWwodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhjNDhmOGMwNSAvLyBtZXRob2QgInUyNTZkaXYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMmUxZDYzMiAvLyBtZXRob2QgInU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgzOGIxYTM5ZSAvLyBtZXRob2QgIm1heFU2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NmMxMzZmMWQgLy8gbWV0aG9kICJleHBvbmVudCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyZGEyNTAyIC8vIG1ldGhvZCAidmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYiCglwdXNoYnl0ZXMgMHhhMmZlYWQ2YyAvLyBtZXRob2QgInVpbnQ4cGx1cyh1aW50OCx1aW50OCl1aW50OCIKCXB1c2hieXRlcyAweGQyMjU2ZjdhIC8vIG1ldGhvZCAidWludDhleHAodWludDgsdWludDgpdWludDgiCglwdXNoYnl0ZXMgMHhjMTdkNjI0ZSAvLyBtZXRob2QgInBsdXNFcXVhbHModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1Y2FiMDQzOCAvLyBtZXRob2QgInBsdXNFcXVhbHNGcm9tR2xvYmFsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTg5ODljY2QgLy8gbWV0aG9kICJib3hUZXN0KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NDgzMGI0ZGUgLy8gbWV0aG9kICJ1bnNhZmVNZXRob2RBcmdzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTFjNTVjZTUgLy8gbWV0aG9kICJ1aW50MjU2Q29tcGFyaXNvblR5cGUodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZDFkNDI2ZSAvLyBtZXRob2QgInNxdWFyZVJvb3QyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgxYzI5ODFmMSAvLyBtZXRob2QgInNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3Y2EwNGI5IC8vIG1ldGhvZCAiYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbCIKCXB1c2hieXRlcyAweGJiOTUyMzM4IC8vIG1ldGhvZCAidThUb3U2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDEyOGUyN2IgLy8gbWV0aG9kICJmdW5jTmFtZSh1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHhmOTE2Y2RiMyAvLyBtZXRob2QgImJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1MjczNzU0NSAvLyBtZXRob2QgImJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDc5YzFhZGMwIC8vIG1ldGhvZCAiYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyNDc0YWJjIC8vIG1ldGhvZCAiYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDA1OTNmZGY4IC8vIG1ldGhvZCAiYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDA2ZmI5MzM3IC8vIG1ldGhvZCAiYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgyNjQ5M2Q3OCAvLyBtZXRob2QgImJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTljMjJlZWEgLy8gbWV0aG9kICJiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhlZGUzZTliYyAvLyBtZXRob2QgImJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDJlNGEyMTY0IC8vIG1ldGhvZCAibXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDUwMTM0YjVhIC8vIG1ldGhvZCAiYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGY1M2FmZjliIC8vIG1ldGhvZCAiZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGNhZjcxMTBkIC8vIG1ldGhvZCAiZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGJlZDBlMzg2IC8vIG1ldGhvZCAiZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI3NGQ3NzA1IC8vIG1ldGhvZCAidW5zYWZlVmFyaWFibGVzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5MjQ2NWQwOCAvLyBtZXRob2QgImZvb2Jhcih1aW50MTI4KXVpbnQxMjgiCglwdXNoYnl0ZXMgMHhmMDFmYWNjZSAvLyBtZXRob2QgInVpbnRGcm9tSGV4KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NWFjOGEwYTAgLy8gbWV0aG9kICJ3aWRlUmF0aW9UZXN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3U2NHBsdXMgKmFiaV9yb3V0ZV91NjRtaW51cyAqYWJpX3JvdXRlX3U2NG11bCAqYWJpX3JvdXRlX3U2NGRpdiAqYWJpX3JvdXRlX3UyNTZwbHVzICphYmlfcm91dGVfdTI1Nm1pbnVzICphYmlfcm91dGVfdTI1Nm11bCAqYWJpX3JvdXRlX3UyNTZkaXYgKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTYgKmFiaV9yb3V0ZV9tYXhVNjQgKmFiaV9yb3V0ZV9leHBvbmVudCAqYWJpX3JvdXRlX3ZhcmlhYmxlVHlwZUhpbnQgKmFiaV9yb3V0ZV91aW50OHBsdXMgKmFiaV9yb3V0ZV91aW50OGV4cCAqYWJpX3JvdXRlX3BsdXNFcXVhbHMgKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbCAqYWJpX3JvdXRlX2JveFRlc3QgKmFiaV9yb3V0ZV91bnNhZmVNZXRob2RBcmdzICphYmlfcm91dGVfdWludDI1NkNvbXBhcmlzb25UeXBlICphYmlfcm91dGVfc3F1YXJlUm9vdDI1NiAqYWJpX3JvdXRlX3NxdWFyZVJvb3Q2NCAqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludCAqYWJpX3JvdXRlX3U4VG91NjQgKmFiaV9yb3V0ZV9mdW5jTmFtZSAqYWJpX3JvdXRlX2JpZ2ludFBsdXMgKmFiaV9yb3V0ZV9iaXR3aXNlT3IgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kICphYmlfcm91dGVfYml0d2lzZVhvciAqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VYb3JVMjU2ICphYmlfcm91dGVfYml0d2lzZU5vdCAqYWJpX3JvdXRlX2JpdHdpc2VOb3RVMjU2ICphYmlfcm91dGVfbXVsdyAqYWJpX3JvdXRlX2FkZHcgKmFiaV9yb3V0ZV9leHB3ICphYmlfcm91dGVfZGl2dyAqYWJpX3JvdXRlX2Rpdm1vZHcgKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXMgKmFiaV9yb3V0ZV9mb29iYXIgKmFiaV9yb3V0ZV91aW50RnJvbUhleCAqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDI1NiA4IDAgMTYgMTg0NDY3NDQwNzM3MDk1NTE2MTUgMiAzIDQgNSA2NCAxMjgKYnl0ZWNibG9jayAweDE1MWY3Yzc1IDB4IDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweDYyNmY3ODRiNjU3OSAweDY3NGI2NTc5IDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTggMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRiAweEZGRkZGRkZGRkZGRkZGRkYKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfdTY0cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NHBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1NjRwbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NHBsdXM6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjgKCS8vIHJldHVybiBhICsgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSsKCXJldHN1YgoKLy8gdTY0bWludXModWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiB1NjRtaW51cwoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG1pbnVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NG1pbnVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMgoJLy8gcmV0dXJuIGEgLSBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJLQoJcmV0c3ViCgovLyB1NjRtdWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91NjRtdWw6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIHU2NG11bAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NG11bChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NAp1NjRtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2CgkvLyByZXR1cm4gYSAqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkqCglyZXRzdWIKCi8vIHU2NGRpdih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3U2NGRpdjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgdTY0ZGl2CglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTY0ZGl2KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnU2NGRpdjoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjAKCS8vIHJldHVybiBhIC8gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCS8KCXJldHN1YgoKLy8gdTI1NnBsdXModWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV91MjU2cGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1NnBsdXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZwbHVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZwbHVzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHUyNTZwbHVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyNAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIrCglyZXRzdWIKCi8vIHUyNTZtaW51cyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZtaW51czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm1pbnVzIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBhOiB1aW50MjU2Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDEgKGEpIGZvciB1MjU2bWludXMgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1Nm1pbnVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtaW51cwoJZHVwCgliaXRsZW4KCWludGMgMiAvLyAyNTYKCTw9CgoJLy8gdTI1Nm1pbnVzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1Nm1pbnVzKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtaW51czoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjgKCS8vIHJldHVybiA8dWludDI1Nj4oYSAtIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJcmV0c3ViCgovLyB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfdTI1Nm11bDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdTI1Nm11bCBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB1MjU2bXVsKHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHUyNTZtdWwKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHUyNTZtdWwgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1MjU2bXVsKGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnUyNTZtdWw6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjMyCgkvLyByZXR1cm4gPHVpbnQyNTY+KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYioKCXJldHN1YgoKLy8gdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3UyNTZkaXY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHUyNTZkaXYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdTI1NmRpdih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1MjU2ZGl2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1MjU2ZGl2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdTI1NmRpdihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1MjU2ZGl2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czozNgoJLy8gcmV0dXJuIDx1aW50MjU2PihhIC8gYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDI1NgoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQyNTYKCWIvCglyZXRzdWIKCi8vIHU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYKKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgdTY0UmV0dXJuMjU2KHVpbnQ2NCx1aW50NjQpdWludDI1NgoJY2FsbHN1YiB1NjRSZXR1cm4yNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHU2NFJldHVybjI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU2NFJldHVybjI1NihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQyNTYKdTY0UmV0dXJuMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0MAoJLy8gcmV0dXJuIDx1aW50MjU2PihhICsgYik7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglpdG9iCglyZXRzdWIKCi8vIG1heFU2NCgpdWludDY0CiphYmlfcm91dGVfbWF4VTY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIG1heFU2NCgpdWludDY0CgljYWxsc3ViIG1heFU2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG1heFU2NCgpOiB1aW50NjQKbWF4VTY0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo0NAoJLy8gcmV0dXJuIFVpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpOwoJaW50YyA2IC8vIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CglyZXRzdWIKCi8vIGV4cG9uZW50KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwb25lbnQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZXhwb25lbnQodWludDY0LHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgZXhwb25lbnQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHBvbmVudChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApleHBvbmVudDoKCXByb3RvIDIgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NDgKCS8vIHJldHVybiBhICoqIGI7CglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHAKCXJldHN1YgoKLy8gdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKKmFiaV9yb3V0ZV92YXJpYWJsZVR5cGVIaW50OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyB5OiB1aW50OAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMCAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKHkpIGZvciB2YXJpYWJsZVR5cGVIaW50IG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8geDogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxICh4KSBmb3IgdmFyaWFibGVUeXBlSGludCBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYKCWNhbGxzdWIgdmFyaWFibGVUeXBlSGludAoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgNSAvLyAxNgoJPD0KCgkvLyB2YXJpYWJsZVR5cGVIaW50IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDE2IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA2IDIKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB2YXJpYWJsZVR5cGVIaW50KHg6IHVpbnQ8OD4sIHk6IHVpbnQ8OD4pOiB1aW50MTYKdmFyaWFibGVUeXBlSGludDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAxIC8vIDB4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1MgoJLy8geiA9IDx1aW50MTY+KHggKyB5KQoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyB5OiB1aW50PDg+CgkrCglmcmFtZV9idXJ5IDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NTQKCS8vIHJldHVybiB6OwoJZnJhbWVfZGlnIDAgLy8gejogdW5zYWZlIHVpbnQxNgoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyB1aW50OHBsdXModWludDgsdWludDgpdWludDgKKmFiaV9yb3V0ZV91aW50OHBsdXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGE6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVpbnQ4cGx1cyBtdXN0IGJlIGEgdWludDgKCWFzc2VydAoJYnRvaQoKCS8vIGV4ZWN1dGUgdWludDhwbHVzKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4cGx1cwoJaXRvYgoJZHVwCgliaXRsZW4KCWludGMgMyAvLyA4Cgk8PQoKCS8vIHVpbnQ4cGx1cyByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCA3IDEKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB1aW50OHBsdXMoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhwbHVzOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo1OAoJLy8gcmV0dXJuIGEgKyBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CgkrCglyZXRzdWIKCi8vIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CiphYmlfcm91dGVfdWludDhleHA6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ4Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglkdXAKCWxlbgoJaW50YyAwIC8vIDEKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQ4ZXhwIG11c3QgYmUgYSB1aW50OAoJYXNzZXJ0CglidG9pCgoJLy8gYTogdWludDgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDAgLy8gMQoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDhleHAgbXVzdCBiZSBhIHVpbnQ4Cglhc3NlcnQKCWJ0b2kKCgkvLyBleGVjdXRlIHVpbnQ4ZXhwKHVpbnQ4LHVpbnQ4KXVpbnQ4CgljYWxsc3ViIHVpbnQ4ZXhwCglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gdWludDhleHAgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgOCBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNyAxCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludDhleHAoYTogdWludDw4PiwgYjogdWludDw4Pik6IHVpbnQ8OD4KdWludDhleHA6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjYyCgkvLyByZXR1cm4gYSAqKiBiOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ8OD4KCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50PDg+CglleHAKCXJldHN1YgoKLy8gcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX3BsdXNFcXVhbHM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgcGx1c0VxdWFscyh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcGx1c0VxdWFscyhhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApwbHVzRXF1YWxzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjY2CgkvLyB4ID0gYQoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ2NAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NjgKCS8vIHggKz0gYgoJZnJhbWVfZGlnIDAgLy8geDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglmcmFtZV9idXJ5IDAgLy8geDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3MAoJLy8gcmV0dXJuIHg7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gcGx1c0VxdWFsc0Zyb21HbG9iYWwodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBwbHVzRXF1YWxzRnJvbUdsb2JhbCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBwbHVzRXF1YWxzRnJvbUdsb2JhbAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHBsdXNFcXVhbHNGcm9tR2xvYmFsKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CnBsdXNFcXVhbHNGcm9tR2xvYmFsOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3NAoJLy8gdGhpcy5nS2V5LnZhbHVlID0gYQoJYnl0ZWMgNCAvLyAgImdLZXkiCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglhcHBfZ2xvYmFsX3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6NzYKCS8vIHRoaXMuZ0tleS52YWx1ZSArPSBiCglieXRlYyA0IC8vICAiZ0tleSIKCWFwcF9nbG9iYWxfZ2V0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgkrCglieXRlYyA0IC8vICAiZ0tleSIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo3OAoJLy8gcmV0dXJuIHRoaXMuZ0tleS52YWx1ZTsKCWJ5dGVjIDQgLy8gICJnS2V5IgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gYm94VGVzdCgpdWludDI1NgoqYWJpX3JvdXRlX2JveFRlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94VGVzdCgpdWludDI1NgoJY2FsbHN1YiBib3hUZXN0CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBib3hUZXN0IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94VGVzdCgpOiB1aW50MjU2CmJveFRlc3Q6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjg0CgkvLyB0aGlzLmJveEtleS52YWx1ZSA9IDx1aW50MjU2PjEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6ODUKCS8vIHRoaXMuYm94S2V5LnZhbHVlICs9IDEKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyA1IC8vIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQoJYisKCWJ5dGVjIDMgLy8gICJib3hLZXkiCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB0aGlzLmJveEtleS52YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCglzd2FwCglib3hfcHV0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czo4NwoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnZhbHVlOwoJYnl0ZWMgMyAvLyAgImJveEtleSIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94S2V5LnZhbHVlCglhc3NlcnQKCXJldHN1YgoKLy8gZm9vKHg6IHVpbnQyNTYpOiB1aW50MjU2CmZvbzoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTEKCS8vIHJldHVybiB4OwoJZnJhbWVfZGlnIC0xIC8vIHg6IHVpbnQyNTYKCXJldHN1YgoKLy8gdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX3Vuc2FmZU1ldGhvZEFyZ3M6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIHVuc2FmZU1ldGhvZEFyZ3MgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgdW5zYWZlTWV0aG9kQXJncyh1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiB1bnNhZmVNZXRob2RBcmdzCglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyB1bnNhZmVNZXRob2RBcmdzIHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlTWV0aG9kQXJncyhhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1Ngp1bnNhZmVNZXRob2RBcmdzOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjk1CgkvLyBjID0gYSArIGIKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYisKCWZyYW1lX2J1cnkgMCAvLyBjOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6OTcKCS8vIHJldHVybiB0aGlzLmZvbyhjKTsKCWZyYW1lX2RpZyAwIC8vIGM6IHVuc2FmZSB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBjIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNhbGxzdWIgZm9vCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoqYWJpX3JvdXRlX3VpbnQyNTZDb21wYXJpc29uVHlwZToKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIHVpbnQyNTZDb21wYXJpc29uVHlwZSBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3IgdWludDI1NkNvbXBhcmlzb25UeXBlIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIHVpbnQyNTZDb21wYXJpc29uVHlwZSh1aW50MjU2LHVpbnQyNTYpdm9pZAoJY2FsbHN1YiB1aW50MjU2Q29tcGFyaXNvblR5cGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHVpbnQyNTZDb21wYXJpc29uVHlwZShhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdm9pZAp1aW50MjU2Q29tcGFyaXNvblR5cGU6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAxCgkvLyBzZW5kZXJCYWxhbmNlQWZ0ZXIgPSBhIC0gYgoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliLQoJZnJhbWVfYnVyeSAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCgkvLyAqaWYwX2NvbmRpdGlvbgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMDIKCS8vIHNlbmRlckJhbGFuY2VBZnRlciA+IDx1aW50MjU2PjAKCWZyYW1lX2RpZyAwIC8vIHNlbmRlckJhbGFuY2VBZnRlcjogdW5zYWZlIHVpbnQyNTYKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKCWI+CglieiAqaWYwX2Vsc2UKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTAzCgkvLyBsb2coJ25vblplcm8nKQoJcHVzaGJ5dGVzIDB4NmU2ZjZlNWE2NTcyNmYgLy8gIm5vblplcm8iCglsb2cKCWIgKmlmMF9lbmQKCippZjBfZWxzZToKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTA1CgkvLyBsb2coJ3plcm8nKQoJcHVzaGJ5dGVzIDB4N2E2NTcyNmYgLy8gInplcm8iCglsb2cKCippZjBfZW5kOgoJcmV0c3ViCgovLyBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CiphYmlfcm91dGVfc3F1YXJlUm9vdDI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChhKSBmb3Igc3F1YXJlUm9vdDI1NiBtdXN0IGJlIGEgdWludDI1NgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBzcXVhcmVSb290MjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIHNxdWFyZVJvb3QyNTYKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHNxdWFyZVJvb3QyNTYgcmV0dXJuIHZhbHVlIG92ZXJmbG93ZWQgMjU2IGJpdHMKCWFzc2VydAoJYnl0ZWMgMiAvLyAweEZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDEgLy8gMzIKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290MjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CnNxdWFyZVJvb3QyNTY6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjExMAoJLy8gcmV0dXJuIHNxcnQoYSAqIGIpOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQyNTYKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50MjU2CgliKgoJYnNxcnQKCXJldHN1YgoKLy8gc3F1YXJlUm9vdDY0KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfc3F1YXJlUm9vdDY0OgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBzcXVhcmVSb290NjQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcXVhcmVSb290NjQoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKc3F1YXJlUm9vdDY0OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMTQKCS8vIHJldHVybiBzcXJ0KGEgKiBiKTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSoKCXNxcnQKCXJldHN1YgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbAoqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYWRkcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyKSBmb3IgYWRkcmVzc1RvQmlnSW50IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGFkZHJlc3NUb0JpZ0ludChhZGRyZXNzKWJvb2wKCWNhbGxzdWIgYWRkcmVzc1RvQmlnSW50CglwdXNoYnl0ZXMgMHgwMAoJaW50YyA0IC8vIDAKCXVuY292ZXIgMgoJc2V0Yml0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWRkcmVzc1RvQmlnSW50KGFkZHI6IEFkZHJlc3MpOiBib29sZWFuCmFkZHJlc3NUb0JpZ0ludDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTE4CgkvLyByZXR1cm4gYnRvYmlnaW50KGFkZHIpID4gYnRvYmlnaW50KHRoaXMudHhuLnNlbmRlcik7CglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJdHhuIFNlbmRlcgoJYj4KCXJldHN1YgoKLy8gdThUb3U2NCgpdWludDY0CiphYmlfcm91dGVfdThUb3U2NDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSB1OFRvdTY0KCl1aW50NjQKCWNhbGxzdWIgdThUb3U2NAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHU4VG91NjQoKTogdWludDY0CnU4VG91NjQ6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MTIyCgkvLyB4OiB1aW50OCA9IDcKCXB1c2hpbnQgNwoJZnJhbWVfYnVyeSAwIC8vIHg6IHVpbnQ4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjMKCS8vIHJldHVybiA8dWludDY0Png7CglmcmFtZV9kaWcgMCAvLyB4OiB1aW50OAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBwcml2YXRlRnVuY05hbWUoeDogdWludDgsIHk6IHVpbnQ2NCk6IHZvaWQKcHJpdmF0ZUZ1bmNOYW1lOgoJcHJvdG8gMiAwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMjcKCS8vIGFzc2VydCg8dWludDg+eSA+IHgpCglmcmFtZV9kaWcgLTIgLy8geTogdWludDY0CglmcmFtZV9kaWcgLTEgLy8geDogdWludDgKCT4KCWFzc2VydAoJcmV0c3ViCgovLyBmdW5jTmFtZSh1aW50MjU2KXZvaWQKKmFiaV9yb3V0ZV9mdW5jTmFtZToKCS8vIHg6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZ1bmNOYW1lIG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGZ1bmNOYW1lKHVpbnQyNTYpdm9pZAoJY2FsbHN1YiBmdW5jTmFtZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZnVuY05hbWUoeDogdWludDI1Nik6IHZvaWQKZnVuY05hbWU6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjEzMQoJLy8gdGhpcy5wcml2YXRlRnVuY05hbWUoPHVpbnQ4PngsIDEzMzcpCglwdXNoaW50IDEzMzcKCWZyYW1lX2RpZyAtMSAvLyB4OiB1aW50MjU2CglkdXAKCWJpdGxlbgoJaW50YyAzIC8vIDgKCTw9CgoJLy8gPHVpbnQ4Pnggb3ZlcmZsb3dlZCA4IGJpdHMKCWFzc2VydAoJZXh0cmFjdCAzMSAxCglidG9pCgljYWxsc3ViIHByaXZhdGVGdW5jTmFtZQoJcmV0c3ViCgovLyBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYmlnaW50UGx1czoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaWdpbnRQbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGJpZ2ludFBsdXMKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaWdpbnRQbHVzKGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmJpZ2ludFBsdXM6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzUKCS8vIHggPSBpdG9iKGEpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDAgLy8geDogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzYKCS8vIHkgPSBpdG9iKGIpCglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglpdG9iCglmcmFtZV9idXJ5IDEgLy8geTogYnl0ZVtdCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxMzcKCS8vIHJldHVybiAoYnRvYmlnaW50KHgpICsgYnRvYmlnaW50KHkpKSBhcyB1aW50NjQ7CglmcmFtZV9kaWcgMCAvLyB4OiBieXRlW10KCWZyYW1lX2RpZyAxIC8vIHk6IGJ5dGVbXQoJYisKCWR1cAoJYml0bGVuCglpbnRjIDExIC8vIDY0Cgk8PQoKCS8vIChidG9iaWdpbnQoeCkgKyBidG9iaWdpbnQoeSkpIGFzIHVpbnQ2NCBvdmVyZmxvd2VkIDY0IGJpdHMKCWFzc2VydAoJYnl0ZWMgOCAvLyAweEZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDMgLy8gOAoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJYnRvaQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gYml0d2lzZU9yKHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU9yOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAwIC8vIDB4MTUxZjdjNzUKCgkvLyBiOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBhOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlT3IKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiaXR3aXNlT3IoYTogdWludDY0LCBiOiB1aW50NjQpOiB1aW50NjQKYml0d2lzZU9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDEKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCXwKCXJldHN1YgoKLy8gYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VBbmQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlQW5kCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZUFuZChhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlQW5kOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDUKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCSYKCXJldHN1YgoKLy8gYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoqYWJpX3JvdXRlX2JpdHdpc2VYb3I6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGE6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBiaXR3aXNlWG9yCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZVhvcihhOiB1aW50NjQsIGI6IHVpbnQ2NCk6IHVpbnQ2NApiaXR3aXNlWG9yOgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNDkKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCV4KCXJldHN1YgoKLy8gYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTY6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGI6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYikgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VPclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NgoJY2FsbHN1YiBiaXR3aXNlT3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlT3JVMjU2IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYml0d2lzZU9yVTI1NihhOiB1aW50MjU2LCBiOiB1aW50MjU2KTogdWludDI1NgpiaXR3aXNlT3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTMKCS8vIHJldHVybiBhIHwgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYnwKCXJldHN1YgoKLy8gYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZUFuZFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VBbmRVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VBbmRVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VBbmRVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlQW5kVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VBbmRVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VBbmRVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNTcKCS8vIHJldHVybiBhICYgYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYiYKCXJldHN1YgoKLy8gYml0d2lzZVhvclUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlWG9yVTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChiKSBmb3IgYml0d2lzZVhvclUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGE6IHVpbnQyNTYKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoYSkgZm9yIGJpdHdpc2VYb3JVMjU2IG11c3QgYmUgYSB1aW50MjU2Cglhc3NlcnQKCgkvLyBleGVjdXRlIGJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VYb3JVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlWG9yVTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VYb3JVMjU2KGE6IHVpbnQyNTYsIGI6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VYb3JVMjU2OgoJcHJvdG8gMiAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjEKCS8vIHJldHVybiBhIF4gYjsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDI1NgoJYl4KCXJldHN1YgoKLy8gYml0d2lzZU5vdCh1aW50NjQpdWludDY0CiphYmlfcm91dGVfYml0d2lzZU5vdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQKCWNhbGxzdWIgYml0d2lzZU5vdAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3QoYTogdWludDY0KTogdWludDY0CmJpdHdpc2VOb3Q6Cglwcm90byAxIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE2NQoJLy8gcmV0dXJuIH5hOwoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJfgoJcmV0c3ViCgovLyBiaXR3aXNlTm90VTI1Nih1aW50MjU2KXVpbnQyNTYKKmFiaV9yb3V0ZV9iaXR3aXNlTm90VTI1NjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYTogdWludDI1NgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgYml0d2lzZU5vdFUyNTYgbXVzdCBiZSBhIHVpbnQyNTYKCWFzc2VydAoKCS8vIGV4ZWN1dGUgYml0d2lzZU5vdFUyNTYodWludDI1Nil1aW50MjU2CgljYWxsc3ViIGJpdHdpc2VOb3RVMjU2CglkdXAKCWJpdGxlbgoJaW50YyAyIC8vIDI1NgoJPD0KCgkvLyBiaXR3aXNlTm90VTI1NiByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAyNTYgYml0cwoJYXNzZXJ0CglieXRlYyAyIC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgMSAvLyAzMgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJpdHdpc2VOb3RVMjU2KGE6IHVpbnQyNTYpOiB1aW50MjU2CmJpdHdpc2VOb3RVMjU2OgoJcHJvdG8gMSAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNjkKCS8vIHJldHVybiB+YTsKCWZyYW1lX2RpZyAtMSAvLyBhOiB1aW50MjU2CglifgoJcmV0c3ViCgovLyBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfbXVsdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBtdWx3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIG11bHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBtdWx3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0Cm11bHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzMKCS8vIHAgPSBtdWx3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CgltdWx3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxNzcKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfYWRkdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBhZGR3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGFkZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBhZGR3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmFkZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODEKCS8vIHAgPSBhZGR3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglhZGR3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODUKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZXhwdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBleHB3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGV4cHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBleHB3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmV4cHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxODkKCS8vIHAgPSBleHB3KGEsIGIpCglmcmFtZV9kaWcgLTEgLy8gYTogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gYjogdWludDY0CglleHB3CglmcmFtZV9idXJ5IDAgLy8gcCBsb3c6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHAgaGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoxOTMKCS8vIHJldHVybiBwMi5sb3c7CglmcmFtZV9kaWcgMCAvLyBwIGxvdzogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2dzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZ3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdncKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZ3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdnc6Cglwcm90byAyIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjE5NwoJLy8gcmV0dXJuIGRpdncoMCwgYSwgYik7CglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGI6IHVpbnQ2NAoJZGl2dwoJcmV0c3ViCgovLyBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CiphYmlfcm91dGVfZGl2bW9kdzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMCAvLyAweDE1MWY3Yzc1CgoJLy8gYjogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gYTogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSBkaXZtb2R3KHVpbnQ2NCx1aW50NjQpdWludDY0CgljYWxsc3ViIGRpdm1vZHcKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBkaXZtb2R3KGE6IHVpbnQ2NCwgYjogdWludDY0KTogdWludDY0CmRpdm1vZHc6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAzCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDEKCS8vIHAgPSBkaXZtb2R3KDAsIGEsIDAsIGIpCglpbnRjIDQgLy8gMAoJZnJhbWVfZGlnIC0xIC8vIGE6IHVpbnQ2NAoJaW50YyA0IC8vIDAKCWZyYW1lX2RpZyAtMiAvLyBiOiB1aW50NjQKCWRpdm1vZHcKCWZyYW1lX2J1cnkgMCAvLyBwIHJlbWFpbmRlckxvdzogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gcCByZW1haW5kZXJIaWdoOiB1aW50NjQKCWZyYW1lX2J1cnkgMiAvLyBwIHF1b3RpZW50TG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMyAvLyBwIHF1b3RpZW50SGlnaDogdWludDY0CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDUKCS8vIHJldHVybiBwMi5xdW90aWVudExvdzsKCWZyYW1lX2RpZyAyIC8vIHAgcXVvdGllbnRMb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDMKCXJldHN1YgoKLy8gdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXM6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdW5zYWZlVmFyaWFibGVzKCl1aW50NjQKCWNhbGxzdWIgdW5zYWZlVmFyaWFibGVzCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdW5zYWZlVmFyaWFibGVzKCk6IHVpbnQ2NAp1bnNhZmVWYXJpYWJsZXM6Cglwcm90byAwIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMSAvLyAweAoJZHVwbiAyCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMDkKCS8vIEEgPSA8dWludDI1Nj4yNTAwMDAwMDAKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGVlNmIyODAKCWZyYW1lX2J1cnkgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjEwCgkvLyBCID0gPHVpbnQyNTY+MTAwMAoJYnl0ZWMgNiAvLyAweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzZTgKCWZyYW1lX2J1cnkgMSAvLyBCOiB1aW50MjU2CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMTIKCS8vIEEgPSBBIC8gQgoJZnJhbWVfZGlnIDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCWJ5dGVjIDYgLy8gIEI6IHVpbnQyNTYKCWIvCglmcmFtZV9idXJ5IDAgLy8gQTogdW5zYWZlIHVpbnQyNTYKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNAoJLy8gYyA9IEEgYXMgdWludDY0CglmcmFtZV9kaWcgMCAvLyBBOiB1bnNhZmUgdWludDI1NgoJZHVwCgliaXRsZW4KCWludGMgMTEgLy8gNjQKCTw9CgoJLy8gQSBhcyB1aW50NjQgb3ZlcmZsb3dlZCA2NCBiaXRzCglhc3NlcnQKCWJ5dGVjIDggLy8gMHhGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAzIC8vIDgKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWJ0b2kKCWZyYW1lX2J1cnkgMiAvLyBjOiB1aW50NjQKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIxNgoJLy8gcmV0dXJuIGM7CglmcmFtZV9kaWcgMiAvLyBjOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGZvb2Jhcih1aW50MTI4KXVpbnQxMjgKKmFiaV9yb3V0ZV9mb29iYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIHg6IHVpbnQxMjgKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDUgLy8gMTYKCT09CgoJLy8gYXJndW1lbnQgMCAoeCkgZm9yIGZvb2JhciBtdXN0IGJlIGEgdWludDEyOAoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBmb29iYXIodWludDEyOCl1aW50MTI4CgljYWxsc3ViIGZvb2JhcgoJZHVwCgliaXRsZW4KCWludGMgMTIgLy8gMTI4Cgk8PQoKCS8vIGZvb2JhciByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxMjggYml0cwoJYXNzZXJ0CglieXRlYyA3IC8vIDB4RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYKCWImCglkdXAKCWxlbgoJZHVwCglpbnRjIDUgLy8gMTYKCS0KCXN3YXAKCXN1YnN0cmluZzMKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb29iYXIoeDogdWludDEyOCk6IHVpbnQxMjgKZm9vYmFyOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDEgLy8gMHgKCgkvLyB0ZXN0cy9jb250cmFjdHMvbWF0aC5hbGdvLnRzOjIyMAoJLy8gYXZnU3Rha2U6IHVpbnQxMjggPSB4IC8gKDMwMDAwIGFzIHVpbnQxMjgpCglmcmFtZV9kaWcgLTEgLy8geDogdWludDEyOAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1MzAKCWIvCglkdXAKCWJpdGxlbgoJaW50YyAxMiAvLyAxMjgKCTw9CgoJLy8geCAvICgzMDAwMCBhcyB1aW50MTI4KSBvdmVyZmxvd2VkIDEyOCBiaXRzCglhc3NlcnQKCWJ5dGVjIDcgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgoJYiYKCWR1cAoJbGVuCglkdXAKCWludGMgNSAvLyAxNgoJLQoJc3dhcAoJc3Vic3RyaW5nMwoJZnJhbWVfYnVyeSAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMjIKCS8vIHJldHVybiBhdmdTdGFrZTsKCWZyYW1lX2RpZyAwIC8vIGF2Z1N0YWtlOiB1aW50MTI4CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIHVpbnRGcm9tSGV4KCl1aW50MjU2CiphYmlfcm91dGVfdWludEZyb21IZXg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgdWludEZyb21IZXgoKXVpbnQyNTYKCWNhbGxzdWIgdWludEZyb21IZXgKCWR1cAoJYml0bGVuCglpbnRjIDIgLy8gMjU2Cgk8PQoKCS8vIHVpbnRGcm9tSGV4IHJldHVybiB2YWx1ZSBvdmVyZmxvd2VkIDI1NiBiaXRzCglhc3NlcnQKCWJ5dGVjIDIgLy8gMHhGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCgliJgoJZHVwCglsZW4KCWR1cAoJaW50YyAxIC8vIDMyCgktCglzd2FwCglzdWJzdHJpbmczCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdWludEZyb21IZXgoKTogdWludDI1Ngp1aW50RnJvbUhleDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9tYXRoLmFsZ28udHM6MjI2CgkvLyByZXR1cm4gVWludDwyNTY+KCcweEZGJyk7CglwdXNoYnl0ZXMgMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGZmCglyZXRzdWIKCi8vIHdpZGVSYXRpb1Rlc3QoKXVpbnQ2NAoqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDAgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgd2lkZVJhdGlvVGVzdCgpdWludDY0CgljYWxsc3ViIHdpZGVSYXRpb1Rlc3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB3aWRlUmF0aW9UZXN0KCk6IHVpbnQ2NAp3aWRlUmF0aW9UZXN0OgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL21hdGguYWxnby50czoyMzAKCS8vIHJldHVybiB3aWRlUmF0aW8oW1VpbnQ8NjQ+KCcxODQ0Njc0NDA3MzcwOTU1MTYxNScpLCAyLCAzLCA0LCA1XSwgWzIsIDMsIDQsIDVdKTsKCWludGMgNiAvLyAxODQ0Njc0NDA3MzcwOTU1MTYxNQoJaW50YyA3IC8vIDIKCW11bHcKCWludGMgOCAvLyAzCgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDkgLy8gNAoJdW5jb3ZlciAyCglkaWcgMQoJKgoJY292ZXIgMgoJbXVsdwoJY292ZXIgMgoJKwoJc3dhcAoJaW50YyAxMCAvLyA1Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDcgLy8gMgoJaW50YyA4IC8vIDMKCW11bHcKCWludGMgOSAvLyA0Cgl1bmNvdmVyIDIKCWRpZyAxCgkqCgljb3ZlciAyCgltdWx3Cgljb3ZlciAyCgkrCglzd2FwCglpbnRjIDEwIC8vIDUKCXVuY292ZXIgMgoJZGlnIDEKCSoKCWNvdmVyIDIKCW11bHcKCWNvdmVyIDIKCSsKCXN3YXAKCWRpdm1vZHcKCXBvcAoJcG9wCglzd2FwCgkhCgoJLy8gd2lkZVJhdGlvIGZhaWxlZAoJYXNzZXJ0CglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4M2NlNmYxYWYgLy8gbWV0aG9kICJ1NjRwbHVzKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDAzMWExODYgLy8gbWV0aG9kICJ1NjRtaW51cyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGU1MmU0Mzk0IC8vIG1ldGhvZCAidTY0bXVsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTUwZDQ3ODkgLy8gbWV0aG9kICJ1NjRkaXYodWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg2NWJkZGE2ZSAvLyBtZXRob2QgInUyNTZwbHVzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4MGE2YWQyODQgLy8gbWV0aG9kICJ1MjU2bWludXModWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMDQ0YmYyNCAvLyBtZXRob2QgInUyNTZtdWwodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhjNDhmOGMwNSAvLyBtZXRob2QgInUyNTZkaXYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHhmMmUxZDYzMiAvLyBtZXRob2QgInU2NFJldHVybjI1Nih1aW50NjQsdWludDY0KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgzOGIxYTM5ZSAvLyBtZXRob2QgIm1heFU2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NmMxMzZmMWQgLy8gbWV0aG9kICJleHBvbmVudCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyZGEyNTAyIC8vIG1ldGhvZCAidmFyaWFibGVUeXBlSGludCh1aW50OCx1aW50OCl1aW50MTYiCglwdXNoYnl0ZXMgMHhhMmZlYWQ2YyAvLyBtZXRob2QgInVpbnQ4cGx1cyh1aW50OCx1aW50OCl1aW50OCIKCXB1c2hieXRlcyAweGQyMjU2ZjdhIC8vIG1ldGhvZCAidWludDhleHAodWludDgsdWludDgpdWludDgiCglwdXNoYnl0ZXMgMHhjMTdkNjI0ZSAvLyBtZXRob2QgInBsdXNFcXVhbHModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1Y2FiMDQzOCAvLyBtZXRob2QgInBsdXNFcXVhbHNGcm9tR2xvYmFsKHVpbnQ2NCx1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NTg5ODljY2QgLy8gbWV0aG9kICJib3hUZXN0KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NDgzMGI0ZGUgLy8gbWV0aG9kICJ1bnNhZmVNZXRob2RBcmdzKHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTFjNTVjZTUgLy8gbWV0aG9kICJ1aW50MjU2Q29tcGFyaXNvblR5cGUodWludDI1Nix1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHg3ZDFkNDI2ZSAvLyBtZXRob2QgInNxdWFyZVJvb3QyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgxYzI5ODFmMSAvLyBtZXRob2QgInNxdWFyZVJvb3Q2NCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGI3Y2EwNGI5IC8vIG1ldGhvZCAiYWRkcmVzc1RvQmlnSW50KGFkZHJlc3MpYm9vbCIKCXB1c2hieXRlcyAweGJiOTUyMzM4IC8vIG1ldGhvZCAidThUb3U2NCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4MDEyOGUyN2IgLy8gbWV0aG9kICJmdW5jTmFtZSh1aW50MjU2KXZvaWQiCglwdXNoYnl0ZXMgMHhmOTE2Y2RiMyAvLyBtZXRob2QgImJpZ2ludFBsdXModWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHg1MjczNzU0NSAvLyBtZXRob2QgImJpdHdpc2VPcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDc5YzFhZGMwIC8vIG1ldGhvZCAiYml0d2lzZUFuZCh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDIyNDc0YWJjIC8vIG1ldGhvZCAiYml0d2lzZVhvcih1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDA1OTNmZGY4IC8vIG1ldGhvZCAiYml0d2lzZU9yVTI1Nih1aW50MjU2LHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDA2ZmI5MzM3IC8vIG1ldGhvZCAiYml0d2lzZUFuZFUyNTYodWludDI1Nix1aW50MjU2KXVpbnQyNTYiCglwdXNoYnl0ZXMgMHgyNjQ5M2Q3OCAvLyBtZXRob2QgImJpdHdpc2VYb3JVMjU2KHVpbnQyNTYsdWludDI1Nil1aW50MjU2IgoJcHVzaGJ5dGVzIDB4ZTljMjJlZWEgLy8gbWV0aG9kICJiaXR3aXNlTm90KHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHhlZGUzZTliYyAvLyBtZXRob2QgImJpdHdpc2VOb3RVMjU2KHVpbnQyNTYpdWludDI1NiIKCXB1c2hieXRlcyAweDJlNGEyMTY0IC8vIG1ldGhvZCAibXVsdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDUwMTM0YjVhIC8vIG1ldGhvZCAiYWRkdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGY1M2FmZjliIC8vIG1ldGhvZCAiZXhwdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGNhZjcxMTBkIC8vIG1ldGhvZCAiZGl2dyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweGJlZDBlMzg2IC8vIG1ldGhvZCAiZGl2bW9kdyh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXB1c2hieXRlcyAweDI3NGQ3NzA1IC8vIG1ldGhvZCAidW5zYWZlVmFyaWFibGVzKCl1aW50NjQiCglwdXNoYnl0ZXMgMHg5MjQ2NWQwOCAvLyBtZXRob2QgImZvb2Jhcih1aW50MTI4KXVpbnQxMjgiCglwdXNoYnl0ZXMgMHhmMDFmYWNjZSAvLyBtZXRob2QgInVpbnRGcm9tSGV4KCl1aW50MjU2IgoJcHVzaGJ5dGVzIDB4NWFjOGEwYTAgLy8gbWV0aG9kICJ3aWRlUmF0aW9UZXN0KCl1aW50NjQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX3U2NHBsdXMgKmFiaV9yb3V0ZV91NjRtaW51cyAqYWJpX3JvdXRlX3U2NG11bCAqYWJpX3JvdXRlX3U2NGRpdiAqYWJpX3JvdXRlX3UyNTZwbHVzICphYmlfcm91dGVfdTI1Nm1pbnVzICphYmlfcm91dGVfdTI1Nm11bCAqYWJpX3JvdXRlX3UyNTZkaXYgKmFiaV9yb3V0ZV91NjRSZXR1cm4yNTYgKmFiaV9yb3V0ZV9tYXhVNjQgKmFiaV9yb3V0ZV9leHBvbmVudCAqYWJpX3JvdXRlX3ZhcmlhYmxlVHlwZUhpbnQgKmFiaV9yb3V0ZV91aW50OHBsdXMgKmFiaV9yb3V0ZV91aW50OGV4cCAqYWJpX3JvdXRlX3BsdXNFcXVhbHMgKmFiaV9yb3V0ZV9wbHVzRXF1YWxzRnJvbUdsb2JhbCAqYWJpX3JvdXRlX2JveFRlc3QgKmFiaV9yb3V0ZV91bnNhZmVNZXRob2RBcmdzICphYmlfcm91dGVfdWludDI1NkNvbXBhcmlzb25UeXBlICphYmlfcm91dGVfc3F1YXJlUm9vdDI1NiAqYWJpX3JvdXRlX3NxdWFyZVJvb3Q2NCAqYWJpX3JvdXRlX2FkZHJlc3NUb0JpZ0ludCAqYWJpX3JvdXRlX3U4VG91NjQgKmFiaV9yb3V0ZV9mdW5jTmFtZSAqYWJpX3JvdXRlX2JpZ2ludFBsdXMgKmFiaV9yb3V0ZV9iaXR3aXNlT3IgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kICphYmlfcm91dGVfYml0d2lzZVhvciAqYWJpX3JvdXRlX2JpdHdpc2VPclUyNTYgKmFiaV9yb3V0ZV9iaXR3aXNlQW5kVTI1NiAqYWJpX3JvdXRlX2JpdHdpc2VYb3JVMjU2ICphYmlfcm91dGVfYml0d2lzZU5vdCAqYWJpX3JvdXRlX2JpdHdpc2VOb3RVMjU2ICphYmlfcm91dGVfbXVsdyAqYWJpX3JvdXRlX2FkZHcgKmFiaV9yb3V0ZV9leHB3ICphYmlfcm91dGVfZGl2dyAqYWJpX3JvdXRlX2Rpdm1vZHcgKmFiaV9yb3V0ZV91bnNhZmVWYXJpYWJsZXMgKmFiaV9yb3V0ZV9mb29iYXIgKmFiaV9yb3V0ZV91aW50RnJvbUhleCAqYWJpX3JvdXRlX3dpZGVSYXRpb1Rlc3QKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/MultiInheritance.approval.teal b/tests/contracts/artifacts/MultiInheritance.approval.teal index db065032a..478cc2bef 100644 --- a/tests/contracts/artifacts/MultiInheritance.approval.teal +++ b/tests/contracts/artifacts/MultiInheritance.approval.teal @@ -2,7 +2,7 @@ intcblock 1 1337 bytecblock 0x61 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/MultiInheritance.arc32.json b/tests/contracts/artifacts/MultiInheritance.arc32.json index fe4143636..26c9f386f 100644 --- a/tests/contracts/artifacts/MultiInheritance.arc32.json +++ b/tests/contracts/artifacts/MultiInheritance.arc32.json @@ -63,7 +63,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKLy8gZm9vKCl2b2lkCiphYmlfcm91dGVfZm9vOgoJLy8gZXhlY3V0ZSBmb28oKXZvaWQKCWNhbGxzdWIgZm9vCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb28oKTogdm9pZApmb286Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo5NAoJLy8gbG9nKEIyLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODQ0NjdhZmYgLy8gbWV0aG9kICJmb28oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYjIgKmFiaV9yb3V0ZV9mb28KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKLy8gZm9vKCl2b2lkCiphYmlfcm91dGVfZm9vOgoJLy8gZXhlY3V0ZSBmb28oKXZvaWQKCWNhbGxzdWIgZm9vCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb28oKTogdm9pZApmb286Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo5NAoJLy8gbG9nKEIyLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODQ0NjdhZmYgLy8gbWV0aG9kICJmb28oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYjIgKmFiaV9yb3V0ZV9mb28KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/MultiInheritance.arc56_draft.json b/tests/contracts/artifacts/MultiInheritance.arc56_draft.json index 200867330..35670bca8 100644 --- a/tests/contracts/artifacts/MultiInheritance.arc56_draft.json +++ b/tests/contracts/artifacts/MultiInheritance.arc56_draft.json @@ -745,7 +745,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKLy8gZm9vKCl2b2lkCiphYmlfcm91dGVfZm9vOgoJLy8gZXhlY3V0ZSBmb28oKXZvaWQKCWNhbGxzdWIgZm9vCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb28oKTogdm9pZApmb286Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo5NAoJLy8gbG9nKEIyLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODQ0NjdhZmYgLy8gbWV0aG9kICJmb28oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYjIgKmFiaV9yb3V0ZV9mb28KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDEzMzcKYnl0ZWNibG9jayAweDYxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gYSgpdm9pZAoqYWJpX3JvdXRlX2E6CgkvLyBleGVjdXRlIGEoKXZvaWQKCWNhbGxzdWIgYQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYSgpOiB2b2lkCmE6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxNgoJLy8gdGhpcy5hS2V5LnZhbHVlID0gMTMzNwoJYnl0ZWMgMCAvLyAgImEiCglpbnRjIDEgLy8gMTMzNwoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYigpdm9pZAoqYWJpX3JvdXRlX2I6CgkvLyBleGVjdXRlIGIoKXZvaWQKCWNhbGxzdWIgYgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYigpOiB2b2lkCmI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoyNAoJLy8gYXNzZXJ0KHRoaXMuYUtleS52YWx1ZSA9PT0gMTMzNykKCWJ5dGVjIDAgLy8gICJhIgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMSAvLyAxMzM3Cgk9PQoJYXNzZXJ0CgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6MjUKCS8vIHRoaXMuYktleS52YWx1ZSA9IDQyCglwdXNoYnl0ZXMgMHg2MiAvLyAiYiIKCXB1c2hpbnQgNDIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGIyKCl2b2lkCiphYmlfcm91dGVfYjI6CgkvLyBleGVjdXRlIGIyKCl2b2lkCgljYWxsc3ViIGIyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBiMigpOiB2b2lkCmIyOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2luaGVyaXRhbmNlLmFsZ28udHM6ODgKCS8vIGxvZygnYjInKQoJcHVzaGJ5dGVzIDB4NjIzMiAvLyAiYjIiCglsb2cKCXJldHN1YgoKLy8gZm9vKCl2b2lkCiphYmlfcm91dGVfZm9vOgoJLy8gZXhlY3V0ZSBmb28oKXZvaWQKCWNhbGxzdWIgZm9vCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBmb28oKTogdm9pZApmb286Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czo5NAoJLy8gbG9nKEIyLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwCglsb2cKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgxZTdhYWQxYyAvLyBtZXRob2QgImEoKXZvaWQiCglwdXNoYnl0ZXMgMHgzYWM5MGIwOCAvLyBtZXRob2QgImIoKXZvaWQiCglwdXNoYnl0ZXMgMHg0NDNiMzMxOSAvLyBtZXRob2QgImIyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ODQ0NjdhZmYgLy8gbWV0aG9kICJmb28oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2EgKmFiaV9yb3V0ZV9iICphYmlfcm91dGVfYjIgKmFiaV9yb3V0ZV9mb28KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal b/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal index a8aaaf131..14f69c062 100644 --- a/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal +++ b/tests/contracts/artifacts/MultiInheritanceProgram.approval.teal @@ -1,7 +1,7 @@ #pragma version 10 intcblock 1 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json b/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json index d30fd6ecf..356ad0680 100644 --- a/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json +++ b/tests/contracts/artifacts/MultiInheritanceProgram.arc32.json @@ -39,7 +39,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJvZygpdm9pZAoqYWJpX3JvdXRlX3Byb2c6CgkvLyBleGVjdXRlIHByb2coKXZvaWQKCWNhbGxzdWIgcHJvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJvZygpOiB2b2lkCnByb2c6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxMDAKCS8vIGxvZyhNdWx0aUluaGVyaXRhbmNlLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAyMDFiOTBhMjYwMTAxNjEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDBiNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwMjgyMzY3ODk4ODAwMDIyMjQzOGEwMDAwMjg2NDIzMTI0NDgwMDE2MjgxMmE2Nzg5ODgwMDAyMjI0MzhhMDAwMDgwMDI2MjMyYjA4OTg4MDAwMjIyNDM4YTAwMDA4MDZjMGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwYjA4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDFlN2FhZDFjODAwNDNhYzkwYjA4ODAwNDQ0M2IzMzE5ODAwNDg0NDY3YWZmMzYxYTAwOGUwNGZmMjVmZjMxZmY0NWZmNTMwMAoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODFkNzliZWYgLy8gbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJvZygpdm9pZAoqYWJpX3JvdXRlX3Byb2c6CgkvLyBleGVjdXRlIHByb2coKXZvaWQKCWNhbGxzdWIgcHJvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJvZygpOiB2b2lkCnByb2c6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxMDAKCS8vIGxvZyhNdWx0aUluaGVyaXRhbmNlLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAyMDFiOTBhMjYwMTAxNjEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDBiNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwMjgyMzY3ODk4ODAwMDIyMjQzOGEwMDAwMjg2NDIzMTI0NDgwMDE2MjgxMmE2Nzg5ODgwMDAyMjI0MzhhMDAwMDgwMDI2MjMyYjA4OTg4MDAwMjIyNDM4YTAwMDA4MDZjMGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwYjA4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDFlN2FhZDFjODAwNDNhYzkwYjA4ODAwNDQ0M2IzMzE5ODAwNDg0NDY3YWZmMzYxYTAwOGUwNGZmMjVmZjMxZmY0NWZmNTMwMAoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODFkNzliZWYgLy8gbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json b/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json index 008c74f6d..9b46d0ce7 100644 --- a/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json +++ b/tests/contracts/artifacts/MultiInheritanceProgram.arc56_draft.json @@ -586,7 +586,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJvZygpdm9pZAoqYWJpX3JvdXRlX3Byb2c6CgkvLyBleGVjdXRlIHByb2coKXZvaWQKCWNhbGxzdWIgcHJvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJvZygpOiB2b2lkCnByb2c6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxMDAKCS8vIGxvZyhNdWx0aUluaGVyaXRhbmNlLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAyMDFiOTBhMjYwMTAxNjEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDBiNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwMjgyMzY3ODk4ODAwMDIyMjQzOGEwMDAwMjg2NDIzMTI0NDgwMDE2MjgxMmE2Nzg5ODgwMDAyMjI0MzhhMDAwMDgwMDI2MjMyYjA4OTg4MDAwMjIyNDM4YTAwMDA4MDZjMGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwYjA4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDFlN2FhZDFjODAwNDNhYzkwYjA4ODAwNDQ0M2IzMzE5ODAwNDg0NDY3YWZmMzYxYTAwOGUwNGZmMjVmZjMxZmY0NWZmNTMwMAoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODFkNzliZWYgLy8gbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpjYWxsX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gcHJvZygpdm9pZAoqYWJpX3JvdXRlX3Byb2c6CgkvLyBleGVjdXRlIHByb2coKXZvaWQKCWNhbGxzdWIgcHJvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJvZygpOiB2b2lkCnByb2c6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvaW5oZXJpdGFuY2UuYWxnby50czoxMDAKCS8vIGxvZyhNdWx0aUluaGVyaXRhbmNlLmFwcHJvdmFsUHJvZ3JhbSgpKQoJcHVzaGJ5dGVzIDB4MGEyMDAyMDFiOTBhMjYwMTAxNjEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDBiNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwMjgyMzY3ODk4ODAwMDIyMjQzOGEwMDAwMjg2NDIzMTI0NDgwMDE2MjgxMmE2Nzg5ODgwMDAyMjI0MzhhMDAwMDgwMDI2MjMyYjA4OTg4MDAwMjIyNDM4YTAwMDA4MDZjMGEyMDAxMDEzMTE4MTQ4MTA2MGIzMTE5MDg4ZDBjMDAyZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODAwMDIyMjQzOGEwMDAwODAwMTYxODFiOTBhNjc4OTg4MDAwMjIyNDM4YTAwMDA4MDAyNjIzMmIwODkyMjQzODAwNGI4NDQ3YjM2MzYxYTAwOGUwMWZmZjEwMDgwMDQxZTdhYWQxYzgwMDQ0NDNiMzMxOTM2MWEwMDhlMDJmZmJkZmZjZDAwYjA4OTIyNDM4MDA0Yjg0NDdiMzYzNjFhMDA4ZTAxZmZmMTAwODAwNDFlN2FhZDFjODAwNDNhYzkwYjA4ODAwNDQ0M2IzMzE5ODAwNDg0NDY3YWZmMzYxYTAwOGUwNGZmMjVmZjMxZmY0NWZmNTMwMAoJbG9nCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4ODFkNzliZWYgLy8gbWV0aG9kICJwcm9nKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcm9nCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/ProgramVersion.approval.teal b/tests/contracts/artifacts/ProgramVersion.approval.teal index 5a6fb6aae..1b4bd5af0 100644 --- a/tests/contracts/artifacts/ProgramVersion.approval.teal +++ b/tests/contracts/artifacts/ProgramVersion.approval.teal @@ -1,6 +1,6 @@ #pragma version 8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/ProgramVersion.arc32.json b/tests/contracts/artifacts/ProgramVersion.arc32.json index 647c6f448..ce93b94f0 100644 --- a/tests/contracts/artifacts/ProgramVersion.arc32.json +++ b/tests/contracts/artifacts/ProgramVersion.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJcHVzaGludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJcHVzaGludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDg=" }, "contract": { diff --git a/tests/contracts/artifacts/ProgramVersion.arc56_draft.json b/tests/contracts/artifacts/ProgramVersion.arc56_draft.json index 23fb7561b..686c41450 100644 --- a/tests/contracts/artifacts/ProgramVersion.arc56_draft.json +++ b/tests/contracts/artifacts/ProgramVersion.arc56_draft.json @@ -205,7 +205,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjIKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJcHVzaGludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnI=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDgKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA1LjMKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJcHVzaGludCAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDg=" }, "byteCode": { diff --git a/tests/contracts/artifacts/SchemaContract.approval.teal b/tests/contracts/artifacts/SchemaContract.approval.teal index 1befc96c8..6c8ea1a08 100644 --- a/tests/contracts/artifacts/SchemaContract.approval.teal +++ b/tests/contracts/artifacts/SchemaContract.approval.teal @@ -1,6 +1,6 @@ #pragma version 10 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/SchemaContract.arc32.json b/tests/contracts/artifacts/SchemaContract.arc32.json index 51e8d8c40..663c377d0 100644 --- a/tests/contracts/artifacts/SchemaContract.arc32.json +++ b/tests/contracts/artifacts/SchemaContract.arc32.json @@ -34,7 +34,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/SchemaContract.arc56_draft.json b/tests/contracts/artifacts/SchemaContract.arc56_draft.json index cff6874cb..7d9e86505 100644 --- a/tests/contracts/artifacts/SchemaContract.arc56_draft.json +++ b/tests/contracts/artifacts/SchemaContract.arc56_draft.json @@ -223,7 +223,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNS4zCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQpwdXNoaW50IDYKKgp0eG4gT25Db21wbGV0aW9uCisKc3dpdGNoICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCXB1c2hpbnQgMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/StorageTest.approval.teal b/tests/contracts/artifacts/StorageTest.approval.teal index 20da1e7da..5140b8de3 100644 --- a/tests/contracts/artifacts/StorageTest.approval.teal +++ b/tests/contracts/artifacts/StorageTest.approval.teal @@ -2,7 +2,7 @@ intcblock 1 32 0 1024 2 8000 3 16 246 bytecblock 0x666f6f 0x626172 0x151f7c75 0x6c617267655374617469634172726179496e426f78 0x616263 0x01c8 -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] diff --git a/tests/contracts/artifacts/StorageTest.arc32.json b/tests/contracts/artifacts/StorageTest.arc32.json index 79880ba40..663c97b3d 100644 --- a/tests/contracts/artifacts/StorageTest.arc32.json +++ b/tests/contracts/artifacts/StorageTest.arc32.json @@ -249,7 +249,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDAgMTAyNCAyIDgwMDAgMyAxNiAyNDYKYnl0ZWNibG9jayAweDY2NmY2ZiAweDYyNjE3MiAweDE1MWY3Yzc1IDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IDB4NjE2MjYzIDB4MDFjOAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHByZWZpeCgpdm9pZAoqYWJpX3JvdXRlX3ByZWZpeDoKCS8vIGV4ZWN1dGUgcHJlZml4KCl2b2lkCgljYWxsc3ViIHByZWZpeAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJlZml4KCk6IHZvaWQKcHJlZml4OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoyNgoJLy8gdGhpcy5ib3hNYXBXaXRoUHJlZml4KCdvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlYyAwIC8vIDB4NjY2ZjZmCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjI4CgkvLyB0aGlzLmxvY2FsTWFwV2l0aFByZWZpeCh0aGlzLnR4bi5zZW5kZXIsICdvbycpLnZhbHVlID0gJ2JhcicKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleVB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5UHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5UHV0KCk6IHZvaWQKZ2xvYmFsS2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozMgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleUdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUdldCgpOiB2b2lkCmdsb2JhbEtleUdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzYKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS52YWx1ZSA9PT0gJ2JhcicpCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2RlbAoJcmV0c3ViCgovLyBnbG9iYWxLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGdsb2JhbEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUV4aXN0cygpOiB2b2lkCmdsb2JhbEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5UHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5UHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleVB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleVB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDgKCS8vIHRoaXMubG9jYWxLZXkoYSkudmFsdWUgPSAnYmFyJwoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbEtleUdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5R2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2RlbAoJcmV0c3ViCgovLyBsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0czoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5RXhpc3RzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlFeGlzdHMoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlFeGlzdHM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjYwCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleVB1dDoKCS8vIGV4ZWN1dGUgYm94S2V5UHV0KCl2b2lkCgljYWxsc3ViIGJveEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5UHV0KCk6IHZvaWQKYm94S2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUdldDoKCS8vIGV4ZWN1dGUgYm94S2V5R2V0KCl2b2lkCgljYWxsc3ViIGJveEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5R2V0KCk6IHZvaWQKYm94S2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2OAoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2RlbAoJcmV0c3ViCgovLyBib3hLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGJveEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBib3hLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleUV4aXN0cygpOiB2b2lkCmJveEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzYKCS8vIGFzc2VydCh0aGlzLmJveEtleS5leGlzdHMpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gZ2xvYmFsTWFwUHV0KCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwUHV0OgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBQdXQoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBQdXQoKTogdm9pZApnbG9iYWxNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjgwCgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxNYXBHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbE1hcEdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcEdldCgpOiB2b2lkCmdsb2JhbE1hcEdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCk6IHZvaWQKZ2xvYmFsTWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo5MgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwUHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcFB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcFB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6OTYKCS8vIHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYnl0ZWMgMSAvLyAgImJhciIKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gbG9jYWxNYXBHZXQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBHZXQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEdldCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxvY2FsTWFwR2V0KGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwR2V0OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDAKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsTWFwRXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRXhpc3RzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcEV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcEV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA4CgkvLyBhc3NlcnQodGhpcy5sb2NhbE1hcChhLCAnZm9vJykuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBQdXQ6CgkvLyBleGVjdXRlIGJveE1hcFB1dCgpdm9pZAoJY2FsbHN1YiBib3hNYXBQdXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcFB1dCgpOiB2b2lkCmJveE1hcFB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTEyCgkvLyB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEdldDoKCS8vIGV4ZWN1dGUgYm94TWFwR2V0KCl2b2lkCgljYWxsc3ViIGJveE1hcEdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwR2V0KCk6IHZvaWQKYm94TWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMTYKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgYm94TWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXhpc3RzKCk6IHZvaWQKYm94TWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjQKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykuZXhpc3RzKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleUNyZWF0ZSgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUNyZWF0ZToKCS8vIGV4ZWN1dGUgYm94S2V5Q3JlYXRlKCl2b2lkCgljYWxsc3ViIGJveEtleUNyZWF0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5Q3JlYXRlKCk6IHZvaWQKYm94S2V5Q3JlYXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjgKCS8vIHRoaXMuYm94S2V5LmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94S2V5TGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9ib3hLZXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgYm94S2V5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5TGVuZ3RoKCk6IHVpbnQ2NApib3hLZXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzNgoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnNpemU7CglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveE1hcExlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYm94TWFwTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcExlbmd0aCgpdWludDY0CgljYWxsc3ViIGJveE1hcExlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcExlbmd0aCgpOiB1aW50NjQKYm94TWFwTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDAKCS8vIHJldHVybiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZTsKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWJ5dGVjIDQgLy8gICJhYmMiCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBib3hNYXBSZXBsYWNlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwUmVwbGFjZToKCS8vIGV4ZWN1dGUgYm94TWFwUmVwbGFjZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBSZXBsYWNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBSZXBsYWNlKCk6IHZvaWQKYm94TWFwUmVwbGFjZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQ4CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVwbGFjZSgwLCAnYWJjJykKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDIgLy8gMAoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGJveEtleUV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveEtleUV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5RXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveEtleUV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5RXh0cmFjdCgpOiBzdHJpbmcKYm94S2V5RXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTUyCgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuZXh0cmFjdCgwLCAzKTsKCWJ5dGVjIDAgLy8gICJmb28iCglpbnRjIDIgLy8gMAoJaW50YyA2IC8vIDMKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGJveE1hcEV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveE1hcEV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94TWFwRXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveE1hcEV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXh0cmFjdCgpOiBzdHJpbmcKYm94TWFwRXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTU2CgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLmV4dHJhY3QoMCwgMyk7CglieXRlYyAxIC8vICAiYmFyIgoJaW50YyAyIC8vIDAKCWludGMgNiAvLyAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMiAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlzT3B0ZWRJbigpOiBib29sZWFuCmlzT3B0ZWRJbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTYwCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyLmlzT3B0ZWRJblRvQXBwKHRoaXMuYXBwKTsKCXR4biBTZW5kZXIKCXR4bmEgQXBwbGljYXRpb25zIDAKCWFwcF9vcHRlZF9pbgoJcmV0c3ViCgovLyBleEdsb2JhbCgpdm9pZAoqYWJpX3JvdXRlX2V4R2xvYmFsOgoJLy8gZXhlY3V0ZSBleEdsb2JhbCgpdm9pZAoJY2FsbHN1YiBleEdsb2JhbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhHbG9iYWwoKTogdm9pZApleEdsb2JhbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTY0CgkvLyBsb2codGhpcy5hcHAuZ2xvYmFsU3RhdGUoJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hcHAubG9jYWxTdGF0ZSh0aGlzLnR4bi5zZW5kZXIsICdmb28nKQoJYXNzZXJ0Cglsb2cKCXJldHN1YgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKCWNhbGxzdWIgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94CglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyA3IC8vIDE2Cgk8PQoKCS8vIGFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCk6IHVpbnQxNgphY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3MgoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3guY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDUgLy8gODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzMKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM10gPSA0NTYKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDggLy8gMjQ2CglieXRlYyA1IC8vIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50YyA4IC8vIDI0NgoJaW50YyA0IC8vIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3godWludDY0KXVpbnQxNgoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnRjIDcgLy8gMTYKCTw9CgoJLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveChpOiB1aW50NjQpOiB1aW50MTYKZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTc5CgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWludGMgNSAvLyA4MDAwCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3gudmFsdWVbaV0gPSA0NTYKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWJ5dGVjIDUgLy8gMHgwMWM4CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDQgLy8gMgoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGJveFJlc2l6ZSgpdm9pZAoqYWJpX3JvdXRlX2JveFJlc2l6ZToKCS8vIGV4ZWN1dGUgYm94UmVzaXplKCl2b2lkCgljYWxsc3ViIGJveFJlc2l6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94UmVzaXplKCk6IHZvaWQKYm94UmVzaXplOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODgKCS8vIHRoaXMuYm94S2V5LnJlc2l6ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfcmVzaXplCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODkKCS8vIHRoaXMuYm94TWFwKCdiYXInKS5yZXNpemUoMTAyNCkKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDMgLy8gMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWludGMgMCAvLyAxCglieXRlYyA0IC8vICAiYWJjIgoJYm94X3NwbGljZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk0CgkvLyB0aGlzLmJveE1hcCgnYmFyJykuc3BsaWNlKDAsIDEsICdhYmMnKQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMiAvLyAwCglpbnRjIDAgLy8gMQoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9zcGxpY2UKCXJldHN1YgoKLy8gZXhTdGF0ZUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2V4U3RhdGVFeGlzdHM6CgkvLyBleGVjdXRlIGV4U3RhdGVFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZXhTdGF0ZUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhTdGF0ZUV4aXN0cygpOiB2b2lkCmV4U3RhdGVFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OAoJLy8gYXNzZXJ0KHRoaXMuYXBwLmdsb2JhbFN0YXRlRXhpc3RzKCdmb28nKSkKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OQoJLy8gYXNzZXJ0KHRoaXMuYXBwLmxvY2FsU3RhdGVFeGlzdHModGhpcy50eG4uc2VuZGVyLCAnZm9vJykpCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1YjAyYmE4NyAvLyBtZXRob2QgInByZWZpeCgpdm9pZCIKCXB1c2hieXRlcyAweDQ3ODI2MzA3IC8vIG1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDM4N2NkMmMgLy8gbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHgyZjc4ZGIwMyAvLyBtZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGQ4MTgxYTlhIC8vIG1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZWNiMDY5OTggLy8gbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg1NmRhY2UxZCAvLyBtZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc2OGM4YzY4IC8vIG1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwZWE2YmIgLy8gbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhjZjQ4YWU0ZCAvLyBtZXRob2QgImJveEtleVB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGU5ZGFiNDkzIC8vIG1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MDkwZmRmZDYgLy8gbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg1ZmY5ZDBkZCAvLyBtZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweDE3YzgyMDZhIC8vIG1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2Q4NjhiZjIgLy8gbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiNTVkZTIwYyAvLyBtZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGM5N2Q4ZDI0IC8vIG1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZmM4MzgwM2MgLy8gbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg5ODc1MzU1ZCAvLyBtZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc0MmE2ZTgzIC8vIG1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ODgyMzUyNjUgLy8gbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg4NGU1NjgxYyAvLyBtZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGFlM2NlN2VlIC8vIG1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YjllMGVkM2QgLy8gbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg2NTJiZDVkNiAvLyBtZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweGQzNmVlMzE1IC8vIG1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MTAyOWJkMDcgLy8gbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCglwdXNoYnl0ZXMgMHhhNzQ3YjYyZiAvLyBtZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWExZWVmYmUgLy8gbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDEzMzdkZDYwIC8vIG1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDQyNGVmOTVhIC8vIG1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDg4YzFjMzA5IC8vIG1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NDM2MzU2NDMgLy8gbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCglwdXNoYnl0ZXMgMHhhYjQyNTU0ZSAvLyBtZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCXB1c2hieXRlcyAweDAxNjdiN2EyIC8vIG1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHhhYWQ1MTc1NSAvLyBtZXRob2QgImV4TG9jYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHgxYjQxY2UyMiAvLyBtZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJcHVzaGJ5dGVzIDB4ZjVkYTFhNTUgLy8gbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCglwdXNoYnl0ZXMgMHhiYzVjMThmZCAvLyBtZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDI1YTkyMzI5IC8vIG1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGVkODY5OWIgLy8gbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDAgMTAyNCAyIDgwMDAgMyAxNiAyNDYKYnl0ZWNibG9jayAweDY2NmY2ZiAweDYyNjE3MiAweDE1MWY3Yzc1IDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IDB4NjE2MjYzIDB4MDFjOAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHByZWZpeCgpdm9pZAoqYWJpX3JvdXRlX3ByZWZpeDoKCS8vIGV4ZWN1dGUgcHJlZml4KCl2b2lkCgljYWxsc3ViIHByZWZpeAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJlZml4KCk6IHZvaWQKcHJlZml4OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoyNgoJLy8gdGhpcy5ib3hNYXBXaXRoUHJlZml4KCdvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlYyAwIC8vIDB4NjY2ZjZmCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjI4CgkvLyB0aGlzLmxvY2FsTWFwV2l0aFByZWZpeCh0aGlzLnR4bi5zZW5kZXIsICdvbycpLnZhbHVlID0gJ2JhcicKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleVB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5UHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5UHV0KCk6IHZvaWQKZ2xvYmFsS2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozMgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleUdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUdldCgpOiB2b2lkCmdsb2JhbEtleUdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzYKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS52YWx1ZSA9PT0gJ2JhcicpCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2RlbAoJcmV0c3ViCgovLyBnbG9iYWxLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGdsb2JhbEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUV4aXN0cygpOiB2b2lkCmdsb2JhbEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5UHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5UHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleVB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleVB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDgKCS8vIHRoaXMubG9jYWxLZXkoYSkudmFsdWUgPSAnYmFyJwoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbEtleUdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5R2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2RlbAoJcmV0c3ViCgovLyBsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0czoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5RXhpc3RzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlFeGlzdHMoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlFeGlzdHM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjYwCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleVB1dDoKCS8vIGV4ZWN1dGUgYm94S2V5UHV0KCl2b2lkCgljYWxsc3ViIGJveEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5UHV0KCk6IHZvaWQKYm94S2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUdldDoKCS8vIGV4ZWN1dGUgYm94S2V5R2V0KCl2b2lkCgljYWxsc3ViIGJveEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5R2V0KCk6IHZvaWQKYm94S2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2OAoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2RlbAoJcmV0c3ViCgovLyBib3hLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGJveEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBib3hLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleUV4aXN0cygpOiB2b2lkCmJveEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzYKCS8vIGFzc2VydCh0aGlzLmJveEtleS5leGlzdHMpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gZ2xvYmFsTWFwUHV0KCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwUHV0OgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBQdXQoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBQdXQoKTogdm9pZApnbG9iYWxNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjgwCgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxNYXBHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbE1hcEdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcEdldCgpOiB2b2lkCmdsb2JhbE1hcEdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCk6IHZvaWQKZ2xvYmFsTWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo5MgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwUHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcFB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcFB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6OTYKCS8vIHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYnl0ZWMgMSAvLyAgImJhciIKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gbG9jYWxNYXBHZXQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBHZXQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEdldCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxvY2FsTWFwR2V0KGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwR2V0OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDAKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsTWFwRXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRXhpc3RzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcEV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcEV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA4CgkvLyBhc3NlcnQodGhpcy5sb2NhbE1hcChhLCAnZm9vJykuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBQdXQ6CgkvLyBleGVjdXRlIGJveE1hcFB1dCgpdm9pZAoJY2FsbHN1YiBib3hNYXBQdXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcFB1dCgpOiB2b2lkCmJveE1hcFB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTEyCgkvLyB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEdldDoKCS8vIGV4ZWN1dGUgYm94TWFwR2V0KCl2b2lkCgljYWxsc3ViIGJveE1hcEdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwR2V0KCk6IHZvaWQKYm94TWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMTYKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgYm94TWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXhpc3RzKCk6IHZvaWQKYm94TWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjQKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykuZXhpc3RzKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleUNyZWF0ZSgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUNyZWF0ZToKCS8vIGV4ZWN1dGUgYm94S2V5Q3JlYXRlKCl2b2lkCgljYWxsc3ViIGJveEtleUNyZWF0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5Q3JlYXRlKCk6IHZvaWQKYm94S2V5Q3JlYXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjgKCS8vIHRoaXMuYm94S2V5LmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94S2V5TGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9ib3hLZXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgYm94S2V5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5TGVuZ3RoKCk6IHVpbnQ2NApib3hLZXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzNgoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnNpemU7CglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveE1hcExlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYm94TWFwTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcExlbmd0aCgpdWludDY0CgljYWxsc3ViIGJveE1hcExlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcExlbmd0aCgpOiB1aW50NjQKYm94TWFwTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDAKCS8vIHJldHVybiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZTsKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWJ5dGVjIDQgLy8gICJhYmMiCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBib3hNYXBSZXBsYWNlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwUmVwbGFjZToKCS8vIGV4ZWN1dGUgYm94TWFwUmVwbGFjZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBSZXBsYWNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBSZXBsYWNlKCk6IHZvaWQKYm94TWFwUmVwbGFjZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQ4CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVwbGFjZSgwLCAnYWJjJykKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDIgLy8gMAoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGJveEtleUV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveEtleUV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5RXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveEtleUV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5RXh0cmFjdCgpOiBzdHJpbmcKYm94S2V5RXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTUyCgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuZXh0cmFjdCgwLCAzKTsKCWJ5dGVjIDAgLy8gICJmb28iCglpbnRjIDIgLy8gMAoJaW50YyA2IC8vIDMKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGJveE1hcEV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveE1hcEV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94TWFwRXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveE1hcEV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXh0cmFjdCgpOiBzdHJpbmcKYm94TWFwRXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTU2CgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLmV4dHJhY3QoMCwgMyk7CglieXRlYyAxIC8vICAiYmFyIgoJaW50YyAyIC8vIDAKCWludGMgNiAvLyAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMiAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlzT3B0ZWRJbigpOiBib29sZWFuCmlzT3B0ZWRJbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTYwCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyLmlzT3B0ZWRJblRvQXBwKHRoaXMuYXBwKTsKCXR4biBTZW5kZXIKCXR4bmEgQXBwbGljYXRpb25zIDAKCWFwcF9vcHRlZF9pbgoJcmV0c3ViCgovLyBleEdsb2JhbCgpdm9pZAoqYWJpX3JvdXRlX2V4R2xvYmFsOgoJLy8gZXhlY3V0ZSBleEdsb2JhbCgpdm9pZAoJY2FsbHN1YiBleEdsb2JhbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhHbG9iYWwoKTogdm9pZApleEdsb2JhbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTY0CgkvLyBsb2codGhpcy5hcHAuZ2xvYmFsU3RhdGUoJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hcHAubG9jYWxTdGF0ZSh0aGlzLnR4bi5zZW5kZXIsICdmb28nKQoJYXNzZXJ0Cglsb2cKCXJldHN1YgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKCWNhbGxzdWIgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94CglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyA3IC8vIDE2Cgk8PQoKCS8vIGFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCk6IHVpbnQxNgphY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3MgoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3guY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDUgLy8gODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzMKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM10gPSA0NTYKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDggLy8gMjQ2CglieXRlYyA1IC8vIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50YyA4IC8vIDI0NgoJaW50YyA0IC8vIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3godWludDY0KXVpbnQxNgoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnRjIDcgLy8gMTYKCTw9CgoJLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveChpOiB1aW50NjQpOiB1aW50MTYKZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTc5CgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWludGMgNSAvLyA4MDAwCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3gudmFsdWVbaV0gPSA0NTYKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWJ5dGVjIDUgLy8gMHgwMWM4CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDQgLy8gMgoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGJveFJlc2l6ZSgpdm9pZAoqYWJpX3JvdXRlX2JveFJlc2l6ZToKCS8vIGV4ZWN1dGUgYm94UmVzaXplKCl2b2lkCgljYWxsc3ViIGJveFJlc2l6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94UmVzaXplKCk6IHZvaWQKYm94UmVzaXplOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODgKCS8vIHRoaXMuYm94S2V5LnJlc2l6ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfcmVzaXplCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODkKCS8vIHRoaXMuYm94TWFwKCdiYXInKS5yZXNpemUoMTAyNCkKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDMgLy8gMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWludGMgMCAvLyAxCglieXRlYyA0IC8vICAiYWJjIgoJYm94X3NwbGljZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk0CgkvLyB0aGlzLmJveE1hcCgnYmFyJykuc3BsaWNlKDAsIDEsICdhYmMnKQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMiAvLyAwCglpbnRjIDAgLy8gMQoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9zcGxpY2UKCXJldHN1YgoKLy8gZXhTdGF0ZUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2V4U3RhdGVFeGlzdHM6CgkvLyBleGVjdXRlIGV4U3RhdGVFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZXhTdGF0ZUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhTdGF0ZUV4aXN0cygpOiB2b2lkCmV4U3RhdGVFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OAoJLy8gYXNzZXJ0KHRoaXMuYXBwLmdsb2JhbFN0YXRlRXhpc3RzKCdmb28nKSkKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OQoJLy8gYXNzZXJ0KHRoaXMuYXBwLmxvY2FsU3RhdGVFeGlzdHModGhpcy50eG4uc2VuZGVyLCAnZm9vJykpCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1YjAyYmE4NyAvLyBtZXRob2QgInByZWZpeCgpdm9pZCIKCXB1c2hieXRlcyAweDQ3ODI2MzA3IC8vIG1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDM4N2NkMmMgLy8gbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHgyZjc4ZGIwMyAvLyBtZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGQ4MTgxYTlhIC8vIG1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZWNiMDY5OTggLy8gbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg1NmRhY2UxZCAvLyBtZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc2OGM4YzY4IC8vIG1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwZWE2YmIgLy8gbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhjZjQ4YWU0ZCAvLyBtZXRob2QgImJveEtleVB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGU5ZGFiNDkzIC8vIG1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MDkwZmRmZDYgLy8gbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg1ZmY5ZDBkZCAvLyBtZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweDE3YzgyMDZhIC8vIG1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2Q4NjhiZjIgLy8gbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiNTVkZTIwYyAvLyBtZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGM5N2Q4ZDI0IC8vIG1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZmM4MzgwM2MgLy8gbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg5ODc1MzU1ZCAvLyBtZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc0MmE2ZTgzIC8vIG1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ODgyMzUyNjUgLy8gbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg4NGU1NjgxYyAvLyBtZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGFlM2NlN2VlIC8vIG1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YjllMGVkM2QgLy8gbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg2NTJiZDVkNiAvLyBtZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweGQzNmVlMzE1IC8vIG1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MTAyOWJkMDcgLy8gbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCglwdXNoYnl0ZXMgMHhhNzQ3YjYyZiAvLyBtZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWExZWVmYmUgLy8gbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDEzMzdkZDYwIC8vIG1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDQyNGVmOTVhIC8vIG1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDg4YzFjMzA5IC8vIG1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NDM2MzU2NDMgLy8gbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCglwdXNoYnl0ZXMgMHhhYjQyNTU0ZSAvLyBtZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCXB1c2hieXRlcyAweDAxNjdiN2EyIC8vIG1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHhhYWQ1MTc1NSAvLyBtZXRob2QgImV4TG9jYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHgxYjQxY2UyMiAvLyBtZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJcHVzaGJ5dGVzIDB4ZjVkYTFhNTUgLy8gbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCglwdXNoYnl0ZXMgMHhiYzVjMThmZCAvLyBtZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDI1YTkyMzI5IC8vIG1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGVkODY5OWIgLy8gbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/StorageTest.arc56_draft.json b/tests/contracts/artifacts/StorageTest.arc56_draft.json index c88a7cf3e..075104728 100644 --- a/tests/contracts/artifacts/StorageTest.arc56_draft.json +++ b/tests/contracts/artifacts/StorageTest.arc56_draft.json @@ -5475,7 +5475,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDAgMTAyNCAyIDgwMDAgMyAxNiAyNDYKYnl0ZWNibG9jayAweDY2NmY2ZiAweDYyNjE3MiAweDE1MWY3Yzc1IDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IDB4NjE2MjYzIDB4MDFjOAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHByZWZpeCgpdm9pZAoqYWJpX3JvdXRlX3ByZWZpeDoKCS8vIGV4ZWN1dGUgcHJlZml4KCl2b2lkCgljYWxsc3ViIHByZWZpeAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJlZml4KCk6IHZvaWQKcHJlZml4OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoyNgoJLy8gdGhpcy5ib3hNYXBXaXRoUHJlZml4KCdvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlYyAwIC8vIDB4NjY2ZjZmCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjI4CgkvLyB0aGlzLmxvY2FsTWFwV2l0aFByZWZpeCh0aGlzLnR4bi5zZW5kZXIsICdvbycpLnZhbHVlID0gJ2JhcicKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleVB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5UHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5UHV0KCk6IHZvaWQKZ2xvYmFsS2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozMgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleUdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUdldCgpOiB2b2lkCmdsb2JhbEtleUdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzYKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS52YWx1ZSA9PT0gJ2JhcicpCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2RlbAoJcmV0c3ViCgovLyBnbG9iYWxLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGdsb2JhbEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUV4aXN0cygpOiB2b2lkCmdsb2JhbEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5UHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5UHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleVB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleVB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDgKCS8vIHRoaXMubG9jYWxLZXkoYSkudmFsdWUgPSAnYmFyJwoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbEtleUdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5R2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2RlbAoJcmV0c3ViCgovLyBsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0czoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5RXhpc3RzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlFeGlzdHMoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlFeGlzdHM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjYwCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleVB1dDoKCS8vIGV4ZWN1dGUgYm94S2V5UHV0KCl2b2lkCgljYWxsc3ViIGJveEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5UHV0KCk6IHZvaWQKYm94S2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUdldDoKCS8vIGV4ZWN1dGUgYm94S2V5R2V0KCl2b2lkCgljYWxsc3ViIGJveEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5R2V0KCk6IHZvaWQKYm94S2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2OAoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2RlbAoJcmV0c3ViCgovLyBib3hLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGJveEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBib3hLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleUV4aXN0cygpOiB2b2lkCmJveEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzYKCS8vIGFzc2VydCh0aGlzLmJveEtleS5leGlzdHMpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gZ2xvYmFsTWFwUHV0KCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwUHV0OgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBQdXQoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBQdXQoKTogdm9pZApnbG9iYWxNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjgwCgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxNYXBHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbE1hcEdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcEdldCgpOiB2b2lkCmdsb2JhbE1hcEdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCk6IHZvaWQKZ2xvYmFsTWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo5MgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwUHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcFB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcFB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6OTYKCS8vIHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYnl0ZWMgMSAvLyAgImJhciIKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gbG9jYWxNYXBHZXQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBHZXQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEdldCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxvY2FsTWFwR2V0KGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwR2V0OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDAKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsTWFwRXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRXhpc3RzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcEV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcEV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA4CgkvLyBhc3NlcnQodGhpcy5sb2NhbE1hcChhLCAnZm9vJykuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBQdXQ6CgkvLyBleGVjdXRlIGJveE1hcFB1dCgpdm9pZAoJY2FsbHN1YiBib3hNYXBQdXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcFB1dCgpOiB2b2lkCmJveE1hcFB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTEyCgkvLyB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEdldDoKCS8vIGV4ZWN1dGUgYm94TWFwR2V0KCl2b2lkCgljYWxsc3ViIGJveE1hcEdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwR2V0KCk6IHZvaWQKYm94TWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMTYKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgYm94TWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXhpc3RzKCk6IHZvaWQKYm94TWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjQKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykuZXhpc3RzKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleUNyZWF0ZSgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUNyZWF0ZToKCS8vIGV4ZWN1dGUgYm94S2V5Q3JlYXRlKCl2b2lkCgljYWxsc3ViIGJveEtleUNyZWF0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5Q3JlYXRlKCk6IHZvaWQKYm94S2V5Q3JlYXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjgKCS8vIHRoaXMuYm94S2V5LmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94S2V5TGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9ib3hLZXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgYm94S2V5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5TGVuZ3RoKCk6IHVpbnQ2NApib3hLZXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzNgoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnNpemU7CglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveE1hcExlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYm94TWFwTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcExlbmd0aCgpdWludDY0CgljYWxsc3ViIGJveE1hcExlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcExlbmd0aCgpOiB1aW50NjQKYm94TWFwTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDAKCS8vIHJldHVybiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZTsKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWJ5dGVjIDQgLy8gICJhYmMiCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBib3hNYXBSZXBsYWNlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwUmVwbGFjZToKCS8vIGV4ZWN1dGUgYm94TWFwUmVwbGFjZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBSZXBsYWNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBSZXBsYWNlKCk6IHZvaWQKYm94TWFwUmVwbGFjZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQ4CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVwbGFjZSgwLCAnYWJjJykKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDIgLy8gMAoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGJveEtleUV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveEtleUV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5RXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveEtleUV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5RXh0cmFjdCgpOiBzdHJpbmcKYm94S2V5RXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTUyCgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuZXh0cmFjdCgwLCAzKTsKCWJ5dGVjIDAgLy8gICJmb28iCglpbnRjIDIgLy8gMAoJaW50YyA2IC8vIDMKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGJveE1hcEV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveE1hcEV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94TWFwRXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveE1hcEV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXh0cmFjdCgpOiBzdHJpbmcKYm94TWFwRXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTU2CgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLmV4dHJhY3QoMCwgMyk7CglieXRlYyAxIC8vICAiYmFyIgoJaW50YyAyIC8vIDAKCWludGMgNiAvLyAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMiAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlzT3B0ZWRJbigpOiBib29sZWFuCmlzT3B0ZWRJbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTYwCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyLmlzT3B0ZWRJblRvQXBwKHRoaXMuYXBwKTsKCXR4biBTZW5kZXIKCXR4bmEgQXBwbGljYXRpb25zIDAKCWFwcF9vcHRlZF9pbgoJcmV0c3ViCgovLyBleEdsb2JhbCgpdm9pZAoqYWJpX3JvdXRlX2V4R2xvYmFsOgoJLy8gZXhlY3V0ZSBleEdsb2JhbCgpdm9pZAoJY2FsbHN1YiBleEdsb2JhbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhHbG9iYWwoKTogdm9pZApleEdsb2JhbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTY0CgkvLyBsb2codGhpcy5hcHAuZ2xvYmFsU3RhdGUoJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hcHAubG9jYWxTdGF0ZSh0aGlzLnR4bi5zZW5kZXIsICdmb28nKQoJYXNzZXJ0Cglsb2cKCXJldHN1YgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKCWNhbGxzdWIgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94CglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyA3IC8vIDE2Cgk8PQoKCS8vIGFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCk6IHVpbnQxNgphY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3MgoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3guY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDUgLy8gODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzMKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM10gPSA0NTYKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDggLy8gMjQ2CglieXRlYyA1IC8vIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50YyA4IC8vIDI0NgoJaW50YyA0IC8vIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3godWludDY0KXVpbnQxNgoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnRjIDcgLy8gMTYKCTw9CgoJLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveChpOiB1aW50NjQpOiB1aW50MTYKZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTc5CgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWludGMgNSAvLyA4MDAwCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3gudmFsdWVbaV0gPSA0NTYKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWJ5dGVjIDUgLy8gMHgwMWM4CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDQgLy8gMgoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGJveFJlc2l6ZSgpdm9pZAoqYWJpX3JvdXRlX2JveFJlc2l6ZToKCS8vIGV4ZWN1dGUgYm94UmVzaXplKCl2b2lkCgljYWxsc3ViIGJveFJlc2l6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94UmVzaXplKCk6IHZvaWQKYm94UmVzaXplOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODgKCS8vIHRoaXMuYm94S2V5LnJlc2l6ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfcmVzaXplCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODkKCS8vIHRoaXMuYm94TWFwKCdiYXInKS5yZXNpemUoMTAyNCkKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDMgLy8gMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWludGMgMCAvLyAxCglieXRlYyA0IC8vICAiYWJjIgoJYm94X3NwbGljZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk0CgkvLyB0aGlzLmJveE1hcCgnYmFyJykuc3BsaWNlKDAsIDEsICdhYmMnKQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMiAvLyAwCglpbnRjIDAgLy8gMQoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9zcGxpY2UKCXJldHN1YgoKLy8gZXhTdGF0ZUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2V4U3RhdGVFeGlzdHM6CgkvLyBleGVjdXRlIGV4U3RhdGVFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZXhTdGF0ZUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhTdGF0ZUV4aXN0cygpOiB2b2lkCmV4U3RhdGVFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OAoJLy8gYXNzZXJ0KHRoaXMuYXBwLmdsb2JhbFN0YXRlRXhpc3RzKCdmb28nKSkKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OQoJLy8gYXNzZXJ0KHRoaXMuYXBwLmxvY2FsU3RhdGVFeGlzdHModGhpcy50eG4uc2VuZGVyLCAnZm9vJykpCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1YjAyYmE4NyAvLyBtZXRob2QgInByZWZpeCgpdm9pZCIKCXB1c2hieXRlcyAweDQ3ODI2MzA3IC8vIG1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDM4N2NkMmMgLy8gbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHgyZjc4ZGIwMyAvLyBtZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGQ4MTgxYTlhIC8vIG1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZWNiMDY5OTggLy8gbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg1NmRhY2UxZCAvLyBtZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc2OGM4YzY4IC8vIG1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwZWE2YmIgLy8gbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhjZjQ4YWU0ZCAvLyBtZXRob2QgImJveEtleVB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGU5ZGFiNDkzIC8vIG1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MDkwZmRmZDYgLy8gbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg1ZmY5ZDBkZCAvLyBtZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweDE3YzgyMDZhIC8vIG1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2Q4NjhiZjIgLy8gbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiNTVkZTIwYyAvLyBtZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGM5N2Q4ZDI0IC8vIG1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZmM4MzgwM2MgLy8gbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg5ODc1MzU1ZCAvLyBtZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc0MmE2ZTgzIC8vIG1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ODgyMzUyNjUgLy8gbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg4NGU1NjgxYyAvLyBtZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGFlM2NlN2VlIC8vIG1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YjllMGVkM2QgLy8gbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg2NTJiZDVkNiAvLyBtZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweGQzNmVlMzE1IC8vIG1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MTAyOWJkMDcgLy8gbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCglwdXNoYnl0ZXMgMHhhNzQ3YjYyZiAvLyBtZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWExZWVmYmUgLy8gbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDEzMzdkZDYwIC8vIG1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDQyNGVmOTVhIC8vIG1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDg4YzFjMzA5IC8vIG1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NDM2MzU2NDMgLy8gbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCglwdXNoYnl0ZXMgMHhhYjQyNTU0ZSAvLyBtZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCXB1c2hieXRlcyAweDAxNjdiN2EyIC8vIG1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHhhYWQ1MTc1NSAvLyBtZXRob2QgImV4TG9jYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHgxYjQxY2UyMiAvLyBtZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJcHVzaGJ5dGVzIDB4ZjVkYTFhNTUgLy8gbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCglwdXNoYnl0ZXMgMHhiYzVjMThmZCAvLyBtZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDI1YTkyMzI5IC8vIG1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGVkODY5OWIgLy8gbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDMyIDAgMTAyNCAyIDgwMDAgMyAxNiAyNDYKYnl0ZWNibG9jayAweDY2NmY2ZiAweDYyNjE3MiAweDE1MWY3Yzc1IDB4NmM2MTcyNjc2NTUzNzQ2MTc0Njk2MzQxNzI3MjYxNzk0OTZlNDI2Zjc4IDB4NjE2MjYzIDB4MDFjOAoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHByZWZpeCgpdm9pZAoqYWJpX3JvdXRlX3ByZWZpeDoKCS8vIGV4ZWN1dGUgcHJlZml4KCl2b2lkCgljYWxsc3ViIHByZWZpeAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gcHJlZml4KCk6IHZvaWQKcHJlZml4OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoyNgoJLy8gdGhpcy5ib3hNYXBXaXRoUHJlZml4KCdvbycpLnZhbHVlID0gJ2JhcicKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWR1cAoJYm94X2RlbAoJcG9wCglieXRlYyAxIC8vICAiYmFyIgoJYm94X3B1dAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MjcKCS8vIHRoaXMuZ2xvYmFsTWFwV2l0aFByZWZpeCgnb28nKS52YWx1ZSA9ICdiYXInCglieXRlYyAwIC8vIDB4NjY2ZjZmCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2dsb2JhbF9wdXQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjI4CgkvLyB0aGlzLmxvY2FsTWFwV2l0aFByZWZpeCh0aGlzLnR4bi5zZW5kZXIsICdvbycpLnZhbHVlID0gJ2JhcicKCXR4biBTZW5kZXIKCWJ5dGVjIDAgLy8gMHg2NjZmNmYKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfbG9jYWxfcHV0CglyZXRzdWIKCi8vIGdsb2JhbEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleVB1dDoKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5UHV0KCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5UHV0KCk6IHZvaWQKZ2xvYmFsS2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czozMgoJLy8gdGhpcy5nbG9iYWxLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxLZXlHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbEtleUdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUdldCgpOiB2b2lkCmdsb2JhbEtleUdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MzYKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS52YWx1ZSA9PT0gJ2JhcicpCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGdsb2JhbEtleURlbGV0ZSgpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbEtleURlbGV0ZToKCS8vIGV4ZWN1dGUgZ2xvYmFsS2V5RGVsZXRlKCl2b2lkCgljYWxsc3ViIGdsb2JhbEtleURlbGV0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsS2V5RGVsZXRlKCk6IHZvaWQKZ2xvYmFsS2V5RGVsZXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo0MAoJLy8gdGhpcy5nbG9iYWxLZXkuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2RlbAoJcmV0c3ViCgovLyBnbG9iYWxLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGdsb2JhbEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBnbG9iYWxLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbEtleUV4aXN0cygpOiB2b2lkCmdsb2JhbEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbEtleS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5UHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5UHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5UHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleVB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleVB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NDgKCS8vIHRoaXMubG9jYWxLZXkoYSkudmFsdWUgPSAnYmFyJwoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglieXRlYyAxIC8vICAiYmFyIgoJYXBwX2xvY2FsX3B1dAoJcmV0c3ViCgovLyBsb2NhbEtleUdldChhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUdldDoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5R2V0IG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlHZXQoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlHZXQ6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjUyCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsS2V5RGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsS2V5RGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxLZXlEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsS2V5RGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbEtleURlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbEtleURlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NTYKCS8vIHRoaXMubG9jYWxLZXkoYSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2RlbAoJcmV0c3ViCgovLyBsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0czoKCS8vIGE6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDEgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYSkgZm9yIGxvY2FsS2V5RXhpc3RzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGxvY2FsS2V5RXhpc3RzKGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBsb2NhbEtleUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gbG9jYWxLZXlFeGlzdHMoYTogQWRkcmVzcyk6IHZvaWQKbG9jYWxLZXlFeGlzdHM6Cglwcm90byAxIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjYwCgkvLyBhc3NlcnQodGhpcy5sb2NhbEtleShhKS5leGlzdHMpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVB1dCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleVB1dDoKCS8vIGV4ZWN1dGUgYm94S2V5UHV0KCl2b2lkCgljYWxsc3ViIGJveEtleVB1dAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5UHV0KCk6IHZvaWQKYm94S2V5UHV0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2NAoJLy8gdGhpcy5ib3hLZXkudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveEtleUdldCgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUdldDoKCS8vIGV4ZWN1dGUgYm94S2V5R2V0KCl2b2lkCgljYWxsc3ViIGJveEtleUdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5R2V0KCk6IHZvaWQKYm94S2V5R2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo2OAoJLy8gYXNzZXJ0KHRoaXMuYm94S2V5LnZhbHVlID09PSAnYmFyJykKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveEtleS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hLZXlEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlEZWxldGU6CgkvLyBleGVjdXRlIGJveEtleURlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hLZXlEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleURlbGV0ZSgpOiB2b2lkCmJveEtleURlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzIKCS8vIHRoaXMuYm94S2V5LmRlbGV0ZSgpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2RlbAoJcmV0c3ViCgovLyBib3hLZXlFeGlzdHMoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlFeGlzdHM6CgkvLyBleGVjdXRlIGJveEtleUV4aXN0cygpdm9pZAoJY2FsbHN1YiBib3hLZXlFeGlzdHMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleUV4aXN0cygpOiB2b2lkCmJveEtleUV4aXN0czoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6NzYKCS8vIGFzc2VydCh0aGlzLmJveEtleS5leGlzdHMpCglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKLy8gZ2xvYmFsTWFwUHV0KCl2b2lkCiphYmlfcm91dGVfZ2xvYmFsTWFwUHV0OgoJLy8gZXhlY3V0ZSBnbG9iYWxNYXBQdXQoKXZvaWQKCWNhbGxzdWIgZ2xvYmFsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnbG9iYWxNYXBQdXQoKTogdm9pZApnbG9iYWxNYXBQdXQ6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjgwCgkvLyB0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnbG9iYWxNYXBHZXQoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBHZXQ6CgkvLyBleGVjdXRlIGdsb2JhbE1hcEdldCgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcEdldCgpOiB2b2lkCmdsb2JhbE1hcEdldDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODQKCS8vIGFzc2VydCh0aGlzLmdsb2JhbE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBnbG9iYWxNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9nbG9iYWxNYXBEZWxldGU6CgkvLyBleGVjdXRlIGdsb2JhbE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBnbG9iYWxNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdsb2JhbE1hcERlbGV0ZSgpOiB2b2lkCmdsb2JhbE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6ODgKCS8vIHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5kZWxldGUoKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZGVsCglyZXRzdWIKCi8vIGdsb2JhbE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgZ2xvYmFsTWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGdsb2JhbE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZ2xvYmFsTWFwRXhpc3RzKCk6IHZvaWQKZ2xvYmFsTWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czo5MgoJLy8gYXNzZXJ0KHRoaXMuZ2xvYmFsTWFwKCdmb28nKS5leGlzdHMpCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwUHV0KGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwUHV0OgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBQdXQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBQdXQoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwUHV0CglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcFB1dChhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcFB1dDoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6OTYKCS8vIHRoaXMubG9jYWxNYXAoYSwgJ2ZvbycpLnZhbHVlID0gJ2JhcicKCWZyYW1lX2RpZyAtMSAvLyBhOiBBZGRyZXNzCglieXRlYyAwIC8vICAiZm9vIgoJYnl0ZWMgMSAvLyAgImJhciIKCWFwcF9sb2NhbF9wdXQKCXJldHN1YgoKLy8gbG9jYWxNYXBHZXQoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfbG9jYWxNYXBHZXQ6CgkvLyBhOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyAxIC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGEpIGZvciBsb2NhbE1hcEdldCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBsb2NhbE1hcEdldChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgbG9jYWxNYXBHZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGxvY2FsTWFwR2V0KGE6IEFkZHJlc3MpOiB2b2lkCmxvY2FsTWFwR2V0OgoJcHJvdG8gMSAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMDAKCS8vIGFzc2VydCh0aGlzLmxvY2FsTWFwKGEsICdmb28nKS52YWx1ZSA9PT0gJ2JhcicpCglmcmFtZV9kaWcgLTEgLy8gYTogQWRkcmVzcwoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXQKCWJ5dGVjIDEgLy8gICJiYXIiCgk9PQoJYXNzZXJ0CglyZXRzdWIKCi8vIGxvY2FsTWFwRGVsZXRlKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRGVsZXRlOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBEZWxldGUgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRGVsZXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcERlbGV0ZShhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcERlbGV0ZToKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA0CgkvLyB0aGlzLmxvY2FsTWFwKGEsICdmb28nKS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZGVsCglyZXRzdWIKCi8vIGxvY2FsTWFwRXhpc3RzKGFkZHJlc3Mpdm9pZAoqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzOgoJLy8gYTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgMSAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhKSBmb3IgbG9jYWxNYXBFeGlzdHMgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgbG9jYWxNYXBFeGlzdHMoYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxvY2FsTWFwRXhpc3RzCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBsb2NhbE1hcEV4aXN0cyhhOiBBZGRyZXNzKTogdm9pZApsb2NhbE1hcEV4aXN0czoKCXByb3RvIDEgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTA4CgkvLyBhc3NlcnQodGhpcy5sb2NhbE1hcChhLCAnZm9vJykuZXhpc3RzKQoJZnJhbWVfZGlnIC0xIC8vIGE6IEFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBQdXQoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBQdXQ6CgkvLyBleGVjdXRlIGJveE1hcFB1dCgpdm9pZAoJY2FsbHN1YiBib3hNYXBQdXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcFB1dCgpOiB2b2lkCmJveE1hcFB1dDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTEyCgkvLyB0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPSAnYmFyJwoJYnl0ZWMgMCAvLyAgImZvbyIKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfcHV0CglyZXRzdWIKCi8vIGJveE1hcEdldCgpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEdldDoKCS8vIGV4ZWN1dGUgYm94TWFwR2V0KCl2b2lkCgljYWxsc3ViIGJveE1hcEdldAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwR2V0KCk6IHZvaWQKYm94TWFwR2V0OgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMTYKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykudmFsdWUgPT09ICdiYXInKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94TWFwKCdmb28nKS52YWx1ZQoJYXNzZXJ0CglieXRlYyAxIC8vICAiYmFyIgoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBib3hNYXBEZWxldGUoKXZvaWQKKmFiaV9yb3V0ZV9ib3hNYXBEZWxldGU6CgkvLyBleGVjdXRlIGJveE1hcERlbGV0ZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBEZWxldGUKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcERlbGV0ZSgpOiB2b2lkCmJveE1hcERlbGV0ZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTIwCgkvLyB0aGlzLmJveE1hcCgnZm9vJykuZGVsZXRlKCkKCWJ5dGVjIDAgLy8gICJmb28iCglib3hfZGVsCglyZXRzdWIKCi8vIGJveE1hcEV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2JveE1hcEV4aXN0czoKCS8vIGV4ZWN1dGUgYm94TWFwRXhpc3RzKCl2b2lkCgljYWxsc3ViIGJveE1hcEV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXhpc3RzKCk6IHZvaWQKYm94TWFwRXhpc3RzOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjQKCS8vIGFzc2VydCh0aGlzLmJveE1hcCgnZm9vJykuZXhpc3RzKQoJYnl0ZWMgMCAvLyAgImZvbyIKCWJveF9sZW4KCXN3YXAKCXBvcAoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleUNyZWF0ZSgpdm9pZAoqYWJpX3JvdXRlX2JveEtleUNyZWF0ZToKCS8vIGV4ZWN1dGUgYm94S2V5Q3JlYXRlKCl2b2lkCgljYWxsc3ViIGJveEtleUNyZWF0ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5Q3JlYXRlKCk6IHZvaWQKYm94S2V5Q3JlYXRlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxMjgKCS8vIHRoaXMuYm94S2V5LmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94TWFwQ3JlYXRlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwQ3JlYXRlOgoJLy8gZXhlY3V0ZSBib3hNYXBDcmVhdGUoKXZvaWQKCWNhbGxzdWIgYm94TWFwQ3JlYXRlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBDcmVhdGUoKTogdm9pZApib3hNYXBDcmVhdGU6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzMgoJLy8gdGhpcy5ib3hNYXAoJ2JhcicpLmNyZWF0ZSgxMDI0KQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMyAvLyAxMDI0Cglib3hfY3JlYXRlCglwb3AKCXJldHN1YgoKLy8gYm94S2V5TGVuZ3RoKCl1aW50NjQKKmFiaV9yb3V0ZV9ib3hLZXlMZW5ndGg6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5TGVuZ3RoKCl1aW50NjQKCWNhbGxzdWIgYm94S2V5TGVuZ3RoCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5TGVuZ3RoKCk6IHVpbnQ2NApib3hLZXlMZW5ndGg6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjEzNgoJLy8gcmV0dXJuIHRoaXMuYm94S2V5LnNpemU7CglieXRlYyAwIC8vICAiZm9vIgoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hLZXkuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveE1hcExlbmd0aCgpdWludDY0CiphYmlfcm91dGVfYm94TWFwTGVuZ3RoOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGJveE1hcExlbmd0aCgpdWludDY0CgljYWxsc3ViIGJveE1hcExlbmd0aAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveE1hcExlbmd0aCgpOiB1aW50NjQKYm94TWFwTGVuZ3RoOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDAKCS8vIHJldHVybiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZTsKCWJ5dGVjIDEgLy8gICJiYXIiCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveE1hcCgnYmFyJykuc2l6ZQoJYXNzZXJ0CglyZXRzdWIKCi8vIGJveEtleVJlcGxhY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hLZXlSZXBsYWNlOgoJLy8gZXhlY3V0ZSBib3hLZXlSZXBsYWNlKCl2b2lkCgljYWxsc3ViIGJveEtleVJlcGxhY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveEtleVJlcGxhY2UoKTogdm9pZApib3hLZXlSZXBsYWNlOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNDQKCS8vIHRoaXMuYm94S2V5LnJlcGxhY2UoMCwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWJ5dGVjIDQgLy8gICJhYmMiCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBib3hNYXBSZXBsYWNlKCl2b2lkCiphYmlfcm91dGVfYm94TWFwUmVwbGFjZToKCS8vIGV4ZWN1dGUgYm94TWFwUmVwbGFjZSgpdm9pZAoJY2FsbHN1YiBib3hNYXBSZXBsYWNlCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBib3hNYXBSZXBsYWNlKCk6IHZvaWQKYm94TWFwUmVwbGFjZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTQ4CgkvLyB0aGlzLmJveE1hcCgnYmFyJykucmVwbGFjZSgwLCAnYWJjJykKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDIgLy8gMAoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9yZXBsYWNlCglyZXRzdWIKCi8vIGJveEtleUV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveEtleUV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94S2V5RXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveEtleUV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94S2V5RXh0cmFjdCgpOiBzdHJpbmcKYm94S2V5RXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTUyCgkvLyByZXR1cm4gdGhpcy5ib3hLZXkuZXh0cmFjdCgwLCAzKTsKCWJ5dGVjIDAgLy8gICJmb28iCglpbnRjIDIgLy8gMAoJaW50YyA2IC8vIDMKCWJveF9leHRyYWN0CglyZXRzdWIKCi8vIGJveE1hcEV4dHJhY3QoKXN0cmluZwoqYWJpX3JvdXRlX2JveE1hcEV4dHJhY3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYm94TWFwRXh0cmFjdCgpc3RyaW5nCgljYWxsc3ViIGJveE1hcEV4dHJhY3QKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94TWFwRXh0cmFjdCgpOiBzdHJpbmcKYm94TWFwRXh0cmFjdDoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTU2CgkvLyByZXR1cm4gdGhpcy5ib3hNYXAoJ2JhcicpLmV4dHJhY3QoMCwgMyk7CglieXRlYyAxIC8vICAiYmFyIgoJaW50YyAyIC8vIDAKCWludGMgNiAvLyAzCglib3hfZXh0cmFjdAoJcmV0c3ViCgovLyBpc09wdGVkSW4oKWJvb2wKKmFiaV9yb3V0ZV9pc09wdGVkSW46CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgaXNPcHRlZEluKClib29sCgljYWxsc3ViIGlzT3B0ZWRJbgoJcHVzaGJ5dGVzIDB4MDAKCWludGMgMiAvLyAwCgl1bmNvdmVyIDIKCXNldGJpdAoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGlzT3B0ZWRJbigpOiBib29sZWFuCmlzT3B0ZWRJbjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTYwCgkvLyByZXR1cm4gdGhpcy50eG4uc2VuZGVyLmlzT3B0ZWRJblRvQXBwKHRoaXMuYXBwKTsKCXR4biBTZW5kZXIKCXR4bmEgQXBwbGljYXRpb25zIDAKCWFwcF9vcHRlZF9pbgoJcmV0c3ViCgovLyBleEdsb2JhbCgpdm9pZAoqYWJpX3JvdXRlX2V4R2xvYmFsOgoJLy8gZXhlY3V0ZSBleEdsb2JhbCgpdm9pZAoJY2FsbHN1YiBleEdsb2JhbAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhHbG9iYWwoKTogdm9pZApleEdsb2JhbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTY0CgkvLyBsb2codGhpcy5hcHAuZ2xvYmFsU3RhdGUoJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmFwcC5nbG9iYWxTdGF0ZSgnZm9vJykKCWFzc2VydAoJbG9nCglyZXRzdWIKCi8vIGV4TG9jYWwoKXZvaWQKKmFiaV9yb3V0ZV9leExvY2FsOgoJLy8gZXhlY3V0ZSBleExvY2FsKCl2b2lkCgljYWxsc3ViIGV4TG9jYWwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGV4TG9jYWwoKTogdm9pZApleExvY2FsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNjgKCS8vIGxvZyh0aGlzLmFwcC5sb2NhbFN0YXRlKHRoaXMudHhuLnNlbmRlciwgJ2ZvbycpIGFzIGJ5dGVzKQoJdHhuIFNlbmRlcgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImZvbyIKCWFwcF9sb2NhbF9nZXRfZXgKCgkvLyBsb2NhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5hcHAubG9jYWxTdGF0ZSh0aGlzLnR4bi5zZW5kZXIsICdmb28nKQoJYXNzZXJ0Cglsb2cKCXJldHN1YgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKKmFiaV9yb3V0ZV9hY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCl1aW50MTYKCWNhbGxzdWIgYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94CglpdG9iCglkdXAKCWJpdGxlbgoJaW50YyA3IC8vIDE2Cgk8PQoKCS8vIGFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KCk6IHVpbnQxNgphY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6Cglwcm90byAwIDEKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3MgoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3guY3JlYXRlKCkKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDUgLy8gODAwMAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxNzMKCS8vIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM10gPSA0NTYKCWJ5dGVjIDMgLy8gICJsYXJnZVN0YXRpY0FycmF5SW5Cb3giCglpbnRjIDggLy8gMjQ2CglieXRlYyA1IC8vIDB4MDFjOAoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE3NQoJLy8gcmV0dXJuIHRoaXMubGFyZ2VTdGF0aWNBcnJheUluQm94LnZhbHVlWzEyM107CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJaW50YyA4IC8vIDI0NgoJaW50YyA0IC8vIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3godWludDY0KXVpbnQxNgoqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3g6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGk6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCh1aW50NjQpdWludDE2CgljYWxsc3ViIGR5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3gKCWl0b2IKCWR1cAoJYml0bGVuCglpbnRjIDcgLy8gMTYKCTw9CgoJLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCByZXR1cm4gdmFsdWUgb3ZlcmZsb3dlZCAxNiBiaXRzCglhc3NlcnQKCWV4dHJhY3QgNiAyCgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveChpOiB1aW50NjQpOiB1aW50MTYKZHluYW1pY0FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveDoKCXByb3RvIDEgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTc5CgkvLyB0aGlzLmxhcmdlU3RhdGljQXJyYXlJbkJveC5jcmVhdGUoKQoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWludGMgNSAvLyA4MDAwCglib3hfY3JlYXRlCglwb3AKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4MAoJLy8gdGhpcy5sYXJnZVN0YXRpY0FycmF5SW5Cb3gudmFsdWVbaV0gPSA0NTYKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgNCAvLyAyCgkqIC8vIGFjYyAqIHR5cGVMZW5ndGgKCWJ5dGVjIDUgLy8gMHgwMWM4CglieXRlYyAzIC8vICAibGFyZ2VTdGF0aWNBcnJheUluQm94IgoJY292ZXIgMgoJYm94X3JlcGxhY2UKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE4NAoJLy8gcmV0dXJuIGFbaV07CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDQgLy8gMgoJKiAvLyBhY2MgKiB0eXBlTGVuZ3RoCglpbnRjIDQgLy8gMgoJYnl0ZWMgMyAvLyAgImxhcmdlU3RhdGljQXJyYXlJbkJveCIKCWNvdmVyIDIKCWJveF9leHRyYWN0CglidG9pCglyZXRzdWIKCi8vIGJveFJlc2l6ZSgpdm9pZAoqYWJpX3JvdXRlX2JveFJlc2l6ZToKCS8vIGV4ZWN1dGUgYm94UmVzaXplKCl2b2lkCgljYWxsc3ViIGJveFJlc2l6ZQoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm94UmVzaXplKCk6IHZvaWQKYm94UmVzaXplOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODgKCS8vIHRoaXMuYm94S2V5LnJlc2l6ZSgxMDI0KQoJYnl0ZWMgMCAvLyAgImZvbyIKCWludGMgMyAvLyAxMDI0Cglib3hfcmVzaXplCgoJLy8gdGVzdHMvY29udHJhY3RzL3N0b3JhZ2UuYWxnby50czoxODkKCS8vIHRoaXMuYm94TWFwKCdiYXInKS5yZXNpemUoMTAyNCkKCWJ5dGVjIDEgLy8gICJiYXIiCglpbnRjIDMgLy8gMTAyNAoJYm94X3Jlc2l6ZQoJcmV0c3ViCgovLyBib3hTcGxpY2UoKXZvaWQKKmFiaV9yb3V0ZV9ib3hTcGxpY2U6CgkvLyBleGVjdXRlIGJveFNwbGljZSgpdm9pZAoJY2FsbHN1YiBib3hTcGxpY2UKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGJveFNwbGljZSgpOiB2b2lkCmJveFNwbGljZToKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTkzCgkvLyB0aGlzLmJveEtleS5zcGxpY2UoMCwgMSwgJ2FiYycpCglieXRlYyAwIC8vICAiZm9vIgoJaW50YyAyIC8vIDAKCWludGMgMCAvLyAxCglieXRlYyA0IC8vICAiYWJjIgoJYm94X3NwbGljZQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9zdG9yYWdlLmFsZ28udHM6MTk0CgkvLyB0aGlzLmJveE1hcCgnYmFyJykuc3BsaWNlKDAsIDEsICdhYmMnKQoJYnl0ZWMgMSAvLyAgImJhciIKCWludGMgMiAvLyAwCglpbnRjIDAgLy8gMQoJYnl0ZWMgNCAvLyAgImFiYyIKCWJveF9zcGxpY2UKCXJldHN1YgoKLy8gZXhTdGF0ZUV4aXN0cygpdm9pZAoqYWJpX3JvdXRlX2V4U3RhdGVFeGlzdHM6CgkvLyBleGVjdXRlIGV4U3RhdGVFeGlzdHMoKXZvaWQKCWNhbGxzdWIgZXhTdGF0ZUV4aXN0cwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gZXhTdGF0ZUV4aXN0cygpOiB2b2lkCmV4U3RhdGVFeGlzdHM6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OAoJLy8gYXNzZXJ0KHRoaXMuYXBwLmdsb2JhbFN0YXRlRXhpc3RzKCdmb28nKSkKCXR4bmEgQXBwbGljYXRpb25zIDAKCWJ5dGVjIDAgLy8gICJmb28iCglhcHBfZ2xvYmFsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCgkvLyB0ZXN0cy9jb250cmFjdHMvc3RvcmFnZS5hbGdvLnRzOjE5OQoJLy8gYXNzZXJ0KHRoaXMuYXBwLmxvY2FsU3RhdGVFeGlzdHModGhpcy50eG4uc2VuZGVyLCAnZm9vJykpCgl0eG4gU2VuZGVyCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAwIC8vICAiZm9vIgoJYXBwX2xvY2FsX2dldF9leAoJc3dhcAoJcG9wCglhc3NlcnQKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg1YjAyYmE4NyAvLyBtZXRob2QgInByZWZpeCgpdm9pZCIKCXB1c2hieXRlcyAweDQ3ODI2MzA3IC8vIG1ldGhvZCAiZ2xvYmFsS2V5UHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDM4N2NkMmMgLy8gbWV0aG9kICJnbG9iYWxLZXlHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHgyZjc4ZGIwMyAvLyBtZXRob2QgImdsb2JhbEtleURlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGQ4MTgxYTlhIC8vIG1ldGhvZCAiZ2xvYmFsS2V5RXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZWNiMDY5OTggLy8gbWV0aG9kICJsb2NhbEtleVB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg1NmRhY2UxZCAvLyBtZXRob2QgImxvY2FsS2V5R2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc2OGM4YzY4IC8vIG1ldGhvZCAibG9jYWxLZXlEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwZWE2YmIgLy8gbWV0aG9kICJsb2NhbEtleUV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHhjZjQ4YWU0ZCAvLyBtZXRob2QgImJveEtleVB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGU5ZGFiNDkzIC8vIG1ldGhvZCAiYm94S2V5R2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4MDkwZmRmZDYgLy8gbWV0aG9kICJib3hLZXlEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg1ZmY5ZDBkZCAvLyBtZXRob2QgImJveEtleUV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweDE3YzgyMDZhIC8vIG1ldGhvZCAiZ2xvYmFsTWFwUHV0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4Y2Q4NjhiZjIgLy8gbWV0aG9kICJnbG9iYWxNYXBHZXQoKXZvaWQiCglwdXNoYnl0ZXMgMHhiNTVkZTIwYyAvLyBtZXRob2QgImdsb2JhbE1hcERlbGV0ZSgpdm9pZCIKCXB1c2hieXRlcyAweGM5N2Q4ZDI0IC8vIG1ldGhvZCAiZ2xvYmFsTWFwRXhpc3RzKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZmM4MzgwM2MgLy8gbWV0aG9kICJsb2NhbE1hcFB1dChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg5ODc1MzU1ZCAvLyBtZXRob2QgImxvY2FsTWFwR2V0KGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDc0MmE2ZTgzIC8vIG1ldGhvZCAibG9jYWxNYXBEZWxldGUoYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ODgyMzUyNjUgLy8gbWV0aG9kICJsb2NhbE1hcEV4aXN0cyhhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg4NGU1NjgxYyAvLyBtZXRob2QgImJveE1hcFB1dCgpdm9pZCIKCXB1c2hieXRlcyAweGFlM2NlN2VlIC8vIG1ldGhvZCAiYm94TWFwR2V0KCl2b2lkIgoJcHVzaGJ5dGVzIDB4YjllMGVkM2QgLy8gbWV0aG9kICJib3hNYXBEZWxldGUoKXZvaWQiCglwdXNoYnl0ZXMgMHg2NTJiZDVkNiAvLyBtZXRob2QgImJveE1hcEV4aXN0cygpdm9pZCIKCXB1c2hieXRlcyAweGQzNmVlMzE1IC8vIG1ldGhvZCAiYm94S2V5Q3JlYXRlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MTAyOWJkMDcgLy8gbWV0aG9kICJib3hNYXBDcmVhdGUoKXZvaWQiCglwdXNoYnl0ZXMgMHhhNzQ3YjYyZiAvLyBtZXRob2QgImJveEtleUxlbmd0aCgpdWludDY0IgoJcHVzaGJ5dGVzIDB4NWExZWVmYmUgLy8gbWV0aG9kICJib3hNYXBMZW5ndGgoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDEzMzdkZDYwIC8vIG1ldGhvZCAiYm94S2V5UmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDQyNGVmOTVhIC8vIG1ldGhvZCAiYm94TWFwUmVwbGFjZSgpdm9pZCIKCXB1c2hieXRlcyAweDg4YzFjMzA5IC8vIG1ldGhvZCAiYm94S2V5RXh0cmFjdCgpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NDM2MzU2NDMgLy8gbWV0aG9kICJib3hNYXBFeHRyYWN0KClzdHJpbmciCglwdXNoYnl0ZXMgMHhhYjQyNTU0ZSAvLyBtZXRob2QgImlzT3B0ZWRJbigpYm9vbCIKCXB1c2hieXRlcyAweDAxNjdiN2EyIC8vIG1ldGhvZCAiZXhHbG9iYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHhhYWQ1MTc1NSAvLyBtZXRob2QgImV4TG9jYWwoKXZvaWQiCglwdXNoYnl0ZXMgMHgxYjQxY2UyMiAvLyBtZXRob2QgImFjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCgpdWludDE2IgoJcHVzaGJ5dGVzIDB4ZjVkYTFhNTUgLy8gbWV0aG9kICJkeW5hbWljQWNjZXNzU3RhdGljVmFsdWVJbkxhcmdlQm94KHVpbnQ2NCl1aW50MTYiCglwdXNoYnl0ZXMgMHhiYzVjMThmZCAvLyBtZXRob2QgImJveFJlc2l6ZSgpdm9pZCIKCXB1c2hieXRlcyAweDI1YTkyMzI5IC8vIG1ldGhvZCAiYm94U3BsaWNlKCl2b2lkIgoJcHVzaGJ5dGVzIDB4NGVkODY5OWIgLy8gbWV0aG9kICJleFN0YXRlRXhpc3RzKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9wcmVmaXggKmFiaV9yb3V0ZV9nbG9iYWxLZXlQdXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlHZXQgKmFiaV9yb3V0ZV9nbG9iYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9nbG9iYWxLZXlFeGlzdHMgKmFiaV9yb3V0ZV9sb2NhbEtleVB1dCAqYWJpX3JvdXRlX2xvY2FsS2V5R2V0ICphYmlfcm91dGVfbG9jYWxLZXlEZWxldGUgKmFiaV9yb3V0ZV9sb2NhbEtleUV4aXN0cyAqYWJpX3JvdXRlX2JveEtleVB1dCAqYWJpX3JvdXRlX2JveEtleUdldCAqYWJpX3JvdXRlX2JveEtleURlbGV0ZSAqYWJpX3JvdXRlX2JveEtleUV4aXN0cyAqYWJpX3JvdXRlX2dsb2JhbE1hcFB1dCAqYWJpX3JvdXRlX2dsb2JhbE1hcEdldCAqYWJpX3JvdXRlX2dsb2JhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2dsb2JhbE1hcEV4aXN0cyAqYWJpX3JvdXRlX2xvY2FsTWFwUHV0ICphYmlfcm91dGVfbG9jYWxNYXBHZXQgKmFiaV9yb3V0ZV9sb2NhbE1hcERlbGV0ZSAqYWJpX3JvdXRlX2xvY2FsTWFwRXhpc3RzICphYmlfcm91dGVfYm94TWFwUHV0ICphYmlfcm91dGVfYm94TWFwR2V0ICphYmlfcm91dGVfYm94TWFwRGVsZXRlICphYmlfcm91dGVfYm94TWFwRXhpc3RzICphYmlfcm91dGVfYm94S2V5Q3JlYXRlICphYmlfcm91dGVfYm94TWFwQ3JlYXRlICphYmlfcm91dGVfYm94S2V5TGVuZ3RoICphYmlfcm91dGVfYm94TWFwTGVuZ3RoICphYmlfcm91dGVfYm94S2V5UmVwbGFjZSAqYWJpX3JvdXRlX2JveE1hcFJlcGxhY2UgKmFiaV9yb3V0ZV9ib3hLZXlFeHRyYWN0ICphYmlfcm91dGVfYm94TWFwRXh0cmFjdCAqYWJpX3JvdXRlX2lzT3B0ZWRJbiAqYWJpX3JvdXRlX2V4R2xvYmFsICphYmlfcm91dGVfZXhMb2NhbCAqYWJpX3JvdXRlX2FjY2Vzc1N0YXRpY1ZhbHVlSW5MYXJnZUJveCAqYWJpX3JvdXRlX2R5bmFtaWNBY2Nlc3NTdGF0aWNWYWx1ZUluTGFyZ2VCb3ggKmFiaV9yb3V0ZV9ib3hSZXNpemUgKmFiaV9yb3V0ZV9ib3hTcGxpY2UgKmFiaV9yb3V0ZV9leFN0YXRlRXhpc3RzCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { diff --git a/tests/contracts/artifacts/Templates.approval.teal b/tests/contracts/artifacts/Templates.approval.teal index 9c44debd4..c53671caa 100644 --- a/tests/contracts/artifacts/Templates.approval.teal +++ b/tests/contracts/artifacts/Templates.approval.teal @@ -2,17 +2,11 @@ intcblock 1 TMPL_uint64TmplVar bytecblock TMPL_bytesTmplVar TMPL_bytes64TmplVar TMPL_bytes32TmplVar -// This TEAL was generated by TEALScript v0.105.2 +// This TEAL was generated by TEALScript v0.105.3 // https://github.com/algorandfoundation/TEALScript // This contract is compliant with and/or implements the following ARCs: [ ARC4 ] -// The following lines of TEAL are used to initialize template variables in scratch slots -bytec 1 // TMPL_bytes64TmplVar -bytec 2 // TMPL_bytes32TmplVar -intc 1 // TMPL_uint64TmplVar -bytec 0 // TMPL_bytesTmplVar - // The following ten lines of TEAL handle initial program flow // This pattern is used to make it easy for anyone to parse the start of the program and determine if a specific action is allowed // Here, action refers to the OnComplete in combination with whether the app is being created or called diff --git a/tests/contracts/artifacts/Templates.arc32.json b/tests/contracts/artifacts/Templates.arc32.json index 90055b8aa..32b7bc4cb 100644 --- a/tests/contracts/artifacts/Templates.arc32.json +++ b/tests/contracts/artifacts/Templates.arc32.json @@ -54,7 +54,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfdWludDY0VG1wbFZhcgpieXRlY2Jsb2NrIFRNUExfYnl0ZXNUbXBsVmFyIFRNUExfYnl0ZXM2NFRtcGxWYXIgVE1QTF9ieXRlczMyVG1wbFZhcgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyBsaW5lcyBvZiBURUFMIGFyZSB1c2VkIHRvIGluaXRpYWxpemUgdGVtcGxhdGUgdmFyaWFibGVzIGluIHNjcmF0Y2ggc2xvdHMKYnl0ZWMgMSAvLyBUTVBMX2J5dGVzNjRUbXBsVmFyCmJ5dGVjIDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgppbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCmJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0bXBsKCl2b2lkCiphYmlfcm91dGVfdG1wbDoKCS8vIGV4ZWN1dGUgdG1wbCgpdm9pZAoJY2FsbHN1YiB0bXBsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0bXBsKCk6IHZvaWQKdG1wbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQKCS8vIGxvZyh0aGlzLmJ5dGVzVG1wbFZhcikKCWJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUKCS8vIGFzc2VydCh0aGlzLnVpbnQ2NFRtcGxWYXIpCglpbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCglhc3NlcnQKCXJldHN1YgoKLy8gc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpdm9pZAoqYWJpX3JvdXRlX3NwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXI6CgkvLyBleGVjdXRlIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKCWNhbGxzdWIgc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpOiB2b2lkCnNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5CgkvLyBlZDI1NTE5VmVyaWZ5QmFyZSh0aGlzLmJ5dGVzVG1wbFZhciwgdGhpcy5ieXRlczY0VG1wbFZhciwgdGhpcy5ieXRlczMyVG1wbFZhcikKCWJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCWJ5dGVjIDEgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJYnl0ZWMgMiAvLyBUTVBMX2J5dGVzMzJUbXBsVmFyCgllZDI1NTE5dmVyaWZ5X2JhcmUKCXJldHN1YgoKLy8gdGhyb3dFcnJvcigpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3I6CgkvLyBleGVjdXRlIHRocm93RXJyb3IoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvcigpOiB2b2lkCnRocm93RXJyb3I6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gaXRvYlRlbXBsYXRlVmFyKClieXRlW10KKmFiaV9yb3V0ZV9pdG9iVGVtcGxhdGVWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXQoJY2FsbHN1YiBpdG9iVGVtcGxhdGVWYXIKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaXRvYlRlbXBsYXRlVmFyKCk6IGJ5dGVzCml0b2JUZW1wbGF0ZVZhcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDcKCS8vIHJldHVybiBpdG9iKHRoaXMudWludDY0VG1wbFZhcik7CglpbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWE3MWQyYjQgLy8gbWV0aG9kICJ0bXBsKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY0ZDVjM2IgLy8gbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2Q4NzBkODcgLy8gbWV0aG9kICJ0aHJvd0Vycm9yKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwYjE3MDYgLy8gbWV0aG9kICJpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdG1wbCAqYWJpX3JvdXRlX3NwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIgKmFiaV9yb3V0ZV90aHJvd0Vycm9yICphYmlfcm91dGVfaXRvYlRlbXBsYXRlVmFyCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfdWludDY0VG1wbFZhcgpieXRlY2Jsb2NrIFRNUExfYnl0ZXNUbXBsVmFyIFRNUExfYnl0ZXM2NFRtcGxWYXIgVE1QTF9ieXRlczMyVG1wbFZhcgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHRtcGwoKXZvaWQKKmFiaV9yb3V0ZV90bXBsOgoJLy8gZXhlY3V0ZSB0bXBsKCl2b2lkCgljYWxsc3ViIHRtcGwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRtcGwoKTogdm9pZAp0bXBsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNAoJLy8gbG9nKHRoaXMuYnl0ZXNUbXBsVmFyKQoJYnl0ZWMgMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWludGMgMSAvLyBUTVBMX3VpbnQ2NFRtcGxWYXIKCWFzc2VydAoJcmV0c3ViCgovLyBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCiphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcjoKCS8vIGV4ZWN1dGUgc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpdm9pZAoJY2FsbHN1YiBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCk6IHZvaWQKc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkKCS8vIGVkMjU1MTlWZXJpZnlCYXJlKHRoaXMuYnl0ZXNUbXBsVmFyLCB0aGlzLmJ5dGVzNjRUbXBsVmFyLCB0aGlzLmJ5dGVzMzJUbXBsVmFyKQoJYnl0ZWMgMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJYnl0ZWMgMSAvLyBUTVBMX2J5dGVzNjRUbXBsVmFyCglieXRlYyAyIC8vIFRNUExfYnl0ZXMzMlRtcGxWYXIKCWVkMjU1MTl2ZXJpZnlfYmFyZQoJcmV0c3ViCgovLyB0aHJvd0Vycm9yKCl2b2lkCiphYmlfcm91dGVfdGhyb3dFcnJvcjoKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvcigpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0aHJvd0Vycm9yKCk6IHZvaWQKdGhyb3dFcnJvcjoKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXQoqYWJpX3JvdXRlX2l0b2JUZW1wbGF0ZVZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGl0b2JUZW1wbGF0ZVZhcigpYnl0ZVtdCgljYWxsc3ViIGl0b2JUZW1wbGF0ZVZhcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpdG9iVGVtcGxhdGVWYXIoKTogYnl0ZXMKaXRvYlRlbXBsYXRlVmFyOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NwoJLy8gcmV0dXJuIGl0b2IodGhpcy51aW50NjRUbXBsVmFyKTsKCWludGMgMSAvLyBUTVBMX3VpbnQ2NFRtcGxWYXIKCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg5YTcxZDJiNCAvLyBtZXRob2QgInRtcGwoKXZvaWQiCglwdXNoYnl0ZXMgMHhkZjRkNWMzYiAvLyBtZXRob2QgInNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQiCglwdXNoYnl0ZXMgMHgzZDg3MGQ4NyAvLyBtZXRob2QgInRocm93RXJyb3IoKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzBiMTcwNiAvLyBtZXRob2QgIml0b2JUZW1wbGF0ZVZhcigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhciAqYWJpX3JvdXRlX3Rocm93RXJyb3IgKmFiaV9yb3V0ZV9pdG9iVGVtcGxhdGVWYXIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "contract": { diff --git a/tests/contracts/artifacts/Templates.arc56_draft.json b/tests/contracts/artifacts/Templates.arc56_draft.json index 7741b7ded..9e35672b2 100644 --- a/tests/contracts/artifacts/Templates.arc56_draft.json +++ b/tests/contracts/artifacts/Templates.arc56_draft.json @@ -103,82 +103,58 @@ "approval": { "sourceInfo": [ { - "teal": 11, - "source": "tests/contracts/general.algo.ts:24", - "pc": [ - 1 - ] - }, - { - "teal": 12, + "teal": 15, "source": "tests/contracts/general.algo.ts:24", "pc": [ + 1, 2 ] }, { - "teal": 13, + "teal": 16, "source": "tests/contracts/general.algo.ts:24", "pc": [ 3 ] }, { - "teal": 14, + "teal": 17, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 4 + 4, + 5 ] }, { - "teal": 21, + "teal": 18, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 5, 6 ] }, { - "teal": 22, + "teal": 19, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 7 + 7, + 8 ] }, { - "teal": 23, + "teal": 20, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 8, 9 ] }, { - "teal": 24, - "source": "tests/contracts/general.algo.ts:24", - "pc": [ - 10 - ] - }, - { - "teal": 25, + "teal": 21, "source": "tests/contracts/general.algo.ts:24", "pc": [ + 10, 11, - 12 - ] - }, - { - "teal": 26, - "source": "tests/contracts/general.algo.ts:24", - "pc": [ - 13 - ] - }, - { - "teal": 27, - "source": "tests/contracts/general.algo.ts:24", - "pc": [ + 12, + 13, 14, 15, 16, @@ -200,457 +176,453 @@ 32, 33, 34, - 35, - 36, - 37, - 38, - 39 + 35 ] }, { - "teal": 31, + "teal": 25, "source": "tests/contracts/general.algo.ts:24", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ - 40 + 36 ] }, { - "teal": 36, + "teal": 30, "source": "tests/contracts/general.algo.ts:33", "pc": [ - 41, - 42, - 43 + 37, + 38, + 39 ] }, { - "teal": 37, + "teal": 31, "source": "tests/contracts/general.algo.ts:33", "pc": [ - 44 + 40 ] }, { - "teal": 38, + "teal": 32, "source": "tests/contracts/general.algo.ts:33", "pc": [ - 45 + 41 ] }, { - "teal": 42, + "teal": 36, "source": "tests/contracts/general.algo.ts:33", "pc": [ - 46, - 47, - 48 + 42, + 43, + 44 ] }, { - "teal": 46, + "teal": 40, "source": "tests/contracts/general.algo.ts:34", "pc": [ - 49 + 45 ] }, { - "teal": 47, + "teal": 41, "source": "tests/contracts/general.algo.ts:34", "pc": [ - 50 + 46 ] }, { - "teal": 51, + "teal": 45, "source": "tests/contracts/general.algo.ts:35", "pc": [ - 51 + 47 ] }, { - "teal": 52, + "teal": 46, "source": "tests/contracts/general.algo.ts:35", "pc": [ - 52 + 48 ] }, { - "teal": 53, + "teal": 47, "source": "tests/contracts/general.algo.ts:33", "pc": [ - 53 + 49 ] }, { - "teal": 58, + "teal": 52, "source": "tests/contracts/general.algo.ts:38", "pc": [ - 54, - 55, - 56 + 50, + 51, + 52 ] }, { - "teal": 59, + "teal": 53, "source": "tests/contracts/general.algo.ts:38", "pc": [ - 57 + 53 ] }, { - "teal": 60, + "teal": 54, "source": "tests/contracts/general.algo.ts:38", "pc": [ - 58 + 54 ] }, { - "teal": 64, + "teal": 58, "source": "tests/contracts/general.algo.ts:38", "pc": [ - 59, - 60, - 61 + 55, + 56, + 57 ] }, { - "teal": 68, + "teal": 62, "source": "tests/contracts/general.algo.ts:39", "pc": [ - 62 + 58 ] }, { - "teal": 69, + "teal": 63, "source": "tests/contracts/general.algo.ts:39", "pc": [ - 63 + 59 ] }, { - "teal": 70, + "teal": 64, "source": "tests/contracts/general.algo.ts:39", "pc": [ - 64 + 60 ] }, { - "teal": 71, + "teal": 65, "source": "tests/contracts/general.algo.ts:39", "pc": [ - 65 + 61 ] }, { - "teal": 72, + "teal": 66, "source": "tests/contracts/general.algo.ts:38", "pc": [ - 66 + 62 ] }, { - "teal": 77, + "teal": 71, "source": "tests/contracts/general.algo.ts:42", "pc": [ - 67, - 68, - 69 + 63, + 64, + 65 ] }, { - "teal": 78, + "teal": 72, "source": "tests/contracts/general.algo.ts:42", "pc": [ - 70 + 66 ] }, { - "teal": 79, + "teal": 73, "source": "tests/contracts/general.algo.ts:42", "pc": [ - 71 + 67 ] }, { - "teal": 83, + "teal": 77, "source": "tests/contracts/general.algo.ts:42", "pc": [ - 72, - 73, - 74 + 68, + 69, + 70 ] }, { - "teal": 86, + "teal": 80, "source": "tests/contracts/general.algo.ts:43", "errorMessage": "this is an error", "pc": [ - 75 + 71 ] }, { - "teal": 87, + "teal": 81, "source": "tests/contracts/general.algo.ts:42", "pc": [ - 76 + 72 ] }, { - "teal": 92, + "teal": 86, "source": "tests/contracts/general.algo.ts:46", "pc": [ + 73, + 74, + 75, + 76, 77, - 78, - 79, - 80, - 81, - 82 + 78 ] }, { - "teal": 95, + "teal": 89, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 83, - 84, - 85 + 79, + 80, + 81 ] }, { - "teal": 96, + "teal": 90, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 86 + 82 ] }, { - "teal": 97, + "teal": 91, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 87 + 83 ] }, { - "teal": 98, + "teal": 92, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 88 + 84 ] }, { - "teal": 99, + "teal": 93, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 89, - 90, - 91 + 85, + 86, + 87 ] }, { - "teal": 100, + "teal": 94, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 92 + 88 ] }, { - "teal": 101, + "teal": 95, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 93 + 89 ] }, { - "teal": 102, + "teal": 96, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 94 + 90 ] }, { - "teal": 103, + "teal": 97, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 95 + 91 ] }, { - "teal": 104, + "teal": 98, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 96 + 92 ] }, { - "teal": 105, + "teal": 99, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 97 + 93 ] }, { - "teal": 109, + "teal": 103, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 98, - 99, - 100 + 94, + 95, + 96 ] }, { - "teal": 113, + "teal": 107, "source": "tests/contracts/general.algo.ts:47", "pc": [ - 101 + 97 ] }, { - "teal": 114, + "teal": 108, "source": "tests/contracts/general.algo.ts:47", "pc": [ - 102 + 98 ] }, { - "teal": 115, + "teal": 109, "source": "tests/contracts/general.algo.ts:46", "pc": [ - 103 + 99 ] }, { - "teal": 118, + "teal": 112, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 104 + 100 ] }, { - "teal": 119, + "teal": 113, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 105 + 101 ] }, { - "teal": 122, + "teal": 116, "source": "tests/contracts/general.algo.ts:24", "pc": [ + 102, + 103, + 104, + 105, 106, - 107, + 107 + ] + }, + { + "teal": 117, + "source": "tests/contracts/general.algo.ts:24", + "pc": [ 108, 109, - 110, - 111 + 110 ] }, { - "teal": 123, + "teal": 118, "source": "tests/contracts/general.algo.ts:24", "pc": [ + 111, 112, 113, 114 ] }, { - "teal": 124, + "teal": 121, "source": "tests/contracts/general.algo.ts:24", + "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 115, - 116, - 117, - 118 + 115 ] }, { - "teal": 127, + "teal": 124, "source": "tests/contracts/general.algo.ts:24", - "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ - 119 + 116, + 117, + 118, + 119, + 120, + 121 ] }, { - "teal": 130, + "teal": 125, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 120, - 121, 122, 123, 124, - 125 + 125, + 126, + 127 ] }, { - "teal": 131, + "teal": 126, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 126, - 127, 128, 129, 130, - 131 + 131, + 132, + 133 ] }, { - "teal": 132, + "teal": 127, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 132, - 133, 134, 135, 136, - 137 + 137, + 138, + 139 ] }, { - "teal": 133, + "teal": 128, "source": "tests/contracts/general.algo.ts:24", "pc": [ - 138, - 139, 140, 141, - 142, - 143 + 142 ] }, { - "teal": 134, + "teal": 129, "source": "tests/contracts/general.algo.ts:24", "pc": [ + 143, 144, 145, - 146 - ] - }, - { - "teal": 135, - "source": "tests/contracts/general.algo.ts:24", - "pc": [ + 146, 147, 148, 149, 150, 151, - 152, - 153, - 154, - 155, - 156 + 152 ] }, { - "teal": 138, + "teal": 132, "source": "tests/contracts/general.algo.ts:24", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ - 157 + 153 ] } ], @@ -662,7 +634,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfdWludDY0VG1wbFZhcgpieXRlY2Jsb2NrIFRNUExfYnl0ZXNUbXBsVmFyIFRNUExfYnl0ZXM2NFRtcGxWYXIgVE1QTF9ieXRlczMyVG1wbFZhcgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMgovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyBsaW5lcyBvZiBURUFMIGFyZSB1c2VkIHRvIGluaXRpYWxpemUgdGVtcGxhdGUgdmFyaWFibGVzIGluIHNjcmF0Y2ggc2xvdHMKYnl0ZWMgMSAvLyBUTVBMX2J5dGVzNjRUbXBsVmFyCmJ5dGVjIDIgLy8gVE1QTF9ieXRlczMyVG1wbFZhcgppbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCmJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyB0bXBsKCl2b2lkCiphYmlfcm91dGVfdG1wbDoKCS8vIGV4ZWN1dGUgdG1wbCgpdm9pZAoJY2FsbHN1YiB0bXBsCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0bXBsKCk6IHZvaWQKdG1wbDoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzQKCS8vIGxvZyh0aGlzLmJ5dGVzVG1wbFZhcikKCWJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCWxvZwoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzUKCS8vIGFzc2VydCh0aGlzLnVpbnQ2NFRtcGxWYXIpCglpbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCglhc3NlcnQKCXJldHN1YgoKLy8gc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpdm9pZAoqYWJpX3JvdXRlX3NwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXI6CgkvLyBleGVjdXRlIHNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQKCWNhbGxzdWIgc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpOiB2b2lkCnNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXI6Cglwcm90byAwIDAKCgkvLyB0ZXN0cy9jb250cmFjdHMvZ2VuZXJhbC5hbGdvLnRzOjM5CgkvLyBlZDI1NTE5VmVyaWZ5QmFyZSh0aGlzLmJ5dGVzVG1wbFZhciwgdGhpcy5ieXRlczY0VG1wbFZhciwgdGhpcy5ieXRlczMyVG1wbFZhcikKCWJ5dGVjIDAgLy8gVE1QTF9ieXRlc1RtcGxWYXIKCWJ5dGVjIDEgLy8gVE1QTF9ieXRlczY0VG1wbFZhcgoJYnl0ZWMgMiAvLyBUTVBMX2J5dGVzMzJUbXBsVmFyCgllZDI1NTE5dmVyaWZ5X2JhcmUKCXJldHN1YgoKLy8gdGhyb3dFcnJvcigpdm9pZAoqYWJpX3JvdXRlX3Rocm93RXJyb3I6CgkvLyBleGVjdXRlIHRocm93RXJyb3IoKXZvaWQKCWNhbGxzdWIgdGhyb3dFcnJvcgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gdGhyb3dFcnJvcigpOiB2b2lkCnRocm93RXJyb3I6Cglwcm90byAwIDAKCgkvLyB0aGlzIGlzIGFuIGVycm9yCgllcnIKCXJldHN1YgoKLy8gaXRvYlRlbXBsYXRlVmFyKClieXRlW10KKmFiaV9yb3V0ZV9pdG9iVGVtcGxhdGVWYXI6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCXB1c2hieXRlcyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXQoJY2FsbHN1YiBpdG9iVGVtcGxhdGVWYXIKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0Cgljb25jYXQKCWxvZwoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gaXRvYlRlbXBsYXRlVmFyKCk6IGJ5dGVzCml0b2JUZW1wbGF0ZVZhcjoKCXByb3RvIDAgMQoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6NDcKCS8vIHJldHVybiBpdG9iKHRoaXMudWludDY0VG1wbFZhcik7CglpbnRjIDEgLy8gVE1QTF91aW50NjRUbXBsVmFyCglpdG9iCglyZXRzdWIKCiphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb246CglpbnRjIDAgLy8gMQoJcmV0dXJuCgoqY3JlYXRlX05vT3A6CglwdXNoYnl0ZXMgMHhiODQ0N2IzNiAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjcmVhdGUgTm9PcAoJZXJyCgoqY2FsbF9Ob09wOgoJcHVzaGJ5dGVzIDB4OWE3MWQyYjQgLy8gbWV0aG9kICJ0bXBsKCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZGY0ZDVjM2IgLy8gbWV0aG9kICJzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkIgoJcHVzaGJ5dGVzIDB4M2Q4NzBkODcgLy8gbWV0aG9kICJ0aHJvd0Vycm9yKCl2b2lkIgoJcHVzaGJ5dGVzIDB4YmMwYjE3MDYgLy8gbWV0aG9kICJpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXSIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfdG1wbCAqYWJpX3JvdXRlX3NwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIgKmFiaV9yb3V0ZV90aHJvd0Vycm9yICphYmlfcm91dGVfaXRvYlRlbXBsYXRlVmFyCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNhbGwgTm9PcAoJZXJy", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIFRNUExfdWludDY0VG1wbFZhcgpieXRlY2Jsb2NrIFRNUExfYnl0ZXNUbXBsVmFyIFRNUExfYnl0ZXM2NFRtcGxWYXIgVE1QTF9ieXRlczMyVG1wbFZhcgoKLy8gVGhpcyBURUFMIHdhcyBnZW5lcmF0ZWQgYnkgVEVBTFNjcmlwdCB2MC4xMDUuMwovLyBodHRwczovL2dpdGh1Yi5jb20vYWxnb3JhbmRmb3VuZGF0aW9uL1RFQUxTY3JpcHQKCi8vIFRoaXMgY29udHJhY3QgaXMgY29tcGxpYW50IHdpdGggYW5kL29yIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBBUkNzOiBbIEFSQzQgXQoKLy8gVGhlIGZvbGxvd2luZyB0ZW4gbGluZXMgb2YgVEVBTCBoYW5kbGUgaW5pdGlhbCBwcm9ncmFtIGZsb3cKLy8gVGhpcyBwYXR0ZXJuIGlzIHVzZWQgdG8gbWFrZSBpdCBlYXN5IGZvciBhbnlvbmUgdG8gcGFyc2UgdGhlIHN0YXJ0IG9mIHRoZSBwcm9ncmFtIGFuZCBkZXRlcm1pbmUgaWYgYSBzcGVjaWZpYyBhY3Rpb24gaXMgYWxsb3dlZAovLyBIZXJlLCBhY3Rpb24gcmVmZXJzIHRvIHRoZSBPbkNvbXBsZXRlIGluIGNvbWJpbmF0aW9uIHdpdGggd2hldGhlciB0aGUgYXBwIGlzIGJlaW5nIGNyZWF0ZWQgb3IgY2FsbGVkCi8vIEV2ZXJ5IHBvc3NpYmxlIGFjdGlvbiBmb3IgdGhpcyBjb250cmFjdCBpcyByZXByZXNlbnRlZCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudAovLyBJZiB0aGUgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgY29udHJhY3QsIGl0cyByZXNwZWN0aXZlIGJyYW5jaCB3aWxsIGJlICIqTk9UX0lNUExFTUVOVEVEIiB3aGljaCBqdXN0IGNvbnRhaW5zICJlcnIiCnR4biBBcHBsaWNhdGlvbklECiEKcHVzaGludCA2CioKdHhuIE9uQ29tcGxldGlvbgorCnN3aXRjaCAqY2FsbF9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY3JlYXRlX05vT3AgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVECgoqTk9UX0lNUExFTUVOVEVEOgoJLy8gVGhlIHJlcXVlc3RlZCBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoaXMgY29udHJhY3QuIEFyZSB5b3UgdXNpbmcgdGhlIGNvcnJlY3QgT25Db21wbGV0ZT8gRGlkIHlvdSBzZXQgeW91ciBhcHAgSUQ/CgllcnIKCi8vIHRtcGwoKXZvaWQKKmFiaV9yb3V0ZV90bXBsOgoJLy8gZXhlY3V0ZSB0bXBsKCl2b2lkCgljYWxsc3ViIHRtcGwKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRtcGwoKTogdm9pZAp0bXBsOgoJcHJvdG8gMCAwCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNAoJLy8gbG9nKHRoaXMuYnl0ZXNUbXBsVmFyKQoJYnl0ZWMgMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJbG9nCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czozNQoJLy8gYXNzZXJ0KHRoaXMudWludDY0VG1wbFZhcikKCWludGMgMSAvLyBUTVBMX3VpbnQ2NFRtcGxWYXIKCWFzc2VydAoJcmV0c3ViCgovLyBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCl2b2lkCiphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcjoKCS8vIGV4ZWN1dGUgc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcigpdm9pZAoJY2FsbHN1YiBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBzcGVjaWZpY0xlbmd0aFRlbXBsYXRlVmFyKCk6IHZvaWQKc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhcjoKCXByb3RvIDAgMAoKCS8vIHRlc3RzL2NvbnRyYWN0cy9nZW5lcmFsLmFsZ28udHM6MzkKCS8vIGVkMjU1MTlWZXJpZnlCYXJlKHRoaXMuYnl0ZXNUbXBsVmFyLCB0aGlzLmJ5dGVzNjRUbXBsVmFyLCB0aGlzLmJ5dGVzMzJUbXBsVmFyKQoJYnl0ZWMgMCAvLyBUTVBMX2J5dGVzVG1wbFZhcgoJYnl0ZWMgMSAvLyBUTVBMX2J5dGVzNjRUbXBsVmFyCglieXRlYyAyIC8vIFRNUExfYnl0ZXMzMlRtcGxWYXIKCWVkMjU1MTl2ZXJpZnlfYmFyZQoJcmV0c3ViCgovLyB0aHJvd0Vycm9yKCl2b2lkCiphYmlfcm91dGVfdGhyb3dFcnJvcjoKCS8vIGV4ZWN1dGUgdGhyb3dFcnJvcigpdm9pZAoJY2FsbHN1YiB0aHJvd0Vycm9yCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyB0aHJvd0Vycm9yKCk6IHZvaWQKdGhyb3dFcnJvcjoKCXByb3RvIDAgMAoKCS8vIHRoaXMgaXMgYW4gZXJyb3IKCWVycgoJcmV0c3ViCgovLyBpdG9iVGVtcGxhdGVWYXIoKWJ5dGVbXQoqYWJpX3JvdXRlX2l0b2JUZW1wbGF0ZVZhcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGl0b2JUZW1wbGF0ZVZhcigpYnl0ZVtdCgljYWxsc3ViIGl0b2JUZW1wbGF0ZVZhcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBpdG9iVGVtcGxhdGVWYXIoKTogYnl0ZXMKaXRvYlRlbXBsYXRlVmFyOgoJcHJvdG8gMCAxCgoJLy8gdGVzdHMvY29udHJhY3RzL2dlbmVyYWwuYWxnby50czo0NwoJLy8gcmV0dXJuIGl0b2IodGhpcy51aW50NjRUbXBsVmFyKTsKCWludGMgMSAvLyBUTVBMX3VpbnQ2NFRtcGxWYXIKCWl0b2IKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMCAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHg5YTcxZDJiNCAvLyBtZXRob2QgInRtcGwoKXZvaWQiCglwdXNoYnl0ZXMgMHhkZjRkNWMzYiAvLyBtZXRob2QgInNwZWNpZmljTGVuZ3RoVGVtcGxhdGVWYXIoKXZvaWQiCglwdXNoYnl0ZXMgMHgzZDg3MGQ4NyAvLyBtZXRob2QgInRocm93RXJyb3IoKXZvaWQiCglwdXNoYnl0ZXMgMHhiYzBiMTcwNiAvLyBtZXRob2QgIml0b2JUZW1wbGF0ZVZhcigpYnl0ZVtdIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV90bXBsICphYmlfcm91dGVfc3BlY2lmaWNMZW5ndGhUZW1wbGF0ZVZhciAqYWJpX3JvdXRlX3Rocm93RXJyb3IgKmFiaV9yb3V0ZV9pdG9iVGVtcGxhdGVWYXIKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": {